在上述例子中,通过在命令行中使用-DCMAKE_BUILD_TYPE参数,你可以指定构建的类型,可以选择Debug或Release。如果不指定,默认是Debug。 总的来说,cmake-build-debug和cmake-build-release目录是为了方便在不同构建配置下分别存放调试和发布版本的可执行文件和相关构建文件。
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") message(STATUS "C flags, Debug configuration: ${CMAKE_C_FLAGS_DEBUG}") message(STATUS "C flags, Release configuration: ${CMAKE_C_FLAGS_RELEASE}") message(STATUS "C flags, Release configuration with Debug info: ${CMAKE_C_FLAGS_RELWITH...
# file函数将递归查文件夹及子文件夹下的所有.cpp 和 .c文件放到SRC中 # list函数排除build下面的.cpp和.c文件(在make过程中,会在bulid下面产生测试的cpp和c文件,避免冲突) # 这样我们将所需要编译的源文件放到SRC中 # 有很多种搜索源文件的方法,感觉这是最省事的一种,其他可行百度 file(GLOB_RECURSE SRC ...
方式一:命令行配置 cmake -DCMAKE_CONFIGURATION_TYPES=Release .. (..是顶层cmakelists路径) cmake --build . --config Release (.是构建路径) 方式二:CMakeLists文件参数配置 set(CMAKE_CONFIGURATION_TYPES Release)
Widgets REQUIRED)if(${CMAKE_BUILD_TYPE})set(OSG_BUILD_PATH $<IF:$<STREQUAL:${CMAKE_BUILD_TYPE},"Debug">,${OSG_DEBUG_PATH},${OSG_RELEASE_PATH}>)else()message(STATUS"multi-config generators")set(OSG_BUILD_PATH $<IF:$<CONFIG:Debug>,${OSG_DEBUG_PATH},${OSG_RELEASE_PATH}>)endif(...
#--Patch step---#PATCH_COMMANDsh-c"cp <SOURCE_DIR>/scripts/CMakeLists.txt <SOURCE_DIR>"#--Configure step---CONFIGURE_COMMAND${CMAKE_COMMAND}-DCMAKE_BUILD_TYPE=Release-DANTLR4CPP_JAR_LOCATION=${ANTLR4CPP_JAR_LOCATION}-DBUILD_SHARED_LIBS=ON-BUILD_TESTS=OFF-DCMAKE_INSTALL_PREFIX:PATH=...
cmake -B build -DCMAKE_INSTALL_PREFIX=/opt/openvdb-8.0 上面这行命令设置安装路径为/opt/openvdb-8.0(会安装到/opt/openvdb-8.0/lib/libopenvdb.so) cmake -B build -DCMAKE_BUILD_TYPE=Release 上面这行命令设置构建模式为发布模式(开启全部优化) ...
对于第三方库,如果从源码进行编译和安装,我们并不需要理会 CMakeLists 的任何细节,整个流程只需要执行几条命令即可,通常需要设置编译模式为 Release 或 Debug,并且设置安装位置 cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=... ...
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模式 ...
//设置一个string类型的缓存变量,名称为FOO,变量值为BARset(FOO"BAR"CACHESTRING"interesting value"FORCE)//设置一个string类型的缓存变量,名称为CMAKE_BUILD_TYPE,变量值为Releaseset(CMAKE_BUILD_TYPEReleaseCACHESTRING"Build type"FORCE) 2.1.3 变量作用域 ...