181a17f1b2
Fixes: http://autobuild.buildroot.net/results/afc/afc56e03a9d410563f43e5d26cf8b12fc4da7e5b/ http://autobuild.buildroot.net/results/922/9221b4967d069c9b634cb1f98ead193593d22dbc/ When the version was bumped, the existing patch to fix static linking was not proprerly tested, and was missing three new locations to be fixed. [Peter: add autobuilder reference] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Sagaert Johan <sagaert.johan@skynet.be> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
108 lines
3.2 KiB
Diff
108 lines
3.2 KiB
Diff
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
|