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