[lld] Fixes for unitests in standalone builds (#83670)

1. Replace the obsolete `llvm_add_unittests()` CMake function with an
explicit check for `TARGET llvm_gtest`. This is more consistent with the
rest of the code, and it makes it possible to avoid checking out
`third-party` tree.
2. Add `LLDUnitTests` test dependency to standalone builds. It is
defined unconditionally, and actually necessary to ensure that unit
tests will be built.
This commit is contained in:
Michał Górny 2024-03-02 20:08:44 +01:00 committed by GitHub
parent d89b771ef5
commit af83a2add5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 4 additions and 13 deletions

View File

@ -192,7 +192,9 @@ add_subdirectory(tools/lld)
if (LLVM_INCLUDE_TESTS)
add_custom_target(LLDUnitTests)
llvm_add_unittests(LLD_UNITTESTS_ADDED)
if (TARGET llvm_gtest)
add_subdirectory(unittests)
endif()
add_subdirectory(test)
endif()

View File

@ -38,11 +38,10 @@ configure_lit_site_cfg(
"LLD_SOURCE_DIR"
)
set(LLD_TEST_DEPS lld)
set(LLD_TEST_DEPS lld LLDUnitTests)
if (NOT LLD_BUILT_STANDALONE)
list(APPEND LLD_TEST_DEPS
FileCheck
LLDUnitTests
count
dsymutil
llc

View File

@ -2509,13 +2509,3 @@ function(setup_host_tool tool_name setting_name exe_var_name target_var_name)
add_custom_target(${target_var_name} DEPENDS ${exe_name})
endif()
endfunction()
# Adds the unittests folder if gtest is available.
function(llvm_add_unittests tests_added)
if (EXISTS ${LLVM_THIRD_PARTY_DIR}/unittest/googletest/include/gtest/gtest.h)
add_subdirectory(unittests)
set(${tests_added} ON PARENT_SCOPE)
else()
message(WARNING "gtest not found, unittests will not be available")
endif()
endfunction()