Skip to content

Commit ec10ac7

Browse files
committed
[runtimes] Detect changes to Tests.cmake
This ensures that Tests.cmake is tracked by Ninja and any changes to this file from the subbuilds are correctly detected. Differential Revision: https://reviews.llvm.org/D121647
1 parent dbe96c8 commit ec10ac7

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

llvm/cmake/modules/LLVMExternalProjectUtils.cmake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,14 @@ endfunction()
5656
# Use provided strip tool instead of the default one.
5757
# TARGET_TRIPLE triple
5858
# Optional target triple to pass to the compiler
59+
# BYPRODUCTS files...
60+
# Files generated as a byproduct of this build.
5961
# )
6062
function(llvm_ExternalProject_Add name source_dir)
6163
cmake_parse_arguments(ARG
6264
"USE_TOOLCHAIN;EXCLUDE_FROM_ALL;NO_INSTALL;ALWAYS_CLEAN"
6365
"SOURCE_DIR"
64-
"CMAKE_ARGS;TOOLCHAIN_TOOLS;RUNTIME_LIBRARIES;DEPENDS;EXTRA_TARGETS;PASSTHROUGH_PREFIXES;STRIP_TOOL;TARGET_TRIPLE"
66+
"CMAKE_ARGS;TOOLCHAIN_TOOLS;RUNTIME_LIBRARIES;DEPENDS;EXTRA_TARGETS;PASSTHROUGH_PREFIXES;STRIP_TOOL;TARGET_TRIPLE;BYPRODUCTS"
6567
${ARGN})
6668
canonicalize_tool_name(${name} nameCanon)
6769

@@ -322,6 +324,7 @@ function(llvm_ExternalProject_Add name source_dir)
322324
INSTALL_COMMAND ""
323325
STEP_TARGETS configure build
324326
BUILD_ALWAYS 1
327+
BUILD_BYPRODUCTS ${ARG_BYPRODUCTS}
325328
USES_TERMINAL_CONFIGURE 1
326329
USES_TERMINAL_BUILD 1
327330
USES_TERMINAL_INSTALL 1

llvm/runtimes/CMakeLists.txt

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,11 @@ function(runtime_default_target)
220220
endforeach()
221221

222222
if(LLVM_INCLUDE_TESTS)
223-
include(${LLVM_BINARY_DIR}/runtimes/Tests.cmake OPTIONAL RESULT_VARIABLE have_tests)
223+
include(${LLVM_BINARY_DIR}/runtimes/Tests.cmake OPTIONAL)
224224
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/Tests.cmake)
225-
if(have_tests)
226-
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_TESTSUITES ${RUNTIMES_LIT_TESTSUITES})
227-
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_PARAMS ${RUNTIMES_LIT_PARAMS})
228-
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_EXTRA_ARGS ${RUNTIMES_LIT_EXTRA_ARGS})
229-
endif()
225+
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_TESTSUITES ${SUB_LIT_TESTSUITES})
226+
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_PARAMS ${SUB_LIT_PARAMS})
227+
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_EXTRA_ARGS ${SUB_LIT_EXTRA_ARGS})
230228
list(APPEND test_targets runtimes-test-depends check-runtimes)
231229
endif()
232230

@@ -262,6 +260,7 @@ function(runtime_default_target)
262260
${SUB_INSTALL_TARGETS}
263261
USE_TOOLCHAIN
264262
TARGET_TRIPLE ${LLVM_TARGET_TRIPLE}
263+
BYPRODUCTS ${LLVM_BINARY_DIR}/runtimes/Tests.cmake
265264
${EXTRA_ARGS})
266265
endfunction()
267266

@@ -303,13 +302,11 @@ function(runtime_register_target name target)
303302
endforeach()
304303

305304
if(LLVM_INCLUDE_TESTS)
306-
include(${LLVM_BINARY_DIR}/runtimes/${name}/Tests.cmake OPTIONAL RESULT_VARIABLE have_tests)
305+
include(${LLVM_BINARY_DIR}/runtimes/${name}/Tests.cmake OPTIONAL)
307306
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/${name}/Tests.cmake)
308-
if(have_tests)
309-
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_TESTSUITES ${RUNTIMES_LIT_TESTSUITES})
310-
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_PARAMS ${RUNTIMES_LIT_PARAMS})
311-
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_EXTRA_ARGS ${RUNTIMES_LIT_EXTRA_ARGS})
312-
endif()
307+
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_TESTSUITES ${SUB_LIT_TESTSUITES})
308+
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_PARAMS ${SUB_LIT_PARAMS})
309+
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_EXTRA_ARGS ${SUB_LIT_EXTRA_ARGS})
313310
set(runtimes-test-depends-${name} runtimes-test-depends)
314311
set(check-runtimes-${name} check-runtimes)
315312
list(APPEND ${name}_test_targets runtimes-test-depends-${name} check-runtimes-${name})
@@ -369,6 +366,7 @@ function(runtime_register_target name target)
369366
${${name}_test_targets}
370367
USE_TOOLCHAIN
371368
TARGET_TRIPLE ${target}
369+
BYPRODUCTS ${LLVM_BINARY_DIR}/runtimes/${name}/Tests.cmake
372370
${EXTRA_ARGS})
373371
endfunction()
374372

runtimes/Tests.cmake.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
set(RUNTIMES_LIT_TESTSUITES @RUNTIMES_LIT_TESTSUITES@)
2-
set(RUNTIMES_LIT_PARAMS @RUNTIMES_LIT_PARAMS@)
3-
set(RUNTIMES_LIT_EXTRA_ARGS @RUNTIMES_LIT_EXTRA_ARGS@)
1+
set(SUB_LIT_TESTSUITES @RUNTIMES_LIT_TESTSUITES@)
2+
set(SUB_LIT_PARAMS @RUNTIMES_LIT_PARAMS@)
3+
set(SUB_LIT_EXTRA_ARGS @RUNTIMES_LIT_EXTRA_ARGS@)

0 commit comments

Comments
 (0)