summaryrefslogtreecommitdiffstats
path: root/package/libwebsockets/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch
blob: 95d1ad8f39286987b4ea2109bc2391a3cd60f04a (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
From 045b035bd9ebbd45f40dda36b143ede869eb5f16 Mon Sep 17 00:00:00 2001
From: Sagaert Johan <sagaert.johan@skynet.be>
Date: Fri, 31 Oct 2014 12:25:48 +0100
Subject: [PATCH 2/2] cmake: disable shared library build when
 BUILD_SHARED_LIBS is off

Original patch from Samuel Martin, reworked by Sagaert Johan when
updating libwebsockets.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
[yann.morin.1998@free.fr: further fix after the version bumped]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 CMakeLists.txt | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7978845..89853ce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -372,14 +372,19 @@ source_group("Sources"          FILES ${SOURCES})
 #
 # Create the lib.
 #
+set(_libs_websockets websockets)
 add_library(websockets STATIC
 			${HDR_PRIVATE}
 			${HDR_PUBLIC}
 			${SOURCES})
+
+if(BUILD_SHARED_LIBS)
+list(APPEND _libs_websockets websockets_shared)
 add_library(websockets_shared SHARED
 			${HDR_PRIVATE}
 			${HDR_PUBLIC}
 			${SOURCES})
+endif()
 
 if (WIN32)
 	# On Windows libs have the same file ending (.lib)
@@ -400,15 +405,17 @@ endif(WIN32)
 
 # We want the shared lib to be named "libwebsockets"
 # not "libwebsocket_shared".
+if(BUILD_SHARED_LIBS)
 set_target_properties(websockets_shared
-		PROPERTIES 
+		PROPERTIES
 		OUTPUT_NAME websockets)
+endif()
 
 # Set the so version of the lib.
 # Equivalent to LDFLAGS=-version-info x:x:x
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
-	foreach(lib websockets websockets_shared)
-		set_target_properties(${lib} 
+	foreach(lib ${_libs_websockets})
+		set_target_properties(${lib}
 			PROPERTIES
 			SOVERSION ${SOVERSION})
 	endforeach()
@@ -460,7 +467,7 @@ if (NOT LWS_WITHOUT_EXTENSIONS)
 	endif()
 
 	# Make sure ZLib is compiled before the libs.
-	foreach (lib websockets websockets_shared)
+	foreach (lib ${_libs_websockets})
 		add_dependencies(${lib} ZLIB)
 	endforeach()
 
@@ -524,7 +531,7 @@ if (UNIX)
 endif()
 
 # Setup the linking for all libs.
-foreach (lib websockets websockets_shared)
+foreach (lib ${_libs_websockets})
 	target_link_libraries(${lib} ${LIB_LIST})
 endforeach()
 
@@ -793,7 +800,7 @@
 set(LWS_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
 
 # Export targets (This is used for other CMake projects to easily find the libraries and include files).
-export(TARGETS websockets websockets_shared
+export(TARGETS ${_libs_websockets}
         FILE "${PROJECT_BINARY_DIR}/LibwebsocketsTargets.cmake")
 export(PACKAGE libwebsockets)
 
@@ -829,7 +835,7 @@
                 ${PROJECT_BINARY_DIR}/LibwebsocketsConfigVersion.cmake 
                 @ONLY)
 
-set_target_properties(websockets websockets_shared 
+set_target_properties(${_libs_websockets}
 					PROPERTIES PUBLIC_HEADER "${HDR_PUBLIC}")
 
 #
@@ -837,7 +843,7 @@
 #
 
 # Install libs and headers.
-install(TARGETS websockets websockets_shared
+install(TARGETS ${_libs_websockets}
 		EXPORT LibwebsocketsTargets
 		LIBRARY DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries
 		ARCHIVE DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries
OpenPOWER on IntegriCloud