function(set_build_type) message(STATUS "Used build generator: ${CMAKE_GENERATOR}") # Set a default build type if none was specified set(DEFAULT_BUILD_TYPE "RelWithDebInfo") if(EXISTS "${CMAKE_SOURCE_DIR}/.git") set(DEFAULT_BUILD_TYPE "Debug") endif() if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified." ) set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE STRING "Choose the type of build." FORCE ) # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" ) endif() if(${CMAKE_BUILD_TYPE} MATCHES "Debug") message(STATUS "Building Debug application with flags: ${CMAKE_C_FLAGS_DEBUG}" ) elseif(${CMAKE_BUILD_TYPE} MATCHES "RelWithDebInfo") message(STATUS "Building Release (Debug) application with " "flags: ${CMAKE_C_FLAGS_RELWITHDEBINFO}" ) elseif(${CMAKE_BUILD_TYPE} MATCHES "MinSizeRel") message(STATUS "Building Release (Size) application with " "flags: ${CMAKE_C_FLAGS_MINSIZEREL}" ) else() message(STATUS "Building Release (Speed) application with " "flags: ${CMAKE_C_FLAGS_RELEASE}" ) endif() endfunction()