Skip to content

Commit

Permalink
Merge pull request #18 from ffontaine/master
Browse files Browse the repository at this point in the history
src/CMakeLists.txt: fix static build
  • Loading branch information
zhaojh329 authored Apr 7, 2020
2 parents c278fc5 + 1759dfd commit 7b257e2
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 13 deletions.
6 changes: 5 additions & 1 deletion example/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/buffer ${CMAKE_BINARY_DIR}/src ${LIBEV_INCLUDE_DIR})

add_executable(example example.c)
target_link_libraries(example uwsc ${LIBEV_LIBRARY})
if(BUILD_SHARED_LIBS)
target_link_libraries(example uwsc ${LIBEV_LIBRARY})
else()
target_link_libraries(example uwsc_s ${LIBEV_LIBRARY})
endif()
37 changes: 25 additions & 12 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/buff
set(EXTRA_LIBS ${LIBEV_LIBRARY} dl)
set(SOURCE_FILES uwsc.c log.c utils.c buffer/buffer.c sha1.c ssl.c)

option(BUILD_SHARED_LIBS "Build shared library" ON)
option(BUILD_STATIC_LIBS "Build static library" ON)

if(NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
message(FATAL_ERROR "BUILD_SHARED_LIBS and BUILD_STATIC_LIBS can't be OFF at the same time, please select at least one of them")
endif()

set(UWSC_SSL_SUPPORT_CONFIG 1)
option(UWSC_SSL_SUPPORT "SSL support" ON)

Expand Down Expand Up @@ -89,13 +96,25 @@ else()
endif()
endif()

add_library(uwsc SHARED ${SOURCE_FILES})
set_target_properties(uwsc PROPERTIES VERSION ${UWSC_VERSION_MAJOR}.${UWSC_VERSION_MINOR}.${UWSC_VERSION_PATCH})
target_link_libraries(uwsc ${EXTRA_LIBS})
if(BUILD_SHARED_LIBS)
add_library(uwsc SHARED ${SOURCE_FILES})
set_target_properties(uwsc PROPERTIES VERSION ${UWSC_VERSION_MAJOR}.${UWSC_VERSION_MINOR}.${UWSC_VERSION_PATCH})
target_link_libraries(uwsc ${EXTRA_LIBS})
install(
TARGETS uwsc
LIBRARY DESTINATION lib
)
endif()

add_library(uwsc_s STATIC ${SOURCE_FILES})
set_target_properties(uwsc_s PROPERTIES OUTPUT_NAME uwsc)
target_link_libraries(uwsc_s ${EXTRA_LIBS})
if(BUILD_STATIC_LIBS)
add_library(uwsc_s STATIC ${SOURCE_FILES})
set_target_properties(uwsc_s PROPERTIES OUTPUT_NAME uwsc)
target_link_libraries(uwsc_s ${EXTRA_LIBS})
install(
TARGETS uwsc_s
ARCHIVE DESTINATION lib
)
endif()

# configure a header file to pass some of the CMake settings to the source code
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
Expand All @@ -114,11 +133,5 @@ install(
include/uwsc
)

install(
TARGETS uwsc uwsc_s
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

message(STATUS "UWSC_VERSION: ${UWSC_VERSION_MAJOR}.${UWSC_VERSION_MINOR}.${UWSC_VERSION_PATCH}")
message(STATUS "UWSC_SSL_SUPPORT: ${SSL_NAME}")

0 comments on commit 7b257e2

Please sign in to comment.