mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-24 15:12:36 +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>")
|
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()
|
endif()
|
||||||
|
|
||||||
|
add_custom_target(TestBinaries)
|
||||||
|
|
||||||
# add_libfuzzer_test(<name>
|
# add_libfuzzer_test(<name>
|
||||||
# SOURCES source0.cpp [source1.cpp ...]
|
# SOURCES source0.cpp [source1.cpp ...]
|
||||||
# )
|
# )
|
||||||
@ -63,12 +65,9 @@ function(add_libfuzzer_test name)
|
|||||||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||||
"${CMAKE_BINARY_DIR}/lib/Fuzzer/test"
|
"${CMAKE_BINARY_DIR}/lib/Fuzzer/test"
|
||||||
)
|
)
|
||||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-${name} PARENT_SCOPE)
|
add_dependencies(TestBinaries LLVMFuzzer-${name})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Variable to keep track of all test targets
|
|
||||||
set(TestBinaries)
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Basic tests
|
# Basic tests
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -166,13 +165,13 @@ target_include_directories(LLVMFuzzer-Unittest PRIVATE
|
|||||||
"${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include"
|
"${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-Unittest)
|
add_dependencies(TestBinaries LLVMFuzzer-Unittest)
|
||||||
set_target_properties(LLVMFuzzer-Unittest
|
set_target_properties(LLVMFuzzer-Unittest
|
||||||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-StandaloneInitializeTest)
|
add_dependencies(TestBinaries LLVMFuzzer-StandaloneInitializeTest)
|
||||||
set_target_properties(LLVMFuzzer-StandaloneInitializeTest
|
set_target_properties(LLVMFuzzer-StandaloneInitializeTest
|
||||||
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||||
@ -218,7 +217,7 @@ else(MSVC)
|
|||||||
LIBRARY_DIR "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
|
LIBRARY_DIR "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(TestBinaries ${TestBinaries} LLVMFuzzer-DSOTest)
|
add_dependencies(TestBinaries LLVMFuzzer-DSOTest)
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Configure lit to run the tests
|
# Configure lit to run the tests
|
||||||
@ -243,7 +242,7 @@ configure_lit_site_cfg(
|
|||||||
|
|
||||||
add_lit_testsuite(check-fuzzer "Running Fuzzer tests"
|
add_lit_testsuite(check-fuzzer "Running Fuzzer tests"
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
DEPENDS ${TestBinaries}
|
DEPENDS TestBinaries
|
||||||
)
|
)
|
||||||
|
|
||||||
# Don't add dependencies on Windows. The linker step would fail on Windows,
|
# 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"
|
"${CMAKE_BINARY_DIR}/lib/Fuzzer/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Propagate value into parent directory
|
add_dependencies(TestBinaries AFLDriverTest)
|
||||||
set(TestBinaries ${TestBinaries} AFLDriverTest PARENT_SCOPE)
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -10,6 +10,3 @@ set(UbsanTests
|
|||||||
foreach(Test ${UbsanTests})
|
foreach(Test ${UbsanTests})
|
||||||
add_libfuzzer_test(${Test}-Ubsan SOURCES ../${Test}.cpp)
|
add_libfuzzer_test(${Test}-Ubsan SOURCES ../${Test}.cpp)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Propagate value into parent directory
|
|
||||||
set(TestBinaries ${TestBinaries} PARENT_SCOPE)
|
|
||||||
|
@ -11,6 +11,3 @@ set(UninstrumentedTests
|
|||||||
foreach(Test ${UninstrumentedTests})
|
foreach(Test ${UninstrumentedTests})
|
||||||
add_libfuzzer_test(${Test}-Uninstrumented SOURCES ../${Test}.cpp)
|
add_libfuzzer_test(${Test}-Uninstrumented SOURCES ../${Test}.cpp)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Propagate value into parent directory
|
|
||||||
set(TestBinaries ${TestBinaries} PARENT_SCOPE)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user