diff options
Diffstat (limited to 'clang/test/CMakeLists.txt')
-rw-r--r-- | clang/test/CMakeLists.txt | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/clang/test/CMakeLists.txt b/clang/test/CMakeLists.txt new file mode 100644 index 0000000..ae9de78 --- /dev/null +++ b/clang/test/CMakeLists.txt @@ -0,0 +1,117 @@ +set(CLANG_TEST_DIRECTORIES + "Analysis" + "CodeCompletion" + "CodeGen" + "CodeGenCUDA" + "CodeGenCXX" + "CodeGenObjC" + "CodeGenOpenCL" + "Coverage" + "CXX" + "Driver" + "FixIt" + "Frontend" + "Headers" + "Index" + "Lexer" + "Misc" + "PCH" + "Parser" + "Preprocessor" + "Rewriter" + "Sema" + "SemaCUDA" + "SemaCXX" + "SemaObjC" + "SemaObjCXX" + "SemaOpenCL" + "SemaTemplate") + +set(LLVM_SOURCE_DIR "${LLVM_MAIN_SRC_DIR}") +set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}") +set(LLVM_BUILD_MODE "%(build_mode)s") +set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s") +set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib/%(build_config)s") +set(CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..") +set(CLANG_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..") +if(BUILD_SHARED_LIBS) + set(ENABLE_SHARED 1) +else() + set(ENABLE_SHARED 0) +endif(BUILD_SHARED_LIBS) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in + ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in + ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg + @ONLY) + +include(FindPythonInterp) +if(PYTHONINTERP_FOUND) + if( LLVM_MAIN_SRC_DIR ) + set(LIT "${LLVM_SOURCE_DIR}/utils/lit/lit.py") + else() + set(LIT "${PATH_TO_LLVM_BUILD}/bin/${CMAKE_CFG_INTDIR}/llvm-lit") + # Installed LLVM does not contain ${CMAKE_CFG_INTDIR} in paths. + if( NOT EXISTS ${LIT} ) + set(LIT "${PATH_TO_LLVM_BUILD}/bin/llvm-lit") + endif() + endif() + + if( PATH_TO_LLVM_BUILD ) + set(CLANG_TEST_EXTRA_ARGS "--path=${CLANG_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}") + endif() + + option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF) + if(CLANG_TEST_USE_VG) + set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg") + endif () + + set(LIT_ARGS "${CLANG_TEST_EXTRA_ARGS} ${LLVM_LIT_ARGS}") + separate_arguments(LIT_ARGS) + + add_custom_target(clang-test.deps) + set_target_properties(clang-test.deps PROPERTIES FOLDER "Clang tests") + + add_custom_target(clang-test + COMMAND ${PYTHON_EXECUTABLE} + ${LIT} + --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg + --param clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg + --param build_config=${CMAKE_CFG_INTDIR} + --param build_mode=${RUNTIME_BUILD_MODE} + ${LIT_ARGS} + ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Running Clang regression tests") + + if( NOT CLANG_BUILT_STANDALONE ) + add_custom_target(check-all + COMMAND ${PYTHON_EXECUTABLE} + ${LIT} + --param build_config=${CMAKE_CFG_INTDIR} + --param build_mode=${RUNTIME_BUILD_MODE} + ${LIT_ARGS} + ${LLVM_BINARY_DIR}/test + ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Running Clang and LLVM regression tests") + add_dependencies(check-all clang-test.deps) + if ( LLVM_INCLUDE_TESTS ) + add_dependencies(clang-test.deps ClangUnitTests) + add_dependencies(check-all check.deps) + endif ( LLVM_INCLUDE_TESTS ) + add_dependencies(clang-test.deps + llvm-dis llc opt + FileCheck count not + ) + endif() + + add_dependencies(clang-test clang-test.deps) + add_dependencies(clang-test.deps + clang clang-headers c-index-test diagtool arcmt-test c-arcmt-test + clang-check + ) + +endif() |