我希望根据它在调试或发布中构建来指定要使用的不同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 - 是一个预先生成的共享库,它具有调试和发布版本
答案 0 :(得分:1)
我认为可能的解决方案是您可以执行以下操作
#SET(LINK_LIB debug my_dlld optimized my_dll)
#TARGET_LINK_LIBRARIES(MYDLL ${LINK_LIB})
希望这有帮助!