[CMake] Best way to 'pull through' dependencies of External projects?

Kent Williams nkwmailinglists at gmail.com
Thu Feb 14 11:01:53 EST 2013


@Nick find_package(DCMTK) does an OK job.  The specific issue I ran into is
that TIFF depends on Zlib and that dependency isn't pulled through into
DCMTK's dependencies.

The FindDCMTK.cmake that is in the current CMake distro has issues.

@Ansis -- if all I cared about was getting one package built, I would do
what you suggest.  But I am trying to build robust CMake infrastructure
here, that will be useful beyond the one project I'm starting with.



On Thu, Feb 14, 2013 at 9:54 AM, Ansis Māliņš <ansis.malins at gmail.com>wrote:

> If I guessed right, your problem is linker errors when building your
> project. My solution is to just manually add whatever extra
> target_link_libraries are needed to shut the linker up and move on.
>
>
> On Thu, Feb 14, 2013 at 5:48 PM, Nick Overdijk <nick at astrant.net> wrote:
>
>> I don't really get your specific problem... CMake can find and install
>> ITK and DCMTK just fine here? (I had to manipulate the linker-order of
>> DCMTK a bit but that's almost to be expected, sadly).
>>
>> You're saying that when you find_package(DCMTK) it's libraries doesn't
>> include some library it needs?
>>
>> On 2013-14-02, at 16:45:12 , Kent Williams wrote:
>>
>> The specific problem I'm trying to solve:
>>
>> Build DCMTK library, along with libraries upon which it depends, for use
>> by ITK as a 'system library'
>>
>> The problem: Setting up the External Projects is simple enough; the
>> problem is that the revision/configuration of TIFF -- 3.9.4 -- by default
>> requires ZLib.
>>
>> DCMTK builds against this external TIFF library just fine.
>>
>> What doesn't happen?  The TIFF's ZLib dependency doesn't get propogated
>> to builds that depend on DCMTK, so Zlib is not on the DCMTK library list.
>>
>> This wouldn't be a problem if TIFF and DCMTK were proper CMake builds. If
>> they were when they export their libraries, find_package would carry along
>> the dependencies of the imported libraries.
>>
>> There doesn't appear to be either an elegant or a quick & dirty solution
>> to this. The problem is that until DCMTK creates proper CMake config files
>> that clue in ITK to DCMTK's own dependencies, ITK's own CMake config files
>> will not reflect those dependencies.
>>
>> Suggestions?
>>
>> Oh, and by the way I am trying to get DCMTK to generate proper
>> configuration files for find_package(NO_MODULE):
>> https://github.com/InsightSoftwareConsortium/DCMTK/tree/AddProperConfig
>>  --
>>
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>>
>>
>>
>> --
>>
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130214/84c6d44d/attachment.htm>


More information about the CMake mailing list