summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2009-07-13 21:58:44 +0000
committerOscar Fuentes <ofv@wanadoo.es>2009-07-13 21:58:44 +0000
commit6761c5d609b45f246c3098034683e47113f9f635 (patch)
tree156000e579771e93b9cd495b99601f3417e16468 /CMakeLists.txt
parentf666c094e99a3f5509ac8182622373ddde529ded (diff)
downloadllvm-6761c5d609b45f246c3098034683e47113f9f635.tar.gz
llvm-6761c5d609b45f246c3098034683e47113f9f635.tar.bz2
llvm-6761c5d609b45f246c3098034683e47113f9f635.tar.xz
CMake: Refuses to work for out-of-source builds when tablegenned files
are found mixed with the sources. Fixes PR 4522. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75522 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48d0f76f04..31b1f3063b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,24 @@ set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin)
set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples)
set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
+if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
+ file(GLOB_RECURSE
+ tablegenned_files_on_include_dir
+ "${LLVM_MAIN_SRC_DIR}/include/llvm/*.gen")
+ file(GLOB_RECURSE
+ tablegenned_files_on_lib_dir
+ "${LLVM_MAIN_SRC_DIR}/lib/Target/*.inc")
+ if( tablegenned_files_on_include_dir OR tablegenned_files_on_lib_dir)
+ message(FATAL_ERROR "Apparently there is a previous in-source build,
+probably as the result of running `configure' and `make' on
+${LLVM_MAIN_SRC_DIR}.
+This may cause problems. The suspicious files are:
+${tablegenned_files_on_lib_dir}
+${tablegenned_files_on_include_dir}
+Please clean the source directory.")
+ endif()
+endif()
+
set(LLVM_ALL_TARGETS
Alpha
ARM