blob: 11b6262074027d19d7afd5c5964ee9c17e826fa7 (
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 17b0a1c..7a054b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,30 @@ set(CMAKE_CXX_STANDARD 14)
project (safe-evpp C CXX)
+macro(install_shared_or_static_targets)
+ get_directory_property(shared_targets BUILDSYSTEM_TARGETS)
+ list(FILTER shared_targets EXCLUDE REGEX "_static")
+ get_directory_property(static_targets BUILDSYSTEM_TARGETS)
+ list(FILTER static_targets INCLUDE REGEX "_static")
+ if(SHARED)
+ set_target_properties(${static_targets} PROPERTIES EXCLUDE_FROM_ALL 1)
+ install (
+ TARGETS ${shared_targets}
+ EXPORT evpp-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+ else()
+ set_target_properties(${shared_targets} PROPERTIES EXCLUDE_FROM_ALL 1)
+ install (
+ TARGETS ${static_targets}
+ EXPORT evpp-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+ endif()
+endmacro()
+
if (UNIX)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
diff --git a/apps/evmc/CMakeLists.txt b/apps/evmc/CMakeLists.txt
index 888c672..e1ee45e 100644
--- a/apps/evmc/CMakeLists.txt
+++ b/apps/evmc/CMakeLists.txt
@@ -20,18 +20,9 @@ if (UNIX)
VERSION "${PACKAGE_VERSION}"
SOVERSION "${PACKAGE_SOVERSION}"
)
-
- install (
- TARGETS evmc
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
endif (UNIX)
-install (
- TARGETS evmc_static
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
-install (FILES ${evmc_PUBLIC_HEADERS} DESTINATION "include/evmc")
+install_shared_or_static_targets()
if (NOT EVPP_VCPKG_BUILD)
diff --git a/apps/evnsq/CMakeLists.txt b/apps/evnsq/CMakeLists.txt
index a4d4113..aa3b800 100644
--- a/apps/evnsq/CMakeLists.txt
+++ b/apps/evnsq/CMakeLists.txt
@@ -16,18 +16,9 @@ if (UNIX)
VERSION "${PACKAGE_VERSION}"
SOVERSION "${PACKAGE_SOVERSION}"
)
-
- install (
- TARGETS evnsq
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
endif (UNIX)
-install (
- TARGETS evnsq_static
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
-install (FILES ${evnsq_PUBLIC_HEADERS} DESTINATION "include/evnsq")
+install_shared_or_static_targets()
if (NOT EVPP_VCPKG_BUILD)
add_subdirectory(evnsqtail)
diff --git a/evpp/CMakeLists.txt b/evpp/CMakeLists.txt
index 73ee071..bb97c38 100644
--- a/evpp/CMakeLists.txt
+++ b/evpp/CMakeLists.txt
@@ -50,24 +50,10 @@ if (UNIX)
VERSION "${PACKAGE_VERSION}"
SOVERSION "${PACKAGE_SOVERSION}"
)
-
- install (
- TARGETS evpp evpp_static evpp_lite_static evpp_boost evpp_boost_static evpp_concurrentqueue evpp_concurrentqueue_static
- EXPORT ${PACKAGE_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
-
-else (UNIX)
- install (
- TARGETS evpp_static evpp_lite_static
- EXPORT ${PACKAGE_NAME}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
-
endif (UNIX)
+install_shared_or_static_targets()
+
install (FILES ${evpp_PUBLIC_HEADERS} DESTINATION "include/evpp")
install (FILES ${evpp_HTTP_PUBLIC_HEADERS} DESTINATION "include/evpp/http")
install (FILES ${evpp_HTTPC_PUBLIC_HEADERS} DESTINATION "include/evpp/httpc")
|