Discussion:
[Openexr-devel] CMAKE_CXX_STANDARD
Larry Gritz
2018-07-13 18:47:02 UTC
Permalink
Is anybody troubled by the fact that the OpenEXR CMakeLists.txt starts with

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

but then makes use of CMAKE_CXX_STANDARD, which was only introduced with CMake 3.1?

So I think that if anybody actually uses CMake < 3.1, it will just silently fail to provide the right -std=c++XX flags.


--
Larry Gritz
***@larrygritz.com
Nick Porcino
2018-07-13 22:50:59 UTC
Permalink
The develop branch of OpenEXR uses CMake 3 features. So that line is an error.

I hadn't thought about it, but it's troubling* to think that we might have to preserve compatibility with CMake 2.x

* troubling == sobbing in terror in the corner as the shambling revenant shadow of CMake 2 groans and lurches forward belching broken features and ad hoc syntax


________________________________
From: Openexr-devel <openexr-devel-bounces+meshula=***@nongnu.org> on behalf of Larry Gritz <***@larrygritz.com>
Sent: Friday, July 13, 2018 11:47 AM
To: openexr-***@nongnu.org
Subject: [Openexr-devel] CMAKE_CXX_STANDARD

Is anybody troubled by the fact that the OpenEXR CMakeLists.txt starts with

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

but then makes use of CMAKE_CXX_STANDARD, which was only introduced with CMake 3.1?

So I think that if anybody actually uses CMake < 3.1, it will just silently fail to provide the right -std=c++XX flags.


--
Larry Gritz
***@larrygritz.com
Larry Gritz
2018-07-13 23:11:13 UTC
Permalink
I don't see why we would have to preserve 2.x compatibility. USD seems to need CMake 3.1 on Windows. OpenVDB needs 3.1. OIIO and OSL both require 3.2. Partio requires 3.8! So lack of support for 2.x would be in good company with other widely used packages.

A few people have commented on the VFX Platform forum that it should include a minimum cmake release, so that package maintainers can count on some reasonable minimum.



> On Jul 13, 2018, at 3:50 PM, Nick Porcino <***@hotmail.com> wrote:
>
> The develop branch of OpenEXR uses CMake 3 features. So that line is an error.
>
> I hadn't thought about it, but it's troubling* to think that we might have to preserve compatibility with CMake 2.x
>
> * troubling == sobbing in terror in the corner as the shambling revenant shadow of CMake 2 groans and lurches forward belching broken features and ad hoc syntax
>
>
> From: Openexr-devel <openexr-devel-bounces+meshula=***@nongnu.org <mailto:openexr-devel-bounces+meshula=***@nongnu.org>> on behalf of Larry Gritz <***@larrygritz.com <mailto:***@larrygritz.com>>
> Sent: Friday, July 13, 2018 11:47 AM
> To: openexr-***@nongnu.org <mailto:openexr-***@nongnu.org>
> Subject: [Openexr-devel] CMAKE_CXX_STANDARD
>
> Is anybody troubled by the fact that the OpenEXR CMakeLists.txt starts with
>
> CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
>
> but then makes use of CMAKE_CXX_STANDARD, which was only introduced with CMake 3.1?
>
> So I think that if anybody actually uses CMake < 3.1, it will just silently fail to provide the right -std=c++XX flags.
>
>
> --
> Larry Gritz
> ***@larrygritz.com <mailto:***@larrygritz.com>
>
>
>
>
>
> _______________________________________________
> Openexr-devel mailing list
> Openexr-***@nongnu.org <mailto:Openexr-***@nongnu.org>
> https://lists.nongnu.org/mailman/listinfo/openexr-devel <https://lists.nongnu.org/mailman/listinfo/openexr-devel>
--
Larry Gritz
***@larrygritz.com
Nick Porcino
2018-07-13 23:30:58 UTC
Permalink
To be honest, it's the Linux distros that also ship openexr that had me cringing.

Debian wheezy (2.8)
Debian stretch (3.7.2) * stable
Debian buster (3.11.2)
Ubuntu trusty (2.8)
Ubuntu xenial (3.5.1) * stable
Ubuntu cosmic (3.11.2)
Suse tumbleweed (3.11.2) * stable

Any other distros to check?

I can't see any reason not to leap ahead to 3.11, because (1) versions less than 3.11 are very broken on Windows with regards to the combination of recent visual studios and boost and (2) a new OpenEXR on a Linux will ship with a distro containing at least 3.11.

Make sense?


________________________________
From: Larry Gritz <***@larrygritz.com>
Sent: Friday, July 13, 2018 4:11 PM
To: Nick Porcino
Cc: openexr-***@nongnu.org
Subject: Re: [Openexr-devel] CMAKE_CXX_STANDARD

I don't see why we would have to preserve 2.x compatibility. USD seems to need CMake 3.1 on Windows. OpenVDB needs 3.1. OIIO and OSL both require 3.2. Partio requires 3.8! So lack of support for 2.x would be in good company with other widely used packages.

A few people have commented on the VFX Platform forum that it should include a minimum cmake release, so that package maintainers can count on some reasonable minimum.



On Jul 13, 2018, at 3:50 PM, Nick Porcino <***@hotmail.com<mailto:***@hotmail.com>> wrote:

The develop branch of OpenEXR uses CMake 3 features. So that line is an error.

I hadn't thought about it, but it's troubling* to think that we might have to preserve compatibility with CMake 2.x

* troubling == sobbing in terror in the corner as the shambling revenant shadow of CMake 2 groans and lurches forward belching broken features and ad hoc syntax


________________________________
From: Openexr-devel <openexr-devel-bounces+meshula=***@nongnu.org<mailto:openexr-devel-bounces+meshula=***@nongnu.org>> on behalf of Larry Gritz <***@larrygritz.com<mailto:***@larrygritz.com>>
Sent: Friday, July 13, 2018 11:47 AM
To: openexr-***@nongnu.org<mailto:openexr-***@nongnu.org>
Subject: [Openexr-devel] CMAKE_CXX_STANDARD

Is anybody troubled by the fact that the OpenEXR CMakeLists.txt starts with

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

but then makes use of CMAKE_CXX_STANDARD, which was only introduced with CMake 3.1?

So I think that if anybody actually uses CMake < 3.1, it will just silently fail to provide the right -std=c++XX flags.


--
Larry Gritz
***@larrygritz.com<mailto:***@larrygritz.com>





_______________________________________________
Openexr-devel mailing list
Openexr-***@nongnu.org<mailto:Openexr-***@nongnu.org>
https://lists.nongnu.org/mailman/listinfo/openexr-devel

--
Larry Gritz
***@larrygritz.com<mailto:***@larrygritz.com>
Larry Gritz
2018-07-13 23:46:50 UTC
Permalink
Certainly makes sense to me. My personal preference for VFXPlatform is to be somewhat conservative about how often you upgrade a heavyweight package, but when you finally do (or introduce a package for the first time, as with cmake), to be as aggressive as possible about getting to the most recent stable version.

How do you know all those versions off the top of your head? Is there a site that will tell you the version of a particular package on all the major distros? (That would sure be handy.)



> On Jul 13, 2018, at 4:30 PM, Nick Porcino <***@hotmail.com> wrote:
>
> To be honest, it's the Linux distros that also ship openexr that had me cringing.
>
> Debian wheezy (2.8)
> Debian stretch (3.7.2) * stable
> Debian buster (3.11.2)
> Ubuntu trusty (2.8)
> Ubuntu xenial (3.5.1) * stable
> Ubuntu cosmic (3.11.2)
> Suse tumbleweed (3.11.2) * stable
>
> Any other distros to check?
>
> I can't see any reason not to leap ahead to 3.11, because (1) versions less than 3.11 are very broken on Windows with regards to the combination of recent visual studios and boost and (2) a new OpenEXR on a Linux will ship with a distro containing at least 3.11.
>
> Make sense?
>
>
> From: Larry Gritz <***@larrygritz.com <mailto:***@larrygritz.com>>
> Sent: Friday, July 13, 2018 4:11 PM
> To: Nick Porcino
> Cc: openexr-***@nongnu.org <mailto:openexr-***@nongnu.org>
> Subject: Re: [Openexr-devel] CMAKE_CXX_STANDARD
>
> I don't see why we would have to preserve 2.x compatibility. USD seems to need CMake 3.1 on Windows. OpenVDB needs 3.1. OIIO and OSL both require 3.2. Partio requires 3.8! So lack of support for 2.x would be in good company with other widely used packages.
>
> A few people have commented on the VFX Platform forum that it should include a minimum cmake release, so that package maintainers can count on some reasonable minimum.
>
>
>
>> On Jul 13, 2018, at 3:50 PM, Nick Porcino <***@hotmail.com <mailto:***@hotmail.com>> wrote:
>>
>> The develop branch of OpenEXR uses CMake 3 features. So that line is an error.
>>
>> I hadn't thought about it, but it's troubling* to think that we might have to preserve compatibility with CMake 2.x
>>
>> * troubling == sobbing in terror in the corner as the shambling revenant shadow of CMake 2 groans and lurches forward belching broken features and ad hoc syntax
>>
>>
>>
>> From: Openexr-devel <openexr-devel-bounces+meshula=***@nongnu.org <mailto:openexr-devel-bounces+meshula=***@nongnu.org>> on behalf of Larry Gritz <***@larrygritz.com <mailto:***@larrygritz.com>>
>> Sent: Friday, July 13, 2018 11:47 AM
>> To: openexr-***@nongnu.org <mailto:openexr-***@nongnu.org>
>> Subject: [Openexr-devel] CMAKE_CXX_STANDARD
>>
>> Is anybody troubled by the fact that the OpenEXR CMakeLists.txt starts with
>>
>> CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
>>
>> but then makes use of CMAKE_CXX_STANDARD, which was only introduced with CMake 3.1?
>>
>> So I think that if anybody actually uses CMake < 3.1, it will just silently fail to provide the right -std=c++XX flags.
>>
>>
>> --
>> Larry Gritz
>> ***@larrygritz.com <mailto:***@larrygritz.com>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Openexr-devel mailing list
>> Openexr-***@nongnu.org <mailto:Openexr-***@nongnu.org>
>> https://lists.nongnu.org/mailman/listinfo/openexr-devel <https://lists.nongnu.org/mailman/listinfo/openexr-devel>
> --
> Larry Gritz
> ***@larrygritz.com <mailto:***@larrygritz.com>
--
Larry Gritz
***@larrygritz.com
Nick Porcino
2018-07-14 03:57:53 UTC
Permalink
Not off the top of my head. I went to the individual package manager pages for Debian, Ubuntu, and Suse.

https://packages.debian.org/search?keywords=cmake
https://packages.ubuntu.com/search?keywords=cmake&searchon=names
https://software.opensuse.org/package/cmake


The reason I picked those three is that their maintainers are fairly vocal about reporting issues in OpenEXR, specially versus older versions of gcc.


________________________________
From: Larry Gritz <***@larrygritz.com>
Sent: Friday, July 13, 2018 4:46 PM
To: Nick Porcino
Cc: openexr-***@nongnu.org
Subject: Re: [Openexr-devel] CMAKE_CXX_STANDARD

Certainly makes sense to me. My personal preference for VFXPlatform is to be somewhat conservative about how often you upgrade a heavyweight package, but when you finally do (or introduce a package for the first time, as with cmake), to be as aggressive as possible about getting to the most recent stable version.

How do you know all those versions off the top of your head? Is there a site that will tell you the version of a particular package on all the major distros? (That would sure be handy.)



On Jul 13, 2018, at 4:30 PM, Nick Porcino <***@hotmail.com<mailto:***@hotmail.com>> wrote:

To be honest, it's the Linux distros that also ship openexr that had me cringing.

Debian wheezy (2.8)
Debian stretch (3.7.2) * stable
Debian buster (3.11.2)
Ubuntu trusty (2.8)
Ubuntu xenial (3.5.1) * stable
Ubuntu cosmic (3.11.2)
Suse tumbleweed (3.11.2) * stable

Any other distros to check?

I can't see any reason not to leap ahead to 3.11, because (1) versions less than 3.11 are very broken on Windows with regards to the combination of recent visual studios and boost and (2) a new OpenEXR on a Linux will ship with a distro containing at least 3.11.

Make sense?


________________________________
From: Larry Gritz <***@larrygritz.com<mailto:***@larrygritz.com>>
Sent: Friday, July 13, 2018 4:11 PM
To: Nick Porcino
Cc: openexr-***@nongnu.org<mailto:openexr-***@nongnu.org>
Subject: Re: [Openexr-devel] CMAKE_CXX_STANDARD

I don't see why we would have to preserve 2.x compatibility. USD seems to need CMake 3.1 on Windows. OpenVDB needs 3.1. OIIO and OSL both require 3.2. Partio requires 3.8! So lack of support for 2.x would be in good company with other widely used packages.

A few people have commented on the VFX Platform forum that it should include a minimum cmake release, so that package maintainers can count on some reasonable minimum.



On Jul 13, 2018, at 3:50 PM, Nick Porcino <***@hotmail.com<mailto:***@hotmail.com>> wrote:

The develop branch of OpenEXR uses CMake 3 features. So that line is an error.

I hadn't thought about it, but it's troubling* to think that we might have to preserve compatibility with CMake 2.x

* troubling == sobbing in terror in the corner as the shambling revenant shadow of CMake 2 groans and lurches forward belching broken features and ad hoc syntax


________________________________

From: Openexr-devel <openexr-devel-bounces+meshula=***@nongnu.org<mailto:openexr-devel-bounces+meshula=***@nongnu.org>> on behalf of Larry Gritz <***@larrygritz.com<mailto:***@larrygritz.com>>
Sent: Friday, July 13, 2018 11:47 AM
To: openexr-***@nongnu.org<mailto:openexr-***@nongnu.org>
Subject: [Openexr-devel] CMAKE_CXX_STANDARD

Is anybody troubled by the fact that the OpenEXR CMakeLists.txt starts with

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

but then makes use of CMAKE_CXX_STANDARD, which was only introduced with CMake 3.1?

So I think that if anybody actually uses CMake < 3.1, it will just silently fail to provide the right -std=c++XX flags.


--
Larry Gritz
***@larrygritz.com<mailto:***@larrygritz.com>





_______________________________________________
Openexr-devel mailing list
Openexr-***@nongnu.org<mailto:Openexr-***@nongnu.org>
https://lists.nongnu.org/mailman/listinfo/openexr-devel

--
Larry Gritz
***@larrygritz.com<mailto:***@larrygritz.com>

--
Larry Gritz
***@larrygritz.com<mailto:***@larrygritz.com>
Loading...