[PATCH] D27870: [libFuzzer] Diff 25 - Fix test with shared libraries on Windows.

Marcos Pividori via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 17 01:44:16 PST 2016


mpividori updated this revision to Diff 81841.
mpividori added a comment.

@zturner I updated the code. I think this final solution is appropiate. Following cmake documentation:
 + I set ARCHIVE_OUTPUT_DIRECTORY as the destination of the import library.
 + I set RUNTIME_OUTPUT_DIRECTORY as the destination of the dll library.
Let me know if you agree.


Repository:
  rL LLVM

https://reviews.llvm.org/D27870

Files:
  lib/Fuzzer/test/CMakeLists.txt
  lib/Fuzzer/test/DSO1.cpp
  lib/Fuzzer/test/DSO2.cpp


Index: lib/Fuzzer/test/DSO2.cpp
===================================================================
--- lib/Fuzzer/test/DSO2.cpp
+++ lib/Fuzzer/test/DSO2.cpp
@@ -2,7 +2,9 @@
 // License. See LICENSE.TXT for details.
 
 // Source code for a simple DSO.
-
+#ifdef _WIN32
+__declspec( dllexport )
+#endif
 int DSO2(int a) {
   if (a < 3598235)
     return 0;
Index: lib/Fuzzer/test/DSO1.cpp
===================================================================
--- lib/Fuzzer/test/DSO1.cpp
+++ lib/Fuzzer/test/DSO1.cpp
@@ -2,7 +2,9 @@
 // License. See LICENSE.TXT for details.
 
 // Source code for a simple DSO.
-
+#ifdef _WIN32
+__declspec( dllexport )
+#endif
 int DSO1(int a) {
   if (a < 123456)
     return 0;
Index: lib/Fuzzer/test/CMakeLists.txt
===================================================================
--- lib/Fuzzer/test/CMakeLists.txt
+++ lib/Fuzzer/test/CMakeLists.txt
@@ -215,10 +215,22 @@
 
 set_target_properties(LLVMFuzzer-DSOTest PROPERTIES RUNTIME_OUTPUT_DIRECTORY
   "${CMAKE_BINARY_DIR}/lib/Fuzzer/test")
-set_target_properties(LLVMFuzzer-DSO1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY
-  "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
-set_target_properties(LLVMFuzzer-DSO2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY
-  "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+if(MSVC)
+  # Set the output directory for the dll and import library.
+  set_target_properties(LLVMFuzzer-DSO1 PROPERTIES ARCHIVE_OUTPUT_DIRECTORY
+    "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+  set_target_properties(LLVMFuzzer-DSO1 PROPERTIES RUNTIME_OUTPUT_DIRECTORY
+    "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+  set_target_properties(LLVMFuzzer-DSO2 PROPERTIES ARCHIVE_OUTPUT_DIRECTORY
+    "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+  set_target_properties(LLVMFuzzer-DSO2 PROPERTIES RUNTIME_OUTPUT_DIRECTORY
+    "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+else()
+  set_target_properties(LLVMFuzzer-DSO1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY
+    "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+  set_target_properties(LLVMFuzzer-DSO2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY
+    "${CMAKE_BINARY_DIR}/lib/Fuzzer/lib")
+endif()
 
 set(TestBinaries ${TestBinaries} LLVMFuzzer-DSOTest)
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27870.81841.patch
Type: text/x-patch
Size: 2130 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161217/54959fcd/attachment.bin>


More information about the llvm-commits mailing list