comparison polly/test/CMakeLists.txt @ 150:1d019706d866

LLVM10
author anatofuz
date Thu, 13 Feb 2020 15:10:13 +0900
parents
children c4bab56944e8
comparison
equal deleted inserted replaced
147:c2174574ed3a 150:1d019706d866
1 set(LLVM_SHLIBEXT "${CMAKE_SHARED_MODULE_SUFFIX}")
2
3 add_custom_target(check-polly)
4 set_target_properties(check-polly PROPERTIES FOLDER "Polly")
5
6 if(NOT LLVM_MAIN_SRC_DIR)
7 find_program(LLVM_OPT NAMES opt HINTS ${LLVM_TOOLS_BINARY_DIR})
8 find_program(LLVM_FILECHECK NAMES FileCheck HINTS ${LLVM_TOOLS_BINARY_DIR})
9 find_program(LLVM_NOT NAMES not HINTS ${LLVM_TOOLS_BINARY_DIR})
10 if (NOT LLVM_OPT)
11 message(WARNING "LLVM's opt program could not be found. Please set LLVM_OPT.")
12 endif()
13 if (NOT LLVM_FILECHECK)
14 message(WARNING "LLVM's FileCheck program could not be found. "
15 "Please set LLVM_FILECHECK. Please set LLVM_FILECHECK.")
16 endif()
17 if (NOT LLVM_NOT)
18 message(WARNING "LLVM's not program could not be found. Please set LLVM_NOT.")
19 endif()
20 get_filename_component(EXTRA_PATHS ${LLVM_OPT} DIRECTORY)
21 list(APPEND POLLY_TEST_EXTRA_PATHS "${EXTRA_PATHS}")
22 get_filename_component(EXTRA_PATHS ${LLVM_FILECHECK} DIRECTORY)
23 list(APPEND POLLY_TEST_EXTRA_PATHS "${EXTRA_PATHS}")
24 get_filename_component(EXTRA_PATHS ${LLVM_NOT} DIRECTORY)
25 list(APPEND POLLY_TEST_EXTRA_PATHS "${EXTRA_PATHS}")
26 list(REMOVE_DUPLICATES POLLY_TEST_EXTRA_PATHS)
27 message(STATUS "Extra paths: ${POLLY_TEST_EXTRA_PATHS}")
28 if ("${POLLY_TEST_EXTRA_PATHS}" STREQUAL "${LLVM_TOOLS_BINARY_DIR}")
29 set(POLLY_TEST_EXTRA_PATHS "")
30 endif()
31 set(POLLY_TEST_DEPS LLVMPolly)
32 else ()
33 set(LLVM_OPT "${LLVM_TOOLS_BINARY_DIR}/opt")
34 set(LLVM_FILECHECK "${LLVM_TOOLS_BINARY_DIR}/FileCheck")
35 set(LLVM_NOT "${LLVM_TOOLS_BINARY_DIR}/not")
36 set(POLLY_TEST_EXTRA_PATHS "")
37 set(POLLY_TEST_DEPS llvm-config opt LLVMPolly FileCheck not)
38 endif()
39
40 if (POLLY_BUNDLED_ISL)
41 list(APPEND POLLY_TEST_DEPS polly-isl-test)
42 endif()
43 if (POLLY_GTEST_AVAIL)
44 list(APPEND POLLY_TEST_DEPS PollyUnitTests)
45 endif ()
46
47 set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}")
48 set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}")
49 set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}")
50 if (CMAKE_LIBRARY_OUTPUT_DIRECTORY)
51 set(POLLY_LIB_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
52 else()
53 set(POLLY_LIB_DIR "${POLLY_BINARY_DIR}/lib")
54 endif()
55
56 configure_lit_site_cfg(
57 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
58 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
59
60 # Run regression and unit tests
61 add_lit_testsuite(check-polly-tests "Running polly regression tests"
62 ${CMAKE_CURRENT_BINARY_DIR}
63 PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
64 polly_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
65 DEPENDS ${POLLY_TEST_DEPS}
66 )
67 set_target_properties(check-polly-tests PROPERTIES FOLDER "Polly")
68 add_dependencies(check-polly check-polly-tests)
69
70 configure_lit_site_cfg(
71 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
72 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
73 )
74
75 if (POLLY_GTEST_AVAIL)
76 # Run only unit tests
77 add_lit_testsuite(check-polly-unittests "Running polly unit tests only"
78 ${CMAKE_CURRENT_BINARY_DIR}/Unit
79 PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
80 DEPENDS PollyUnitTests
81 )
82 set_target_properties(check-polly-unittests PROPERTIES FOLDER "Polly")
83 endif ()
84
85 configure_file(
86 ${CMAKE_CURRENT_SOURCE_DIR}/UnitIsl/lit.site.cfg.in
87 ${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg)
88
89 if (POLLY_BUNDLED_ISL)
90 add_lit_testsuite(check-polly-isl "Running isl unit tests only"
91 ${CMAKE_CURRENT_BINARY_DIR}/UnitIsl
92 PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg
93 DEPENDS polly-isl-test
94 )
95 set_target_properties(check-polly-isl PROPERTIES FOLDER "Polly")
96 endif (POLLY_BUNDLED_ISL)
97
98 # Run polly-check-format as part of polly-check only if we are compiling with
99 # clang, so clang-format is available.
100 # if (TARGET clang-format) would be preferable, but this target is only added
101 # after Polly, i.e. there is no such target yet at this point. The CMake cache
102 # entry LLVM_TOOL_CLANG_BUILD will only be defined after clang has been
103 # configured at least once, i.e. format will be checked only after a rerun of
104 # CMake's configure.
105 if (LLVM_TOOL_CLANG_BUILD)
106 add_dependencies(check-polly polly-check-format)
107 endif ()
108
109 configure_file(
110 ${CMAKE_CURRENT_SOURCE_DIR}/update_check.py
111 ${CMAKE_CURRENT_BINARY_DIR}/update_check.py)
112
113 # Add a legacy target spelling: polly-test
114 add_custom_target(polly-test)
115 set_target_properties(polly-test PROPERTIES FOLDER "Polly")
116 add_dependencies(polly-test check-polly)