[CMake] OUTPUT_NAME change leads to wrong library dependencies

Dieter Hahn dieter.hahn at informatik.uni-erlangen.de
Fri Sep 7 06:39:22 EDT 2007


Hello,

I have a library that should support versioning on Windows. The versioning
is enabled just by appending version numbers to the target name:

SET_TARGET_PROPERTIES(
MyLib 
PROPERTIES
 VERSION ${VERSION_MAJOR}${VERSION_MINOR}
 OUTPUT_NAME MyLib_${VERSION_MAJOR}${VERSION_MINOR} 
 DEBUG_POSTFIX D
)

The visual studio generates the according libraries correctly. However, the
EXPORT_LIBRARY_DEPENDENCIES CMake command does not use the OUTPUT_NAME for
the library but the base name. The other project then wants to use MyLib.lib
instead of the correct MyLib_10.lib or MyLib_10D.lib, for instance. 

Am I making any mistake in the way of using this? Is there a workaround
available? Any help is highly appreciated.

Thanks,
Dieter



More information about the CMake mailing list