forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			141 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
set(CLANG_TEST_DIRECTORIES
 | 
						|
  "Analysis"
 | 
						|
  "CodeCompletion"
 | 
						|
  "CodeGen"
 | 
						|
  "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")
 | 
						|
 | 
						|
  foreach(testdir ${CLANG_TEST_DIRECTORIES})
 | 
						|
    add_custom_target(clang-test-${testdir}
 | 
						|
      COMMAND ${PYTHON_EXECUTABLE}
 | 
						|
                  ${LIT}
 | 
						|
                  --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
 | 
						|
                  --param build_config=${CMAKE_CFG_INTDIR}
 | 
						|
                  ${LIT_ARGS}
 | 
						|
                  ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
 | 
						|
                  DEPENDS clang c-index-test FileCheck not count
 | 
						|
                  COMMENT "Running Clang regression tests in ${testdir}")
 | 
						|
    set_target_properties(clang-test-${testdir} PROPERTIES FOLDER "Clang tests")
 | 
						|
  endforeach()
 | 
						|
 | 
						|
  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")
 | 
						|
  set_target_properties(clang-test PROPERTIES FOLDER "Clang tests")
 | 
						|
 | 
						|
  add_custom_target(clang-c++tests
 | 
						|
    COMMAND ${PYTHON_EXECUTABLE}
 | 
						|
                ${LIT}
 | 
						|
                --param clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
 | 
						|
                --param build_config=${CMAKE_CFG_INTDIR}
 | 
						|
                ${LIT_ARGS}
 | 
						|
                ${CMAKE_CURRENT_SOURCE_DIR}/../utils/C++Tests
 | 
						|
                DEPENDS clang c-index-test FileCheck not count
 | 
						|
                COMMENT "Running Clang regression tests")
 | 
						|
  set_target_properties(clang-c++tests PROPERTIES FOLDER "Clang 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(check-all check.deps ClangUnitTests)
 | 
						|
    endif ( LLVM_INCLUDE_TESTS )
 | 
						|
    add_dependencies(clang-test.deps
 | 
						|
                    llvm-dis opt
 | 
						|
                     FileCheck count not
 | 
						|
                     )
 | 
						|
   set_target_properties(check-all PROPERTIES FOLDER "Clang tests")
 | 
						|
 endif()
 | 
						|
 | 
						|
  add_dependencies(clang-test clang-test.deps)
 | 
						|
  add_dependencies(clang-test.deps
 | 
						|
                 clang clang-headers c-index-test
 | 
						|
                 )
 | 
						|
 | 
						|
endif()
 |