123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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
|