我希望根据在调试或发布中构建的情况来指定要使用的不同 DLL。例如:
IF CONFIGURATION MATCHES Debug
SET(MYDLL my_dlld)
ELSE()
SET(MYDLL my_dll)
ENDIF()
我看过逻辑表达式,例如
$<$<CONFIG:Debug>:DEBUG_MODE>
但这似乎不起作用,也许我的实现不正确。任何帮助将不胜感激
编辑:一些用于理解的最少代码
PROJECT(myproject)
#ADD_DEFINITIONS(-DMANAGER_EXPORTS)
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/API/mydll
)
$<$<CONFIG:Debug>:SET(MYDLL mydlld)>
$<$<CONFIG:Release>:SET(MYDLL mydll)>
SET(LIBS
${MYDLL}
)
mydll - 是一个预先生成的共享库,具有调试和发布版本
最佳答案
我认为一个可能的解决方案是您可以执行以下操作
#SET(LINK_LIB debug my_dlld optimized my_dll)
#TARGET_LINK_LIBRARIES(MYDLL ${LINK_LIB})
希望这有帮助!
关于visual-studio-2012 - 多配置生成器中基于 CMake 配置的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34946480/