summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2017-08-31 00:36:33 +0000
committerJustin Bogner <mail@justinbogner.com>2017-08-31 00:36:33 +0000
commit5204717208fd86e3e0414849c5a9813736cceb53 (patch)
tree76be1d882edf49471dd531f7dc6b169b2d717e08 /llvm
parent28454efc677b718be3b000aaeabafc1788bb3258 (diff)
downloadbcm5719-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.cmake7
-rw-r--r--llvm/tools/llvm-as-fuzzer/CMakeLists.txt19
-rw-r--r--llvm/tools/llvm-dwarfdump/CMakeLists.txt4
-rw-r--r--llvm/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt4
-rw-r--r--llvm/tools/llvm-isel-fuzzer/CMakeLists.txt35
-rw-r--r--llvm/tools/llvm-mc-assemble-fuzzer/CMakeLists.txt26
-rw-r--r--llvm/tools/llvm-mc-disassemble-fuzzer/CMakeLists.txt27
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)
OpenPOWER on IntegriCloud