[PATCH] D32595: CMakeLists: Don't set LLVM_MAIN_SRC_DIR when building stand-alone clang
Tom Stellard via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 27 09:08:39 PDT 2017
tstellar created this revision.
clang was using LLVM_MAIN_SRC_DIR to search for lit.py to use for
running clang's lit tests. This was dangerous though, because
LLVM_MAIN_SRC_DIR was determined by using llvm-config --src-root
and this directory may have been modified since llvm-config was
built (e.g. User builds and install llvm trunk and then checks out the
release_40 branch in their source tree).
https://reviews.llvm.org/D32595
Files:
CMakeLists.txt
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -54,7 +54,6 @@
set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
- set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
# Normalize LLVM_CMAKE_PATH. --cmakedir might contain backslashes.
# CMake assumes slashes as PATH.
@@ -125,29 +124,11 @@
set(LLVM_UTILS_PROVIDED ON)
endif()
- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
- # Note: path not really used, except for checking if lit was found
- set(LLVM_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
- if(NOT LLVM_UTILS_PROVIDED)
- add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/FileCheck utils/FileCheck)
- add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/count utils/count)
- add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/not utils/not)
- set(LLVM_UTILS_PROVIDED ON)
- set(CLANG_TEST_DEPS FileCheck count not)
- endif()
- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
- add_subdirectory(${UNITTEST_DIR} utils/unittest)
- endif()
- else()
- # Seek installed Lit.
- find_program(LLVM_LIT
- NAMES llvm-lit lit.py lit
- PATHS "${LLVM_MAIN_SRC_DIR}/utils/lit"
- DOC "Path to lit.py")
- endif()
+ # Seek installed Lit.
+ find_program(LLVM_LIT
+ NAMES llvm-lit lit.py lit
+ PATHS "${LLVM_TOOLS_BINARY_DIR}"
+ DOC "Path to lit.py")
if(LLVM_LIT)
# Define the default arguments to use with 'lit', and an option for the user
@@ -440,13 +421,7 @@
if( CLANG_INCLUDE_TESTS )
- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
- add_subdirectory(unittests)
- list(APPEND CLANG_TEST_DEPS ClangUnitTests)
- list(APPEND CLANG_TEST_PARAMS
- clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg
- )
- endif()
+
add_subdirectory(test)
if(CLANG_BUILT_STANDALONE)
@@ -463,6 +438,14 @@
DEPENDS ${LLVM_LIT_DEPENDS}
ARGS ${LLVM_LIT_EXTRA_ARGS}
)
+ else()
+ if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
+ add_subdirectory(unittests)
+ list(APPEND CLANG_TEST_DEPS ClangUnitTests)
+ list(APPEND CLANG_TEST_PARAMS
+ clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg
+ )
+ endif()
endif()
add_subdirectory(utils/perf-training)
endif()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32595.96924.patch
Type: text/x-patch
Size: 2966 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170427/45c9a4bd/attachment.bin>
More information about the cfe-commits
mailing list