diff options
| author | Justin Bogner <mail@justinbogner.com> | 2017-08-31 00:36:33 +0000 |
|---|---|---|
| committer | Justin Bogner <mail@justinbogner.com> | 2017-08-31 00:36:33 +0000 |
| commit | 5204717208fd86e3e0414849c5a9813736cceb53 (patch) | |
| tree | 76be1d882edf49471dd531f7dc6b169b2d717e08 /llvm | |
| parent | 28454efc677b718be3b000aaeabafc1788bb3258 (diff) | |
| download | bcm5719-llvm-5204717208fd86e3e0414849c5a9813736cceb53.tar.gz bcm5719-llvm-5204717208fd86e3e0414849c5a9813736cceb53.zip | |
cmake: Invent add_llvm_fuzzer to set up fuzzer targets
This moves the cmake configuration for fuzzers in LLVM to a new macro,
add_llvm_fuzzer. This will make it easier to keep things consistent
while implementing llvm.org/pr34314.
I've also made a couple of minor functional changes here:
- the fuzzers now use add_llvm_executable rather than add_llvm_tool.
This means they won't create install targets and stuff like that,
because those made little sense for these fuzzers.
- I've grouped these under "Fuzzers" rather than in with "Tools" for
people who build with IDEs.
llvm-svn: 312200
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/cmake/modules/AddLLVM.cmake | 7 | ||||
| -rw-r--r-- | llvm/tools/llvm-as-fuzzer/CMakeLists.txt | 19 | ||||
| -rw-r--r-- | llvm/tools/llvm-dwarfdump/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | llvm/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | llvm/tools/llvm-isel-fuzzer/CMakeLists.txt | 35 | ||||
| -rw-r--r-- | llvm/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt | 26 | ||||
| -rw-r--r-- | llvm/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt | 27 |
7 files changed, 52 insertions, 70 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 1c922651b13..8c884db4706 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -892,6 +892,13 @@ macro(add_llvm_utility name) endif() endmacro(add_llvm_utility name) +macro(add_llvm_fuzzer name) + if( LLVM_USE_SANITIZE_COVERAGE ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") + add_llvm_executable(${name} ${ARGN}) + set_target_properties(${name} PROPERTIES FOLDER "Fuzzers") + endif() +endmacro() macro(add_llvm_target target_name) include_directories(BEFORE diff --git a/llvm/tools/llvm-as-fuzzer/CMakeLists.txt b/llvm/tools/llvm-as-fuzzer/CMakeLists.txt index 93b1cc1cb4c..4d75ad4825a 100644 --- a/llvm/tools/llvm-as-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-as-fuzzer/CMakeLists.txt @@ -1,12 +1,7 @@ -if( LLVM_USE_SANITIZE_COVERAGE ) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") - set(LLVM_LINK_COMPONENTS - AsmParser - BitWriter - Core - Support - ) - add_llvm_tool(llvm-as-fuzzer - llvm-as-fuzzer.cpp) -endif() +set(LLVM_LINK_COMPONENTS + AsmParser + BitWriter + Core + Support +) +add_llvm_fuzzer(llvm-as-fuzzer llvm-as-fuzzer.cpp) diff --git a/llvm/tools/llvm-dwarfdump/CMakeLists.txt b/llvm/tools/llvm-dwarfdump/CMakeLists.txt index 68f3cadf2cc..23fee30bfa4 100644 --- a/llvm/tools/llvm-dwarfdump/CMakeLists.txt +++ b/llvm/tools/llvm-dwarfdump/CMakeLists.txt @@ -11,6 +11,4 @@ add_llvm_tool(llvm-dwarfdump llvm-dwarfdump.cpp ) -if(LLVM_USE_SANITIZE_COVERAGE) - add_subdirectory(fuzzer) -endif() +add_subdirectory(fuzzer) diff --git a/llvm/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt b/llvm/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt index a8c49e329e1..318c4f7bfce 100644 --- a/llvm/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt @@ -4,9 +4,7 @@ set(LLVM_LINK_COMPONENTS Support ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") - -add_llvm_executable(llvm-dwarfdump-fuzzer +add_llvm_fuzzer(llvm-dwarfdump-fuzzer EXCLUDE_FROM_ALL llvm-dwarfdump-fuzzer.cpp ) diff --git a/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt b/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt index c53e3a381ee..474bcf928eb 100644 --- a/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt @@ -1,20 +1,15 @@ -if( LLVM_USE_SANITIZE_COVERAGE ) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") - set(LLVM_LINK_COMPONENTS - ${LLVM_TARGETS_TO_BUILD} - Analysis - AsmPrinter - CodeGen - Core - FuzzMutate - IRReader - MC - ScalarOpts - SelectionDAG - Support - Target - ) - add_llvm_tool(llvm-isel-fuzzer - llvm-isel-fuzzer.cpp) -endif() +set(LLVM_LINK_COMPONENTS + ${LLVM_TARGETS_TO_BUILD} + Analysis + AsmPrinter + CodeGen + Core + FuzzMutate + IRReader + MC + ScalarOpts + SelectionDAG + Support + Target +) +add_llvm_fuzzer(llvm-isel-fuzzer llvm-isel-fuzzer.cpp) diff --git a/llvm/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt b/llvm/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt index 9edc245759b..3545d53503b 100644 --- a/llvm/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt @@ -1,16 +1,10 @@ -if( LLVM_USE_SANITIZE_COVERAGE ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") - - set(LLVM_LINK_COMPONENTS - AllTargetsAsmPrinters - AllTargetsAsmParsers - AllTargetsDescs - AllTargetsInfos - MC - MCParser - Support - ) - - add_llvm_tool(llvm-mc-assemble-fuzzer - llvm-mc-assemble-fuzzer.cpp) -endif() +set(LLVM_LINK_COMPONENTS + AllTargetsAsmPrinters + AllTargetsAsmParsers + AllTargetsDescs + AllTargetsInfos + MC + MCParser + Support +) +add_llvm_fuzzer(llvm-mc-assemble-fuzzer llvm-mc-assemble-fuzzer.cpp) diff --git a/llvm/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt b/llvm/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt index 4371cf68a73..60b08062d09 100644 --- a/llvm/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt @@ -1,16 +1,11 @@ -if( LLVM_USE_SANITIZE_COVERAGE ) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=fuzzer") - set(LLVM_LINK_COMPONENTS - AllTargetsAsmPrinters - AllTargetsDescs - AllTargetsDisassemblers - AllTargetsInfos - MC - MCDisassembler - MCParser - Support - ) - add_llvm_tool(llvm-mc-disassemble-fuzzer - llvm-mc-disassemble-fuzzer.cpp) -endif() +set(LLVM_LINK_COMPONENTS + AllTargetsAsmPrinters + AllTargetsDescs + AllTargetsDisassemblers + AllTargetsInfos + MC + MCDisassembler + MCParser + Support +) +add_llvm_fuzzer(llvm-mc-disassemble-fuzzer llvm-mc-disassemble-fuzzer.cpp) |

