# https://github.com/bsamseth/cpp-project # guard against in-source builds if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) message(FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there.") endif() # guard against bad build-type strings if (NOT CMAKE_BUILD_TYPE) message(STATUS "No build type selected, default to Debug") set(CMAKE_BUILD_TYPE "RelWithDebInfo") endif() string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_tolower) string(TOUPPER "${CMAKE_BUILD_TYPE}" cmake_build_type_toupper) if( NOT cmake_build_type_tolower STREQUAL "debug" AND NOT cmake_build_type_tolower STREQUAL "release" AND NOT cmake_build_type_tolower STREQUAL "profile" AND NOT cmake_build_type_tolower STREQUAL "relwithdebinfo" AND NOT cmake_build_type_tolower STREQUAL "coverage") message(FATAL_ERROR "Unknown build type \"${CMAKE_BUILD_TYPE}\". Allowed values are Debug, Coverage, Release, Profile, RelWithDebInfo (case-insensitive).") endif()