]> granicus.if.org Git - llvm/commitdiff
[CMake] Add install target for LLVMFuzzer
authorPetr Hosek <phosek@chromium.org>
Mon, 14 Aug 2017 23:37:31 +0000 (23:37 +0000)
committerPetr Hosek <phosek@chromium.org>
Mon, 14 Aug 2017 23:37:31 +0000 (23:37 +0000)
This allows including LLVMFuzzer as distribution component.

Differential Revision: https://reviews.llvm.org/D36540

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310897 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Fuzzer/CMakeLists.txt

index 46fac24c3854444e72c015ae529465a93536298d..99449067d2f6be39913fcee4df08214f4d5322c8 100644 (file)
@@ -63,6 +63,27 @@ if (LIBFUZZER_ENABLE)
       $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
       )
   target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB})
+
+  if(LLVMFuzzer IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
+      NOT LLVM_DISTRIBUTION_COMPONENTS)
+    set(export_to_llvmexports EXPORT LLVMExports)
+    set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
+  endif()
+
+  install(TARGETS LLVMFuzzer
+          ${export_to_llvmexports}
+          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+          COMPONENT LLVMFuzzer)
+
+  if (NOT CMAKE_CONFIGURATION_TYPES)
+    add_custom_target(install-LLVMFuzzer
+                      DEPENDS LLVMFuzzer
+                      COMMAND "${CMAKE_COMMAND}"
+                              -DCMAKE_INSTALL_COMPONENT=LLVMFuzzer
+                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
+  endif()
+
+  set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS LLVMFuzzer)
 endif()
 
 if (MSVC)