Have a CMake project default to the Release build

2019-08-06 04:04发布

How should I make my CMake project default to configuration for a Release rather than a Debug build?

2条回答
Ridiculous、
2楼-- · 2019-08-06 04:13

You could try the following:

if (NOT EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
  if (NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
  endif()
endif()
查看更多
放荡不羁爱自由
3楼-- · 2019-08-06 04:17

I started out with simplistic:

if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release")
endif()

but thanks to @RaulLaasner's suggestions, I now do:

if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
    set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
endif()

and that seems to be more robust.

查看更多
登录 后发表回答