[CMake] Recursive dependencies and static libraries

Bill Hoffman bill.hoffman at kitware.com
Thu Nov 6 13:18:33 EST 2008


Jed Brown wrote:

> The FindPkgConfig.cmake module looks broken too, it assumes that
> 
>   -L/A -la -L/B -lb
> 
> is equivalent to
> 
>   -L/A -L/B -la -lb
> 
I don't see where the above would fail.

> To get fully resolved paths, I think it needs to do something like what
> is in my FindPETSc.cmake.  PkgConfig defines PREFIX_STATIC_* which is
> good, but this means that whoever is writing the FindXXX module needs to
> branch on whether the libs they search for are actually resolving to
> static libs.  This *always* needs to be done, but it's not done in the
> modules included with CMake (FindLibXslt and FindLibXml2).

So, exactly what are you proposing?

Here is what I understand:

- If you link to a static library, you need to link to all static 
libraries that that library uses in the correct order.


That information is stored in several places:

- pkg-config
- in makefiles distributed with the project
- other config files?
- cmake projects support the export and import of depend info on libraries

To me this a very library specific issue do you have some general way to 
solve this problem?  What tools/functions would you like to see in CMake 
to address this issue?

-Bill


More information about the CMake mailing list