Re: FindIlmbase.cmake & FindOpenEXR.cmake

Larry Gritz <[email protected]> Mon, 15 Feb 2016 10:28:25 -0800
Newsgroups gmane.comp.video.openexr.devel
Message-ID <[email protected]>
Maybe I'm just inexperienced with the package stuff. Is that expected to work on all systems? All platforms? If there are multiple OpenEXR releases installed? Is there an ELI5 for why package is preferred to the exclusion of a FindOpenEXR.cmake module? Is that the preferred method now for anything using CMake?




> On Feb 15, 2016, at 5:26 AM, Ashley Whetter <[email protected]> wrote:
> 
> If there aren't any comments on this then could it be merged?
> 
> Ashley
> From: Ashley Whetter <mailto:[email protected]>
> Sent: ‎08/‎02/‎2016 14:05
> To: Larry Gritz <mailto:[email protected]>
> Cc: [email protected] [email protected] <mailto:[email protected]>
> Subject: Re: [Openexr-devel] FindIlmbase.cmake & FindOpenEXR.cmake
> 
> I just wanted to make the mailing list aware of this pull request (https://github.com/openexr/openexr/pull/178). As the pull request description says, OpenEXR is now found by other libraries by exporting itself as a package, instead of the consumer library using Find modules.
> 
> It may still be worth having a discussion about whether or not it's worth creating Find modules. For example they'll have the advantage of being able to find older versions of OpenEXR that don't export themselves.
> There's also the consideration that it means that it's more work for us to create and maintain the modules.
> 
> If it is decided that Find modules should be created as well then they should be made to be target based (so that it's somewhat interchangable with the package export), and not the old style of Find module that I did in the original pull request (https://github.com/openexr/openexr/pull/167). I also think that they would need to be submitted to (and also possibly maintained in) the cmake repository rather than on the openexr repository.
> 
> If sticking with only package exports then I think that the version number should be bumped so that Linux distros that supply openexr via their package manager are likely to pick up the new version with package exports, and increasing the chance of users having the openexr cmake package installed in their system libraries.
> 
> Ashley
> From: Larry Gritz <mailto:[email protected]>
> Sent: ‎23/‎01/‎2016 17:26
> To: Ashley Whetter <mailto:[email protected]>
> Cc: Piotr Stanczyk <mailto:[email protected]>; [email protected] [email protected] <mailto:[email protected]>
> Subject: Re: [Openexr-devel] FindIlmbase.cmake & FindOpenEXR.cmake
> 
> That would be great!
> 
> Here are a few I found from "reputable" sources that presumably have seen a lot of use. It would be good to look them over and synthesize the best ideas into a canonical one that is as simple and robust as possible so nobody is tempted to modify it downstream.
> 
> Intel: https://github.com/embree/embree/blob/master/common/cmake/FindOpenEXR.cmake <https://github.com/embree/embree/blob/master/common/cmake/FindOpenEXR.cmake>
> 
> NVIDIA texture tools: https://code.google.com/p/nvidia-texture-tools/source/browse/trunk/cmake/FindOpenEXR.cmake <https://code.google.com/p/nvidia-texture-tools/source/browse/trunk/cmake/FindOpenEXR.cmake>
> 
> Blender: https://github.com/dfelinto/blender/blob/master/build_files/cmake/Modules/FindOpenEXR.cmake <https://github.com/dfelinto/blender/blob/master/build_files/cmake/Modules/FindOpenEXR.cmake>
> 
> OpenSceneGraph: https://github.com/dfelinto/blender/blob/master/build_files/cmake/Modules/FindOpenEXR.cmake <https://github.com/dfelinto/blender/blob/master/build_files/cmake/Modules/FindOpenEXR.cmake>
> 
> 
> 
>> On Jan 23, 2016, at 12:37 AM, Ashley Whetter <[email protected] <mailto:[email protected]>> wrote:
>> 
>> I've already implemented a FindIlmBase and FindOpenExr in this pull request: https://github.com/openexr/openexr/pull/167 <https://github.com/openexr/openexr/pull/167>
>> Because ilmbase and openexr are built with cmake though, it's supposed to export itself as a package that can be used by find_package instead. I started an implementation of this earlier this week to replace the Find files in that pull request but not had time to finish it yet.
>> As you're asking about it I'll make this a priority and try and get it finished asap. Because you're right, it's difficult to know what's best with no standard version.
>> 
>> Ashley
>> From: Piotr Stanczyk <mailto:[email protected]>
>> Sent: ‎23/‎01/‎2016 07:19
>> To: Larry Gritz <mailto:[email protected]>
>> Cc: [email protected] [email protected] <mailto:[email protected]>
>> Subject: Re: [Openexr-devel] FindIlmbase.cmake & FindOpenEXR.cmake
>> 
>> I see your point ... google seems to come back with quite a few, alas.  I can see from the OIIO thread its not as easy as could be. 
>> 
>> I've logged an issue here : https://github.com/openexr/openexr/issues/176 <https://github.com/openexr/openexr/issues/176>
>> 
>> Thanks
>> 
>> -Piotr
>> 
>> 
>> On 22 January 2016 at 23:10, Larry Gritz <[email protected] <mailto:[email protected]>> wrote:
>> These don't seem to be a standard bit of cmake yet, and so countless divergent approaches to them can be found across a wide number of projects. Just google "FindIlmbase.cmake".
>> 
>> Is there any consensus on the best one? (It sure as heck isn't mine, which I think is the single ugliest one that I've found yet, I'm embarrassed to say, and I'd like to replace it and pretend my current one never existed.)
>> 
>> It would be great if a particularly good one was incorporated into the ilmbase/openexr distribution itself as the canonical one that everybody could use.
>> 
>> --
>> Larry Gritz
>> [email protected] <mailto:[email protected]>
>> 
>> 
>> 
>> _______________________________________________
>> Openexr-devel mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.nongnu.org/mailman/listinfo/openexr-devel <https://lists.nongnu.org/mailman/listinfo/openexr-devel>
>> 
> 
> --
> Larry Gritz
> [email protected] <mailto:[email protected]>
> 
> 

--
Larry Gritz
[email protected]

_______________________________________________
Openexr-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/openexr-devel