27 lines
1.0 KiB
CMake
27 lines
1.0 KiB
CMake
# (c) https://github.com/dev-cafe/autocmake/blob/master/AUTHORS.md
|
|
# licensed under BSD-3: https://github.com/dev-cafe/autocmake/blob/master/LICENSE
|
|
|
|
#.rst:
|
|
#
|
|
# Provides safeguards against in-source builds and bad build types.
|
|
#
|
|
# Variables used::
|
|
#
|
|
# PROJECT_SOURCE_DIR
|
|
# PROJECT_BINARY_DIR
|
|
# CMAKE_BUILD_TYPE
|
|
|
|
if(${PROJECT_SOURCE_DIR} STREQUAL ${PROJECT_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()
|
|
|
|
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 "minsizerel" AND
|
|
NOT cmake_build_type_tolower STREQUAL "relwithdebinfo")
|
|
message(FATAL_ERROR "Unknown build type \"${CMAKE_BUILD_TYPE}\". Allowed values are Debug, Release, RelWithDebInfo, and MinSizeRel (case-insensitive).")
|
|
endif()
|