Filipe Sousa wrote:
Alexander Neundorf wrote:
And that target_link_libraries(testapp libx optimized liby debug libz ) libx is linked in all cases liby is linked if buildtype is not set and if buildtype==release libz is only linked if buildtype==debug ?

Yes. The default build type is Release IIRC

There is no default, if the build type is not set then _neither_ will be linked. The reason there is no default is a bit complicated (I once looked at making Release the default) and I don't have time to explain it now. We have plans to address this problem but for now the "right" way is:

IF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
  SET(FOO_LIB optimized liby debug libz)
ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
  SET(FOO_LIB liby)
ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
target_link_libraries(testapp libx ${FOO_LIB})

Effectively one manually chooses the default on a per-library basis.

Is it possible to have e.g. a "_debug" appended to the names of all created libraries when doing a debug build ?

SET(CMAKE_DEBUG_POSTFIX _debug)

-Brad
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to