Cmake 区分引用debug、release 库
Linux下Cmake生成的库,可执行文件都是可以直接放在编者自己设定的目录。而Windows则多了个debug和release的不同。比方说我们将库生成的目录设定为lib/,那么Linux下就直接是lib/目录了,而Windows编译的debug版本则是在lib/Debug下,release在lib/release下。那么怎么在引用库的时候区分呢?一种方法是在Cmake的合适加个预编译的宏,..
·
Linux下Cmake生成的库,可执行文件都是可以直接放在编者自己设定的目录。而Windows则多了个debug和release的不同。
比方说我们将库生成的目录设定为lib/,那么Linux下就直接是lib/目录了,而Windows编译的debug版本则是在lib/Debug下,release在lib/release下。那么怎么在引用库的时候区分呢?一种方法是在Cmake的合适加个预编译的宏,另一种方法则是使用cmake的自带宏CMAKE_INTDIR。用法:
set(BASELIB_LIBRARY "${PROJECT_SOURCE_DIR}/../BaseLib/lib/" CACHE INTERNAL "BaseLib Library location" )
IF(WIN32)
set(BASELIB_LIBRARY "${BASELIB_LIBRARY}/${CMAKE_INTDIR}")
ENDIF()
更多推荐
已为社区贡献1条内容
所有评论(0)