CMake: Disallow in-source builds except when building with the Visual
Studio IDE. CMake would overwrite the makefiles distributed with LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59292 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 15dcf7f..f3c89f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,15 @@
 set(PACKAGE_VERSION svn)
 set(PACKAGE_BUGREPORT "llvmbugs@cs.uiuc.edu")
 
+if( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE )
+  message(FATAL_ERROR "In-source builds are not allowed.
+CMake would overwrite the makefiles distributed with LLVM.
+Please create a directory and run cmake from there, passing the path
+to this source directory as the last argument.
+This process created the file `CMakeCache.txt' and the directory `CMakeFiles'.
+Please delete them.")
+endif()
+
 include(FindPerl)
 
 set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})