diff options
Diffstat (limited to 'cmake/PreventInTreeBuilds.cmake')
-rw-r--r-- | cmake/PreventInTreeBuilds.cmake | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cmake/PreventInTreeBuilds.cmake b/cmake/PreventInTreeBuilds.cmake new file mode 100644 index 0000000000..9c0ce1c0a2 --- /dev/null +++ b/cmake/PreventInTreeBuilds.cmake @@ -0,0 +1,23 @@ +function(PreventInTreeBuilds) + get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH) + get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH) + + if("${srcdir}" STREQUAL "${bindir}") + message("") + message("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") + message("Neovim doesn't support in-tree builds. It's recommended that you") + message("use a build/ subdirectory:") + message(" mkdir build") + message(" cd build") + message(" cmake <OPTIONS> ..") + message("") + message("Make sure to cleanup some CMake artifacts from this failed build") + message("with:") + message(" rm -rf CMakeFiles CMakeCache.txt") + message("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") + message("") + message(FATAL_ERROR "Stopping build.") + endif() +endfunction() + +PreventInTreeBuilds() |