From bccadaf1a3efce39dd2bfe385ae1ddd5955245f2 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Sun, 16 Oct 2011 02:54:33 +0000 Subject: [PATCH] CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found. llvm-svn: 142103 --- llvm/docs/CMake.html | 5 +++++ llvm/tools/CMakeLists.txt | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/llvm/docs/CMake.html b/llvm/docs/CMake.html index 6389c7f22afd..ac07b0d6d447 100644 --- a/llvm/docs/CMake.html +++ b/llvm/docs/CMake.html @@ -351,6 +351,11 @@ Function Interface library. If the library or its headers are installed on a custom location, you can set the variables FFI_INCLUDE_DIR and FFI_LIBRARY_DIR. Defaults to OFF. + +
LLVM_CLANG_SOURCE_DIR:PATH
+
Path to Clang's source directory. Defaults to tools/clang. + Clang will not be built when it is empty or it does not point valid + path.
diff --git a/llvm/tools/CMakeLists.txt b/llvm/tools/CMakeLists.txt index e66648bee1e4..3c679b82d3b4 100644 --- a/llvm/tools/CMakeLists.txt +++ b/llvm/tools/CMakeLists.txt @@ -59,11 +59,14 @@ if( LLVM_ENABLE_PIC ) endif() endif() -if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/clang/CMakeLists.txt ) +set(LLVM_CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/clang" CACHE PATH "Path to Clang source directory") + +if (NOT ${LLVM_CLANG_SOURCE_DIR} STREQUAL "" + AND EXISTS ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt) option(LLVM_BUILD_CLANG "Whether to build Clang as part of LLVM" ON) if (${LLVM_BUILD_CLANG}) add_subdirectory( ${CMAKE_CURRENT_SOURCE_DIR}/clang ) endif() -endif( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/clang/CMakeLists.txt ) +endif () set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)