diff options
author | Nico Weber <nicolasweber@gmx.de> | 2018-09-14 17:34:46 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2018-09-14 17:34:46 +0000 |
commit | 1739dbf6a6f8cac7850ca820f338439e1f30d82d (patch) | |
tree | ef6e0992d66aa4b057e84458b13db6496c3a066e /llvm | |
parent | 66945cf6e314a244d7ee51be41952d57fbd48753 (diff) | |
download | bcm5719-llvm-1739dbf6a6f8cac7850ca820f338439e1f30d82d.tar.gz bcm5719-llvm-1739dbf6a6f8cac7850ca820f338439e1f30d82d.zip |
Introduce explicit add_unittest_with_input_files target for tests that use llvm::getInputFileDirectory()
Using llvm::getInputFileDirectory() in unit tests is discouraged, so require an explicit opt-in.
This way, cmake also writes ~60 fewer unused files to disk.
Differential Revision: https://reviews.llvm.org/D52095
llvm-svn: 342248
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/cmake/modules/AddLLVM.cmake | 15 | ||||
-rw-r--r-- | llvm/unittests/CMakeLists.txt | 3 | ||||
-rw-r--r-- | llvm/unittests/DebugInfo/PDB/CMakeLists.txt | 2 |
3 files changed, 14 insertions, 6 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 02481760bea..d60b52b4f9b 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -1113,11 +1113,6 @@ function(add_unittest test_suite test_name) # API for all shared libaries loaded by this executable. target_link_libraries(${test_name} PRIVATE gtest_main gtest ${LLVM_PTHREAD_LIB}) - set(LLVM_UNITTEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - configure_file( - ${LLVM_MAIN_SRC_DIR}/unittests/unittest.cfg.in - ${CMAKE_CURRENT_BINARY_DIR}/llvm.srcdir.txt) - add_dependencies(${test_suite} ${test_name}) get_target_property(test_suite_folder ${test_suite} FOLDER) if (NOT ${test_suite_folder} STREQUAL "NOTFOUND") @@ -1125,6 +1120,16 @@ function(add_unittest test_suite test_name) endif () endfunction() +# Use for test binaries that call llvm::getInputFileDirectory(). Use of this +# is discouraged. +function(add_unittest_with_input_files test_suite test_name) + set(LLVM_UNITTEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + configure_file( + ${LLVM_MAIN_SRC_DIR}/unittests/unittest.cfg.in + ${CMAKE_CURRENT_BINARY_DIR}/llvm.srcdir.txt) + + add_unittest(${test_suite} ${test_name} ${ARGN}) +endfunction() # Generic support for adding a benchmark. function(add_benchmark benchmark_name) diff --git a/llvm/unittests/CMakeLists.txt b/llvm/unittests/CMakeLists.txt index f9166509b4e..bc41ab66a23 100644 --- a/llvm/unittests/CMakeLists.txt +++ b/llvm/unittests/CMakeLists.txt @@ -4,6 +4,9 @@ set_target_properties(UnitTests PROPERTIES FOLDER "Tests") function(add_llvm_unittest test_dirname) add_unittest(UnitTests ${test_dirname} ${ARGN}) endfunction() +function(add_llvm_unittest_with_input_files test_dirname) + add_unittest_with_input_files(UnitTests ${test_dirname} ${ARGN}) +endfunction() add_subdirectory(ADT) add_subdirectory(Analysis) diff --git a/llvm/unittests/DebugInfo/PDB/CMakeLists.txt b/llvm/unittests/DebugInfo/PDB/CMakeLists.txt index 842a42b6802..4edfd50c148 100644 --- a/llvm/unittests/DebugInfo/PDB/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/PDB/CMakeLists.txt @@ -4,7 +4,7 @@ set(LLVM_LINK_COMPONENTS DebugInfoPDB ) -add_llvm_unittest(DebugInfoPDBTests +add_llvm_unittest_with_input_files(DebugInfoPDBTests HashTableTest.cpp NativeSymbolReuseTest.cpp StringTableBuilderTest.cpp |