aboutsummaryrefslogtreecommitdiff
path: root/ports/msgpack/add-static-lib-option.patch
blob: 349a413fbb59fe0b344a8e3ead25009f7d7ed3af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f92363e..b0becbb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -196,27 +196,28 @@ IF (MSGPACK_ENABLE_SHARED)
             ${CMAKE_CURRENT_SOURCE_DIR}
     )
 ENDIF ()
+IF (MSGPACK_ENABLE_STATIC)
+    ADD_LIBRARY (msgpackc-static STATIC
+        ${msgpackc_SOURCES}
+        ${msgpackc_HEADERS}
+    )
 
-ADD_LIBRARY (msgpackc-static STATIC
-    ${msgpackc_SOURCES}
-    ${msgpackc_HEADERS}
-)
-
-TARGET_INCLUDE_DIRECTORIES (msgpackc-static
-    PUBLIC
-        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-        $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
-        $<INSTALL_INTERFACE:include>
-    PRIVATE
-        ${CMAKE_CURRENT_SOURCE_DIR}
-)
+    TARGET_INCLUDE_DIRECTORIES (msgpackc-static
+        PUBLIC
+            $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+            $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
+            $<INSTALL_INTERFACE:include>
+        PRIVATE
+            ${CMAKE_CURRENT_SOURCE_DIR}
+    )
+    SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc" COMPILE_DEFINITIONS MSGPACK_DLLEXPORT=)
+ENDIF ()
 
-IF (NOT MSGPACK_ENABLE_SHARED)
+IF (MSGPACK_ENABLE_STATIC AND NOT MSGPACK_ENABLE_SHARED)
     # Add alias for subdirectories
     ADD_LIBRARY (msgpackc ALIAS msgpackc-static)
 ENDIF ()
 
-SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
 IF (MSGPACK_ENABLE_SHARED)
     IF (MSVC)
         SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
@@ -239,14 +240,18 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST
     IF (MSGPACK_ENABLE_SHARED)
         SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3 -DPIC")
     ENDIF ()
-    SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3" )
+    IF (MSGPACK_ENABLE_STATIC)
+        SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3" )
+    ENDIF ()
 ENDIF ()
 
 IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
     IF (MSGPACK_ENABLE_SHARED)
         SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
     ENDIF ()
-    SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
+    IF (MSGPACK_ENABLE_STATIC)
+        SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
+    ENDIF ()
 ENDIF ()
 
 IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
@@ -278,10 +283,12 @@ IF (MSGPACK_BUILD_EXAMPLES)
     ADD_SUBDIRECTORY (example)
 ENDIF ()
 
-IF (MSGPACK_ENABLE_SHARED)
+IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
     SET (MSGPACK_INSTALLTARGETS msgpackc msgpackc-static)
-ELSE()
+ELSEIF (MSGPACK_ENABLE_STATIC)
     SET (MSGPACK_INSTALLTARGETS msgpackc-static)
+ELSE ()
+    SET (MSGPACK_INSTALLTARGETS msgpackc)
 ENDIF ()
 
 INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} EXPORT msgpack-targets