CMake预先内置了四种构建类型:Debug,Release,RelWithDebInfo,MinSizeRel,可以满足大部分的使用情况,并通过预置的变量CMAKE_BUILD_TYPE表示当前的构建类型,可以通过修改它的值来改变构建类型,变量的初始值为空,表示不指定任何构建类型。 下面我们使用不同的构建模式来编译一个简单工程。 CMakeLists.txt cmake_minimum_r...
你可以通过运行cmake -DCMAKE_BUILD_TYPE=Debug ..和cmake -DCMAKE_BUILD_TYPE=Release ..来分别测试Debug和Release构建类型。 检查CMake的输出,确认它是否正确地识别了构建类型并应用了相应的编译器标志。 通过这种方式,你可以在CMake中有效地判断Debug和Release构建类型,并根据需要设置不同的编译选项。
区分Debug 还是 Release 可通过判断变量CMAKE_BUILD_TYPE,此变量可设置为四种不同的值: Debug Release MinSizeRel RelWithDebInfo (使用 Release 编译并且可以使用调试器) 注: Release 编译有很多等级,如 O1, O2, O3, O3 为最高,O表示optimization优化。 此外,每个 Release 编译都会定义宏NDEBUG,Debug 编译一般会...
CMake中有一个变量CMAKE_BUILD_TYPE,可以取值枚举入下:Debug Release RelWithDebInfo 和 MinSizeRel 当这个变量值为Debug的时候,Cmake会使用变量CMAKE_FLAGS_DEBUG 和 CMAKE_C_FLAGS_DEBUG中的字符串作为编译选项生成Makefile, 当这个变量值为Release的时候,工程会使用变量CMAKE_CXX_FLAGS_RELEASE和CMAKE_CFLAGS_...
chp1-2 % ./build/chp1 Release version 可以看出默认情况下生成的是Release版本。 对于cmake来说,从CMakeLists.txt生成工程文件的时候,是可以传入编译类型的,比如下面方式 chp1-2 % cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug ... chp1-2 % cmake --build ./build ...
在CMakeLists.txt文件中添加以下代码,用于设置CMAKE_BUILD_TYPE变量的可选值:set(CMAKE_BUILD_TYPE Debug) # 调试模式 # 或者 set(CMAKE_BUILD_TYPE Release) # 发布模式 在构建项目之前,使用cmake命令生成构建系统所需的Makefile或其他构建工具文件:cmake /path/to/source ...
set(CMAKE_BUILD_TYPE Debug) multi-config generators(多配置生成器) 例如:Visual Studio、Xcode、Ninja Multi-Config 对于这类生成器,cmake可以采用CMAKE_CONFIGURATION_TYPES(末尾有S)来选择项目构建类型,配置方式如下: 方式一:命令行配置 cmake -DCMAKE_CONFIGURATION_TYPES=Release .. (..是顶层cmakelists路径...
CMAKE_BUILD_TYPE编译类型(Debug/Release 等) CMAKE_INSTALL_PREFIX安装目录前缀 在CMakeLists 中 使用set(...CACHE...)定义缓存变量 注意只能在缓存变量不存在时定义(相当于提供缓存变量的默认值) 如果缓存变量已经存在于 CMakeCache.txt 中,则这条命令没有修改能力,被直接忽略 ...
Debug和Release模式 我们可以在配置文件中设置DEBUG: SET(CMAKE_BUILD_TYPE "Debug”) 或者RELEASE模式: SET(CMAKE_BUILD_TYPE "Release") 也可以在cmake命令后带一个参数指定Debug还是Release模式 cmake -DCMAKE_BUILD_TYPE="Debug" .. if 和 debug/release模式 ...