SET(CMAKE_BUILD_TYPE "Release") 也可以在cmake命令后带一个参数指定Debug还是Release模式 cmake -DCMAKE_BUILD_TYPE="Debug" .. if 和 debug/release模式 此处使用IF以及STREQUAL来区分两种不同的编译方式。根据RELEASE和DEBUG两种不同的编译方式,将生成的可执行文件
cmake .. -DCMAKE_BUILD_TYPE:STRING=Release 或者在 CMakeLists.txt 中定义 set(CMAKE_BUILD_TYPE"Debug") #或set(CMAKE_BUILD_TYPE"Release") 如何判断? 使用判断指令 :STREQUAL #判断if(${CMAKE_BUILD_TYPE}STREQUAL"Debug")# Debug 配置elseif(${CMAKE_BUILD_TYPE}STREQUAL"Release")# Release 配置...
常见的构建类型包括Debug、Release、RelWithDebInfo和MinSizeRel。 示例命令: bash cmake -DCMAKE_BUILD_TYPE=Debug .. cmake -DCMAKE_BUILD_TYPE=Release .. 在CMakeLists.txt中区分构建类型: 可以在CMakeLists.txt文件中使用if语句来检查CMAKE_BUILD_TYPE变量,并根据构建类型设置不同的编译选项。 示例...
RUNTIME_OUTPUT_DIRECTORY_RELEASE ${OUT_EXE_PATH}/release # 调试路径 VS_DEBUGGER_WORKING_DIRECTORY ${OUT_EXE_PATH}# debug release 利用生成器表达式 判断CONFIG 来确定VS_DEBUGGER_WORKING_DIRECTORY ${OUT_EXE_PATH}/$<IF:$<CONFIG:Debug>,debug,release> )if(MSVC)set_target_properties(main PROPERTIES...
if(CMAKE_BUILD_TYPE STREQUAL "") set(CMAKE_BUILD_TYPE "Debug") endif() 1. 2. 3. 这样一来,如果没有用-D参数指明构建类型,则采用Debug构建。 系统平台相关性 有些时候,代码项目需要做跨平台支持,比如在Windows和Linux上都需要做编译。这时不可避免的需要做一些平台相关性的处理,CMake提供了一些预置的...
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_...
在用cmake生成工程文件(such as Makefile)编译项目的时候,有时我们希望debug/release生成的二进制文件在文件名上有区别: 比如对于target project1,在debug模式编译的dll,希望在Debug模式下生成的文件名为project1_d.dll,以与release模式下编译的project1.dll区别开。该怎么实现呢?
Debug>变量来控制是否加字符dtarget_link_libraries函数有个选项就是标志是debug还是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(...
endif()if(NOT DEFINED CMAKE_MINSIZEREL_POSTFIX)set(CMAKE_MINSIZEREL_POSTFIX"_release") endif() endif() 上面命令分别设置Debug模式下后缀为“_debug”,在Release模式下后缀为“_release”。 可以在根目录下的的CMakeLists.txt文件中设置该命令,则整个项目中子工程的dll和lib都会添加相应的后缀。