--- /dev/null
+string(TOLOWER "${CMAKE_INSTALL_PREFIX}" _PREFIX)
+string(TOLOWER "${ITK_BINARY_DIR}" _BUILD)
+if("${_PREFIX}" STREQUAL "${_BUILD}")
+ message(FATAL_ERROR
+ "The current CMAKE_INSTALL_PREFIX points at the build tree:\n"
+ " ${CMAKE_INSTALL_PREFIX}\n"
+ "This is not supported."
+ )
+endif()
--- /dev/null
+#
+# This function will prevent in-source builds
+function(AssureOutOfSourceBuilds)
+ # make sure the user doesn't play dirty with symlinks
+ get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH)
+ get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH)
+
+ # disallow in-source builds
+ if("${srcdir}" STREQUAL "${bindir}")
+ message("######################################################")
+ message("# lapack should not be configured & built in the lapack source directory")
+ message("# You must run cmake in a build directory.")
+ message("# For example:")
+ message("# mkdir lapack-Sandbox ; cd lapack-sandbox")
+ message("# git clone https://github.com/Reference-LAPACK/lapack.git # or download & unpack the source tarball")
+ message("# mkdir lapack-build")
+ message("# this will create the following directory structure")
+ message("#")
+ message("# lapack-Sandbox")
+ message("# +--lapack")
+ message("# +--lapack-build")
+ message("#")
+ message("# Then you can proceed to configure and build")
+ message("# by using the following commands")
+ message("#")
+ message("# cd lapack-build")
+ message("# cmake ../lapack # or ccmake, or cmake-gui ")
+ message("# make")
+ message("#")
+ message("# NOTE: Given that you already tried to make an in-source build")
+ message("# CMake have already created several files & directories")
+ message("# in your source tree. run 'git status' to find them and")
+ message("# remove them by doing:")
+ message("#")
+ message("# cd lapack-Sandbox/lapack")
+ message("# git clean -n -d")
+ message("# git clean -f -d")
+ message("# git checkout --")
+ message("#")
+ message("######################################################")
+ message(FATAL_ERROR "Quitting configuration")
+ endif()
+endfunction()
+
+AssureOutOfSourceBuilds()