你可以在 CMakeLists.txt 文件中通过 set 命令来设置 CMAKE_BUILD_TYPE。例如: cmake cmake_minimum_required(VERSION 3.10) project(MyProject) # 如果未设置 CMAKE_BUILD_TYPE,则默认设置为 Release if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() add_executable(MyExecutable main.cpp...
cmake --build _builds --config MyRelease 4. Messy (?) Not at all if you know the trick 😃 This is how to build/test configuration in a script/CI server/documentation's build instructions, etc.: > CONFIG=Debug > cmake -H. -B_builds"-DCMAKE_BUILD_TYPE=${CONFIG}"# Set Debug ...
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message("Setting build type to 'RelWithDebInfo' as none was specified.") set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE) # Set the possible values of build type for cmake-gui set_property(...
chp1-2 % cmake --build ./build ... chp1-2 % ./build/chp1 Release version 可以看出默认情况下生成的是Release版本。 对于cmake来说,从CMakeLists.txt生成工程文件的时候,是可以传入编译类型的,比如下面方式 chp1-2 % cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug ... chp1-2 % cmake ...
cmake -DCMAKE_BUILD_TYPE=Debug 1. CMAKE_BUILD_TYPE是cmake中的一个内置变量,用于指定构建类型。 5、流程控制 (1)if set(ARCH "x86") if(ARCH MATCHES "x86") message("ARCH is x86") else() message("ARCH is arm") endif() 1.
if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release") endif() 即如果用户没有指定这个变量,则把CMAKE_BUILD_TYPE设置为Release,编译的时候就会为Release版本,而不是Debug版本。 cmake .. -DCMAKE_BUILD_TYPE=MinSizeRel 同时用户也可以在执行cmake命令的时候,加-DCMAKE_BUILD_TYPE,来手动指定构建的...
IF (ENABLE_WEBSOCKET) MESSAGE (STATUS " current is enable websocket ") ELSE () MESSAGE (STATUS " current is disable websocket ") ENDIF () # 定义ENABLE_A和ENABLE_B OPTION (ENABLE_A "enable A" ON ) OPTION (ENABLE_B "enable B"
cmake .. -DCMAKE_BUILD_TYPE=Release 设置默认构建类型 CMake提供的默认构建类型是不包含用于优化的编译器标志。对于某些项目,您可能需要设置默认生成类型,以便不必记住设置它。 为此,您可以将以下内容添加到CMakeLists.txt文件顶层 if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message("Setting...
设置CMAKE_BUILD_TYPE要在添加target之前进行 1.3 运行cmake时指定 cmake ../source_dir -DCMAKE_BUILD_TYPE=Release 1.4 建议使用 为了防止 CMakeLists.txt 中覆盖 cmake 运行时的指定,建议在 CMakeLists.txt 如下使用: if("${CMAKE_BUILD_TYPE}" STREQUAL "") set(CMAKE_BUILD_TYPE "Release") endif...