From 9e56a186c3c467c8807f077e8bb3beba0fffd6c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Sat, 10 Mar 2018 23:40:27 +0100 Subject: [PATCH] Prevent compilation in source dir. Only allows compilation is top-src-dir/build --- .gitignore | 2 ++ CMakeLists.txt | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5975d974f..ced9e610d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *~ build/ +CMakeFiles/ +CMakeCache.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index bdb43ba5e..d303c5886 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,28 @@ -cmake_minimum_required (VERSION 2.6) +cmake_minimum_required (VERSION 3.4) + +if (${CMAKE_BINARY_DIR} MATCHES "^${CMAKE_SOURCE_DIR}") + if (NOT ${CMAKE_BINARY_DIR} MATCHES "^${CMAKE_SOURCE_DIR}/build") + message("") + message("##############################################") + message(" In-source building is not allowed! ") + message("##############################################") + message("") + message(" Run cmake outside from source directory ") + message(" or from ${CMAKE_SOURCE_DIR}/build") + message("") + message("----------------------------------------------") + message(" warning: remaining generated files!") + message(" ${CMAKE_BINARY_DIR}/CMakeCache.txt") + message(" ${CMAKE_BINARY_DIR}/CMakeFiles") + message("----------------------------------------------") + message("") + message(" Please remove remaining generated files ") + message(" and run cmake from an appropriate location") + message("") + + message(FATAL_ERROR "\n** CMake aborted **") + endif() +endif() + project (Pastis) add_executable(pastis main.cpp) -- GitLab