1
1
# Keep track if we have all dependencies.
2
- set (ENABLE_CHECK_TARGETS TRUE )
2
+ set (ENABLE_CHECK_BOLT_TARGETS TRUE )
3
3
4
4
# Function to find required dependencies for testing.
5
5
function (find_standalone_test_dependencies)
@@ -8,7 +8,7 @@ function(find_standalone_test_dependencies)
8
8
if (NOT PYTHONINTERP_FOUND)
9
9
message (STATUS "Could not find Python." )
10
10
message (WARNING "The check targets will not be available!" )
11
- set (ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
11
+ set (ENABLE_CHECK_BOLT_TARGETS FALSE PARENT_SCOPE)
12
12
return ()
13
13
endif ()
14
14
@@ -20,7 +20,7 @@ function(find_standalone_test_dependencies)
20
20
message (STATUS "Cannot find llvm-lit." )
21
21
message (STATUS "Please put llvm-lit in your PATH, set OPENMP_LLVM_LIT_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory." )
22
22
message (WARNING "The check targets will not be available!" )
23
- set (ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
23
+ set (ENABLE_CHECK_BOLT_TARGETS FALSE PARENT_SCOPE)
24
24
return ()
25
25
endif ()
26
26
@@ -31,7 +31,18 @@ function(find_standalone_test_dependencies)
31
31
message (STATUS "Cannot find FileCheck." )
32
32
message (STATUS "Please put FileCheck in your PATH, set OPENMP_FILECHECK_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory." )
33
33
message (WARNING "The check targets will not be available!" )
34
- set (ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
34
+ set (ENABLE_CHECK_BOLT_TARGETS FALSE PARENT_SCOPE)
35
+ return ()
36
+ endif ()
37
+
38
+ find_program (OPENMP_NOT_EXECUTABLE
39
+ NAMES not
40
+ PATHS ${OPENMP_LLVM_TOOLS_DIR} )
41
+ if (NOT OPENMP_NOT_EXECUTABLE)
42
+ message (STATUS "Cannot find 'not'." )
43
+ message (STATUS "Please put 'not' in your PATH, set OPENMP_NOT_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory." )
44
+ message (WARNING "The check targets will not be available!" )
45
+ set (ENABLE_CHECK_BOLT_TARGETS FALSE PARENT_SCOPE)
35
46
return ()
36
47
endif ()
37
48
endfunction ()
@@ -55,6 +66,7 @@ if (${OPENMP_STANDALONE_BUILD})
55
66
separate_arguments (OPENMP_LIT_ARGS)
56
67
else ()
57
68
set (OPENMP_FILECHECK_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR} /FileCheck)
69
+ set (OPENMP_NOT_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR} /not )
58
70
endif ()
59
71
60
72
# Macro to extract information about compiler from file. (no own scope)
@@ -81,7 +93,7 @@ function(set_test_compiler_information dir)
81
93
"${OPENMP_TEST_C_COMPILER_VERSION} " STREQUAL "${OPENMP_TEST_CXX_COMPILER_VERSION} " ))
82
94
message (STATUS "Test compilers for C and C++ don't match." )
83
95
message (WARNING "The check targets will not be available!" )
84
- set (ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
96
+ set (ENABLE_CHECK_BOLT_TARGETS FALSE PARENT_SCOPE)
85
97
else ()
86
98
set (OPENMP_TEST_COMPILER_ID "${OPENMP_TEST_C_COMPILER_ID} " PARENT_SCOPE)
87
99
set (OPENMP_TEST_COMPILER_VERSION "${OPENMP_TEST_C_COMPILER_VERSION} " PARENT_SCOPE)
@@ -112,7 +124,7 @@ if (${OPENMP_STANDALONE_BUILD})
112
124
if (DETECT_COMPILER_RESULT)
113
125
message (STATUS "Could not detect test compilers." )
114
126
message (WARNING "The check targets will not be available!" )
115
- set (ENABLE_CHECK_TARGETS FALSE )
127
+ set (ENABLE_CHECK_BOLT_TARGETS FALSE )
116
128
else ()
117
129
set_test_compiler_information(${CMAKE_CURRENT_BINARY_DIR} /DetectTestCompiler)
118
130
endif ()
@@ -121,8 +133,8 @@ else()
121
133
set (OPENMP_TEST_COMPILER_ID "Clang" )
122
134
# Cannot use CLANG_VERSION because we are not guaranteed that this is already set.
123
135
set (OPENMP_TEST_COMPILER_VERSION "${LLVM_VERSION} " )
124
- set (OPENMP_TEST_COMPILER_VERSION_MAJOR "${LLVM_MAJOR_VERSION } " )
125
- set (OPENMP_TEST_COMPILER_VERSION_MAJOR_MINOR "${LLVM_MAJOR_VERSION } .${LLVM_MINOR_VERSION } " )
136
+ set (OPENMP_TEST_COMPILER_VERSION_MAJOR "${LLVM_VERSION_MAJOR } " )
137
+ set (OPENMP_TEST_COMPILER_VERSION_MAJOR_MINOR "${LLVM_VERSION_MAJOR } .${LLVM_VERSION_MINOR } " )
126
138
# Unfortunately the top-level cmake/config-ix.cmake file mangles CMake's
127
139
# CMAKE_THREAD_LIBS_INIT variable from the FindThreads package, so work
128
140
# around that, until it is fixed there.
@@ -156,16 +168,16 @@ set_test_compiler_features()
156
168
157
169
# Function to add a testsuite for an OpenMP runtime library.
158
170
function (add_openmp_testsuite target comment )
159
- if (NOT ENABLE_CHECK_TARGETS )
171
+ if (NOT ENABLE_CHECK_BOLT_TARGETS )
160
172
add_custom_target (${target}
161
173
COMMAND ${CMAKE_COMMAND} -E echo "${target} does nothing, dependencies not found." )
162
174
message (STATUS "${target} does nothing." )
163
175
return ()
164
176
endif ()
165
177
166
- cmake_parse_arguments (ARG "" "" "DEPENDS;ARGS" ${ARGN} )
167
- # EXCLUDE_FROM_ALL excludes the test ${target} out of check-openmp.
168
- if (NOT EXCLUDE_FROM_ALL )
178
+ cmake_parse_arguments (ARG "EXCLUDE_FROM_CHECK_ALL " "" "DEPENDS;ARGS" ${ARGN} )
179
+ # EXCLUDE_FROM_CHECK_ALL excludes the test ${target} out of check-openmp.
180
+ if (NOT ARG_EXCLUDE_FROM_CHECK_ALL )
169
181
# Register the testsuites and depends for the check-openmp rule.
170
182
set_property (GLOBAL APPEND PROPERTY OPENMP_LIT_TESTSUITES ${ARG_UNPARSED_ARGUMENTS} )
171
183
set_property (GLOBAL APPEND PROPERTY OPENMP_LIT_DEPENDS ${ARG_DEPENDS} )
@@ -180,12 +192,22 @@ function(add_openmp_testsuite target comment)
180
192
${cmake_3_2_USES_TERMINAL}
181
193
)
182
194
else ()
183
- add_lit_testsuite(${target}
184
- ${comment}
185
- ${ARG_UNPARSED_ARGUMENTS}
186
- DEPENDS clang clang-resource -headers FileCheck ${ARG_DEPENDS}
187
- ARGS ${ARG_ARGS}
188
- )
195
+ if (ARG_EXCLUDE_FROM_CHECK_ALL)
196
+ add_lit_testsuite(${target}
197
+ ${comment}
198
+ ${ARG_UNPARSED_ARGUMENTS}
199
+ EXCLUDE_FROM_CHECK_ALL
200
+ DEPENDS clang clang-resource -headers FileCheck ${ARG_DEPENDS}
201
+ ARGS ${ARG_ARGS}
202
+ )
203
+ else ()
204
+ add_lit_testsuite(${target}
205
+ ${comment}
206
+ ${ARG_UNPARSED_ARGUMENTS}
207
+ DEPENDS clang clang-resource -headers FileCheck ${ARG_DEPENDS}
208
+ ARGS ${ARG_ARGS}
209
+ )
210
+ endif ()
189
211
endif ()
190
212
endfunction ()
191
213
@@ -194,6 +216,5 @@ function(construct_check_openmp_target)
194
216
get_property (OPENMP_LIT_DEPENDS GLOBAL PROPERTY OPENMP_LIT_DEPENDS)
195
217
196
218
# We already added the testsuites themselves, no need to do that again.
197
- set (EXCLUDE_FROM_ALL True )
198
- add_openmp_testsuite(check-bolt-openmp "Running BOLT tests" ${OPENMP_LIT_TESTSUITES} DEPENDS ${OPENMP_LIT_DEPENDS} )
219
+ add_openmp_testsuite(check-bolt-openmp "Running BOLT tests" ${OPENMP_LIT_TESTSUITES} EXCLUDE_FROM_CHECK_ALL DEPENDS ${OPENMP_LIT_DEPENDS} )
199
220
endfunction ()
0 commit comments