[CMake] bug ? issue with EXPORT_LIBRARY_DEPENDENCIES

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Wed Nov 15 00:33:39 EST 2006


Bill Hoffman schrieb:
> Alexander Neundorf wrote:
>> Hi,
>>
>> it seems there's a problem with EXPORT_LIBRARY_DEPENDENCIES(). If
>> there is a library where both the debug and the optimized version are
>> available, both end up in the dependency lib, but not separated by the
>> debug/optimized keywords.
>> A testcase is attached. At first build and install demo/dbgtest/, and
>> after that run cmake on demo/dbgtestapp/, then have a look at the file
>> blub.deps.
>> I think if you have something like
>> set(SOMELIB optimized somelib debug somelibd)
>> target_link_libraries(mycoollib ${SOMELIB})
>> export_library_dependencies(depsfile)
>>
>> then it should be either
>> SET(mycoollib_LIB_DEPENDS "optimized;somelib;debug;somelibd")
>> or SET(mycoollib_LIB_DEPENDS "somelib") or SET(mycoollib_LIB_DEPENDS
>> "somelibd") depending on which library was actually used when building.
>>
>> This affects building KDE on windows, since there both versions of
>> QtCore are found and linked, and so there will be random crashes due
>> to this from what I heard.
>>   
> 
> I just tried your example in VS 2005 and it seemed to work.  When I
> built release
> it said it could not find dbgtest.lib:
> 
> 1>------ Build started: Project: blubblub, Configuration: Release Win32
> ------
> 1>Compiling...
> 1>dbglib.c
> 1>Linking...
> 1>LINK : fatal error LNK1181: cannot open input file 'dbgtest.lib'
> 
> But if I build Debug:  it fails to find dbgtestd.lib.
> 
> 
> 1>------ Build started: Project: blubblub, Configuration: Debug Win32
> ------
> 1>Linking...
> 1>LINK : fatal error LNK1104: cannot open file 'dbgtestd.lib'
> 1>Build log was saved at "file://c:\hoffman\My
> Builds\CMakeTests\package\demo\dbgapptest\b\blubblub.dir\Debug\BuildLog.htm"
> 
> 1>blubblub - 1 error(s), 0 warning(s)
> 
> $ less blub.deps
> SET(blubblub_LIB_DEPENDS "dbgtest;dbgtestd;")
> SET(dbgtest_LINK_TYPE "optimized")
> SET(dbgtestd_LINK_TYPE "debug")
> 
> library_LINK_TYPE is looked up before a library is output.
> 
> So, the example seems to be working ok...
> 
vcproj generator seems to work, but not NMake/MinGW Makefiles.

Christian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://public.kitware.com/pipermail/cmake/attachments/20061115/e1bf0644/signature-0001.pgp


More information about the CMake mailing list