mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 14:47:00 +00:00
[libFuzzer] Use custom target instead of list of binaries for tests.
Update cmake to use a custom target TestBinaries instead of a list of targets. This simplifies cmake, and fix some errors. This way, we don't have to propagate the values into parents directories. We only need to use add_dependencies. Differential Revision: https://reviews.llvm.org/D29593 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294389 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f80dc2a04d
commit
7a5e009266
@ -39,6 +39,8 @@ if(MSVC)
|
||||
set(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> ${CMAKE_CXX_FLAGS} ${CRT_FLAG} /LD <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG> <TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES> /link <LINK_FLAGS>")
|
||||
endif()
|
||||
|
||||
add_custom_target(TestBinaries)
|
||||
|
||||
# add_libfuzzer_test(<name>
|
||||
# SOURCES source0.cpp [source1.cpp ...]
|
||||
# )
|
||||
@ -63,12 +65,9 @@ function(add_libfuzzer_test name)
|
||||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||
"${CMAKE_BINARY_DIR}/lib/Fuzzer/test"
|
||||
)
|
||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-${name} PARENT_SCOPE)
|
||||
add_dependencies(TestBinaries LLVMFuzzer-${name})
|
||||
endfunction()
|
||||
|
||||
# Variable to keep track of all test targets
|
||||
set(TestBinaries)
|
||||
|
||||
###############################################################################
|
||||
# Basic tests
|
||||
###############################################################################
|
||||
@ -166,13 +165,13 @@ target_include_directories(LLVMFuzzer-Unittest PRIVATE
|
||||
"${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include"
|
||||
)
|
||||
|
||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-Unittest)
|
||||
add_dependencies(TestBinaries LLVMFuzzer-Unittest)
|
||||
set_target_properties(LLVMFuzzer-Unittest
|
||||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
|
||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-StandaloneInitializeTest)
|
||||
add_dependencies(TestBinaries LLVMFuzzer-StandaloneInitializeTest)
|
||||
set_target_properties(LLVMFuzzer-StandaloneInitializeTest
|
||||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
@ -218,7 +217,7 @@ else(MSVC)
|
||||
LIBRARY_DIR "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
|
||||
endif()
|
||||
|
||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-DSOTest)
|
||||
add_dependencies(TestBinaries LLVMFuzzer-DSOTest)
|
||||
|
||||
###############################################################################
|
||||
# Configure lit to run the tests
|
||||
@ -243,7 +242,7 @@ configure_lit_site_cfg(
|
||||
|
||||
add_lit_testsuite(check-fuzzer "Running Fuzzer tests"
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${TestBinaries}
|
||||
DEPENDS TestBinaries
|
||||
)
|
||||
|
||||
# Don't add dependencies on Windows. The linker step would fail on Windows,
|
||||
|
@ -25,6 +25,5 @@ if(NOT MSVC)
|
||||
"${CMAKE_BINARY_DIR}/lib/Fuzzer/test"
|
||||
)
|
||||
|
||||
# Propagate value into parent directory
|
||||
set(TestBinaries ${TestBinaries} AFLDriverTest PARENT_SCOPE)
|
||||
add_dependencies(TestBinaries AFLDriverTest)
|
||||
endif()
|
||||
|
@ -10,6 +10,3 @@ set(UbsanTests
|
||||
foreach(Test ${UbsanTests})
|
||||
add_libfuzzer_test(${Test}-Ubsan SOURCES ../${Test}.cpp)
|
||||
endforeach()
|
||||
|
||||
# Propagate value into parent directory
|
||||
set(TestBinaries ${TestBinaries} PARENT_SCOPE)
|
||||
|
@ -11,6 +11,3 @@ set(UninstrumentedTests
|
||||
foreach(Test ${UninstrumentedTests})
|
||||
add_libfuzzer_test(${Test}-Uninstrumented SOURCES ../${Test}.cpp)
|
||||
endforeach()
|
||||
|
||||
# Propagate value into parent directory
|
||||
set(TestBinaries ${TestBinaries} PARENT_SCOPE)
|
||||
|
Loading…
Reference in New Issue
Block a user