让 CMake 项目默认为 Release 构建类型
Have a CMake project default to the Release build type
我应该如何让我的 CMake 项目默认配置为 Release 而不是 Debug 构建?
我从简单的开始:
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()
但感谢@RaulLaasner 的建议,我现在这样做:
if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif()
这似乎更稳健。
编辑: 事后反思,我决定不 更改 CMake 脚本本身的默认值。也许最好保留与世界上所有其他 CMake 脚本相同的默认值。
您可以尝试以下方法:
if (NOT EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif()
endif()
我应该如何让我的 CMake 项目默认配置为 Release 而不是 Debug 构建?
我从简单的开始:
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()
但感谢@RaulLaasner 的建议,我现在这样做:
if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif()
这似乎更稳健。
编辑: 事后反思,我决定不 更改 CMake 脚本本身的默认值。也许最好保留与世界上所有其他 CMake 脚本相同的默认值。
您可以尝试以下方法:
if (NOT EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif()
endif()