这里是 Cmake 新手,我目前正在尝试将仅考虑单一配置开发的 cmake 项目转换为可以生成 Visual Studio 文件的多配置项目。
我无法解决的问题是,在 cmake 项目中存在取决于变量 CMAKE_BUILD_TYPE 的逻辑,例如:
set(ENABLE_DEBUG TRUE)
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
set(ENABLE_DEBUG FALSE)
)
由于对于多配置 cmake,CMAKE_BUILD_TYPE 是空的,因此这种方式不起作用。变量 ENABLE_DEBUG 然后在 cmake 项目中用于以下内容:
案例 1:添加库以仅调试配置
if(ENABLE_DEBUG)
list(APPEND LIB_SRC src/lib_debug.cpp)
endif()
add_library(LIB OBJECT LIB_SRC)
案例 2:将预处理器标志添加到仅调试配置
if(ENABLE_DEBUG)
add_definitions(...)
endif()
所以我想知道是否有人有针对上述一种或两种情况的解决方法,适用于多配置 cmake 项目,即这样我就可以指定库添加和预处理器标志,而不依赖于 CMAKE_BUILD_TYPE 变量。或者如果有一种特定于配置的方式来设置 ENABLE_DEBUG 而不依赖于 CMAKE_BUILD_TYPE 变量,那就更好了?