Skip to content

Commit d61fa1a

Browse files
committed
Update the clang/test cmakelists to include the nuget WARP tests
Also remove the footgun that made the last section of the file get ignored for msbuild/xcode generators.
1 parent b98c00f commit d61fa1a

1 file changed

Lines changed: 90 additions & 81 deletions

File tree

tools/clang/test/CMakeLists.txt

Lines changed: 90 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Test runner infrastructure for Clang. This configures the Clang test trees
22
# for use by Lit, and delegates to LLVM's lit test handlers.
33

4-
if (CMAKE_CFG_INTDIR STREQUAL ".")
4+
if(CMAKE_CFG_INTDIR STREQUAL ".")
55
set(LLVM_BUILD_MODE ".")
6-
else ()
6+
else()
77
set(LLVM_BUILD_MODE "%(build_mode)s")
8-
endif ()
8+
endif()
99

1010
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
1111

@@ -14,91 +14,94 @@ set(HLSL_HEADERS_DIR ${LLVM_SOURCE_DIR}/tools/clang/lib/Headers/hlsl) # HLSL Cha
1414
configure_lit_site_cfg(
1515
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
1616
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
17-
)
17+
)
1818

1919
configure_lit_site_cfg(
2020
${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
2121
${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
22-
)
22+
)
2323

2424
configure_lit_site_cfg(
2525
${CMAKE_CURRENT_SOURCE_DIR}/taef/lit.site.cfg.in
2626
${CMAKE_CURRENT_BINARY_DIR}/taef/lit.site.cfg
27-
)
27+
)
2828

2929
configure_lit_site_cfg(
3030
${CMAKE_CURRENT_SOURCE_DIR}/taef_exec/lit.site.cfg.in
3131
${CMAKE_CURRENT_BINARY_DIR}/taef_exec/lit.site.cfg
32-
)
32+
)
3333

3434
option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
35+
3536
if(CLANG_TEST_USE_VG)
3637
set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
37-
endif ()
38+
endif()
3839

3940
list(APPEND CLANG_TEST_DEPS
4041
clang clang-headers
4142
clang-check clang-format
4243
c-index-test diagtool
4344
clang-tblgen
44-
)
45+
)
4546

46-
if (CLANG_ENABLE_ARCMT)
47+
if(CLANG_ENABLE_ARCMT)
4748
list(APPEND CLANG_TEST_DEPS
4849
arcmt-test
4950
c-arcmt-test
5051
)
51-
endif ()
52+
endif()
5253

53-
if (ENABLE_CLANG_EXAMPLES)
54+
if(ENABLE_CLANG_EXAMPLES)
5455
list(APPEND CLANG_TEST_DEPS
5556
clang-interpreter
5657
PrintFunctionNames
57-
)
58-
endif ()
58+
)
59+
endif()
5960

60-
if (ENABLE_CLANG_STATIC_ANALYZER AND ENABLE_CLANG_EXAMPLES)
61+
if(ENABLE_CLANG_STATIC_ANALYZER AND ENABLE_CLANG_EXAMPLES)
6162
list(APPEND CLANG_TEST_DEPS
6263
SampleAnalyzerPlugin
63-
)
64-
endif ()
64+
)
65+
endif()
6566

6667
set(CLANG_TEST_PARAMS
6768
clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
68-
)
69+
)
6970

70-
if( NOT CLANG_BUILT_STANDALONE )
71+
if(NOT CLANG_BUILT_STANDALONE)
7172
list(APPEND CLANG_TEST_DEPS
7273
llvm-config
7374
llc opt FileCheck count not llvm-symbolizer llvm-profdata llvm-objdump
74-
)
75+
)
7576
endif()
7677

7778
# HLSL Change Begin
7879
# Explicitly overriding check-clang dependencies for HLSL
7980
set(CLANG_TEST_DEPS dxc dxa dxopt dxl dxv dxr dxcompiler clang-tblgen llvm-config opt FileCheck count not ClangUnitTests)
80-
if (WIN32)
81-
list(APPEND CLANG_TEST_DEPS
82-
dxc_batch ExecHLSLTests dxildll
83-
)
81+
82+
if(WIN32)
83+
list(APPEND CLANG_TEST_DEPS
84+
dxc_batch ExecHLSLTests dxildll
85+
)
8486
else()
85-
list(APPEND CLANG_TEST_DEPS
86-
dxildll
87-
)
87+
list(APPEND CLANG_TEST_DEPS
88+
dxildll
89+
)
8890
endif()
91+
8992
add_custom_target(clang-test-depends DEPENDS ${CLANG_TEST_DEPS})
9093
set_target_properties(clang-test-depends PROPERTIES FOLDER "Clang tests")
91-
# HLSL Change End
92-
9394

95+
# HLSL Change End
9496
add_lit_testsuite(check-clang "Running the Clang regression tests"
9597
${CMAKE_CURRENT_BINARY_DIR}
96-
#LIT ${LLVM_LIT}
98+
99+
# LIT ${LLVM_LIT}
97100
PARAMS ${CLANG_TEST_PARAMS}
98-
skip_taef_exec=False
101+
skip_taef_exec=False
99102
DEPENDS ${CLANG_TEST_DEPS}
100103
ARGS ${CLANG_TEST_EXTRA_ARGS}
101-
)
104+
)
102105
set_target_properties(check-clang PROPERTIES FOLDER "Clang tests")
103106

104107
# Add a legacy target spelling: clang-test
@@ -107,69 +110,75 @@ add_dependencies(clang-test check-clang)
107110
set_target_properties(clang-test PROPERTIES FOLDER "Clang tests")
108111

109112
# HLSL Change Begin - Generate lit targets for test subdirectories.
110-
111113
set(CLANG_TEST_PARAMS
112114
${CLANG_TEST_PARAMS}
113115
clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
114116
clang_taef_site_config=${CMAKE_CURRENT_BINARY_DIR}/taef/lit.site.cfg
115117
no_priority=True
116118
clang_taef_exec_site_config=${CMAKE_CURRENT_BINARY_DIR}/taef_exec/lit.site.cfg
117-
)
119+
)
118120

119121
add_lit_testsuites(CLANG ${CMAKE_CURRENT_SOURCE_DIR}
120122
PARAMS ${CLANG_TEST_PARAMS}
121123
DEPENDS ${CLANG_TEST_DEPS}
122124
FOLDER "Clang tests/Suites"
123125
)
124126

125-
# Manually generate targets that we need to expose in visual studio builds.
126-
127-
# The code below here _ONLY_ executes when building with Visual Studio or Xcode.
128-
if (NOT CMAKE_CONFIGURATION_TYPES)
129-
return()
127+
if(WIN32)
128+
if(DEFINED ENV{USE_WARP_FROM_NUGET})
129+
# Use a custom target so we can depend on it and re-run the cmake logic which downloads warp
130+
# from nuget if requested.
131+
add_custom_target(WarpFromNuget
132+
COMMAND "${CMAKE_COMMAND}"
133+
-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}
134+
-DBUILD_TYPE=${CMAKE_BUILD_TYPE}
135+
-DBINARY_DIR=${CMAKE_BINARY_DIR}
136+
-P "${CMAKE_SOURCE_DIR}/cmake/modules/nuget.cmake")
137+
138+
add_lit_target("check-clang-taef-exec-warp" "Running lit suite hlsl execution test with D3D WARP from nuget"
139+
${CMAKE_CURRENT_SOURCE_DIR}/taef_exec
140+
PARAMS ${CLANG_TEST_PARAMS}
141+
adapter=${TAEF_EXEC_ADAPTER}
142+
DEPENDS ExecHLSLTests dxexp WarpFromNuget
143+
ARGS ${CLANG_TEST_EXTRA_ARGS}
144+
)
145+
endif()
130146
endif()
131147

132-
# Add the unit test suite
133-
add_lit_target("check-clang-unit" "Running lit suite clang-unit"
134-
${CMAKE_CURRENT_SOURCE_DIR}/Unit
135-
PARAMS ${CLANG_TEST_PARAMS}
136-
DEPENDS ClangUnitTests
137-
ARGS ${CLANG_TEST_EXTRA_ARGS}
138-
)
139-
140-
# Add TAEF targets
141-
if (WIN32)
142-
add_lit_target("check-clang-taef" "Running lit suite hlsl"
143-
${CMAKE_CURRENT_SOURCE_DIR}/taef
144-
PARAMS ${CLANG_TEST_PARAMS}
145-
DEPENDS ClangHLSLTests
146-
ARGS ${CLANG_TEST_EXTRA_ARGS}
147-
)
148-
set(TAEF_EXEC_ADAPTER "" CACHE STRING "adapter for taef exec test")
149-
150-
# Use a custom target so we can depend on it and re-run the cmake logic which downloads warp
151-
# from nuget if requested.
152-
add_custom_target(WarpFromNuget
153-
COMMAND "${CMAKE_COMMAND}"
154-
-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}
155-
-DBUILD_TYPE=${CMAKE_BUILD_TYPE}
156-
-DBINARY_DIR=${CMAKE_BINARY_DIR}
157-
-P "${CMAKE_SOURCE_DIR}/cmake/modules/nuget.cmake")
158-
159-
add_lit_target("check-clang-taef-exec" "Running lit suite hlsl execution test"
160-
${CMAKE_CURRENT_SOURCE_DIR}/taef_exec
161-
PARAMS ${CLANG_TEST_PARAMS}
162-
adapter=${TAEF_EXEC_ADAPTER}
163-
DEPENDS ExecHLSLTests dxexp
164-
ARGS ${CLANG_TEST_EXTRA_ARGS}
165-
)
166-
167-
add_lit_target("check-clang-taef-exec-warp" "Running lit suite hlsl execution test with D3D WARP from nuget"
168-
${CMAKE_CURRENT_SOURCE_DIR}/taef_exec
169-
PARAMS ${CLANG_TEST_PARAMS}
170-
adapter=${TAEF_EXEC_ADAPTER}
171-
DEPENDS ExecHLSLTests dxexp WarpFromNuget
172-
ARGS ${CLANG_TEST_EXTRA_ARGS}
173-
)
148+
# add_lit_testsuites doesn't generate targets for Visual Studio or Xcode builds
149+
# (since these IDEs cannot handle the huge number of targets it generates).
150+
#
151+
# We must manually generate targets that we want to expose in visual studio
152+
# builds.
153+
if(CMAKE_CONFIGURATION_TYPES)
154+
# The code here _ONLY_ executes when building with Visual Studio or Xcode.
155+
156+
# Add the unit test suite
157+
add_lit_target("check-clang-unit" "Running lit suite clang-unit"
158+
${CMAKE_CURRENT_SOURCE_DIR}/Unit
159+
PARAMS ${CLANG_TEST_PARAMS}
160+
DEPENDS ClangUnitTests
161+
ARGS ${CLANG_TEST_EXTRA_ARGS}
162+
)
163+
164+
# Add TAEF targets
165+
if(WIN32)
166+
add_lit_target("check-clang-taef" "Running lit suite hlsl"
167+
${CMAKE_CURRENT_SOURCE_DIR}/taef
168+
PARAMS ${CLANG_TEST_PARAMS}
169+
DEPENDS ClangHLSLTests
170+
ARGS ${CLANG_TEST_EXTRA_ARGS}
171+
)
172+
set(TAEF_EXEC_ADAPTER "" CACHE STRING "adapter for taef exec test")
173+
174+
add_lit_target("check-clang-taef-exec" "Running lit suite hlsl execution test"
175+
${CMAKE_CURRENT_SOURCE_DIR}/taef_exec
176+
PARAMS ${CLANG_TEST_PARAMS}
177+
adapter=${TAEF_EXEC_ADAPTER}
178+
DEPENDS ExecHLSLTests dxexp
179+
ARGS ${CLANG_TEST_EXTRA_ARGS}
180+
)
181+
endif()
174182
endif()
183+
175184
# HLSL Change End

0 commit comments

Comments
 (0)