Check out my first novel, midnight's simulacra!
CMake: Difference between revisions
From dankwiki
(holy fucking shit cmake sucks ass what the fuck) |
No edit summary |
||
Line 9: | Line 9: | ||
* Release -- optimized, no symbols | * Release -- optimized, no symbols | ||
* MinSizeRel -- optimized for size | * MinSizeRel -- optimized for size | ||
If <tt>CMAKE_BUILD_TYPE</tt> is not provided, none of these is used -- no debugging flags are set, and no optimization flags are set, in a somewhat stunning bit of unexpected behavior. The following snippet will ensure a default, and allow the value to be selected from a set in the gui: | If <tt>CMAKE_BUILD_TYPE</tt> is not provided, none of these is used -- no debugging flags are set, and no optimization flags are set, in a somewhat stunning bit of unexpected behavior. The following snippet will ensure a default of RelWithDebInfo, and allow the value to be selected from a set in the gui: | ||
<pre> | <pre> | ||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS | |||
"Debug" "Release" "MinSizeRel" "RelWithDebInfo") | |||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) | if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) | ||
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose build mode." FORCE) | |||
set(CMAKE_BUILD_TYPE " | |||
endif() | endif() | ||
message(STATUS "Requested build mode: ${CMAKE_BUILD_TYPE}") | |||
</pre> | </pre> |