diff options
Diffstat (limited to 'modules/MacroEnsureOutOfSourceBuild.cmake')
| -rw-r--r-- | modules/MacroEnsureOutOfSourceBuild.cmake | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/modules/MacroEnsureOutOfSourceBuild.cmake b/modules/MacroEnsureOutOfSourceBuild.cmake new file mode 100644 index 00000000..cb26e0c3 --- /dev/null +++ b/modules/MacroEnsureOutOfSourceBuild.cmake @@ -0,0 +1,20 @@ +# - MACRO_ENSURE_OUT_OF_SOURCE_BUILD(<errorMessage>) +# MACRO_ENSURE_OUT_OF_SOURCE_BUILD(<errorMessage>) +#    Call this macro in your project if you want to enforce out-of-source builds. +#    If an in-source build is detected, it will abort with the given error message. +#    This macro works in any of the CMakeLists.txt of your project, but the recommended +#    location to call this is close to the beginning of the top level CMakeLists.txt + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +MACRO (MACRO_ENSURE_OUT_OF_SOURCE_BUILD _errorMessage) + +   STRING(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" insource) +   IF(insource) +      MESSAGE(FATAL_ERROR "${_errorMessage}") +   ENDIF(insource) + +ENDMACRO (MACRO_ENSURE_OUT_OF_SOURCE_BUILD) | 
