Have a CMake project default to the Release build

2019-08-06 04:11发布

问题:

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

回答1:

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()


回答2:

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.