[CMake] Find script distribution strategy

Alexander Neundorf a.neundorf-work at gmx.net
Mon Feb 20 13:09:03 EST 2012


On Monday 20 February 2012, Barth wrote:
> Hello,
> 
> Let be a project A developed and distributed by organization AA.
> Let be another project B depending on A, developed by organization BB. B
> calls find_package(A) in its CMakeLists.txt as to get the dependencies
> libraries and includes.
> 
> How should FindA.cmake be distributed ?
> Option 1: package A (eg. A.rpm) installs it in /usr/share/cmake/ (on Linux)
> so that it is found by B or any other project that needs it.
> Option 2: package A installs it in a more specific location such as
> /opt/A/cmake. However, how would B find it ?
> Option 3: package A doesn't install it anywhere and we let the developers
> of B download it manually.
> 
> I would go for option 1 but I am not really sure what is the standard way.

From these three options, only option 3) is acceptable.
Michael is correct that it should install a AConfig.cmake file.
What you could also do is put FindA.cmake somewhere in the documentation of 
package A, so developers can see how the Find-module should look like.

Alex


More information about the CMake mailing list