Skip to content

Commit 0c1be1b

Browse files
committed
simplify the cmake script and add tls target
1 parent 98eaa16 commit 0c1be1b

File tree

1 file changed

+27
-55
lines changed

1 file changed

+27
-55
lines changed

CMakeLists.txt

+27-55
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,6 @@
11
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
22
PROJECT(sioclient)
33

4-
function(get_lib_name out_lib_name component)
5-
if(MSVC)
6-
set(${out_lib_name} "${component}.lib" PARENT_SCOPE)
7-
else()
8-
set(${out_lib_name} "lib${component}.a" PARENT_SCOPE)
9-
endif()
10-
endfunction()
11-
12-
function(install_debug_libs lib_dir)
13-
get_lib_name(renamed_system "boost_system")
14-
install(FILES ${Boost_SYSTEM_LIBRARY_DEBUG}
15-
CONFIGURATIONS "Debug" DESTINATION ${lib_dir} RENAME ${renamed_system}
16-
)
17-
get_lib_name(renamed_date_time "boost_date_time")
18-
install(FILES ${Boost_DATE_TIME_LIBRARY_DEBUG}
19-
CONFIGURATIONS "Debug" DESTINATION ${lib_dir} RENAME ${renamed_date_time}
20-
)
21-
get_lib_name(renamed_random "boost_random")
22-
install(FILES ${Boost_RANDOM_LIBRARY_DEBUG}
23-
CONFIGURATIONS "Debug" DESTINATION ${lib_dir} RENAME ${renamed_random}
24-
)
25-
26-
install(TARGETS sioclient
27-
CONFIGURATIONS "Debug" DESTINATION ${lib_dir}
28-
)
29-
endfunction()
30-
31-
function(install_release_libs lib_dir)
32-
get_lib_name(renamed_system "boost_system")
33-
install(FILES ${Boost_SYSTEM_LIBRARY_RELEASE}
34-
CONFIGURATIONS "Release" DESTINATION ${lib_dir} RENAME ${renamed_system}
35-
)
36-
get_lib_name(renamed_date_time "boost_date_time")
37-
install(FILES ${Boost_DATE_TIME_LIBRARY_RELEASE}
38-
CONFIGURATIONS "Release" DESTINATION ${lib_dir} RENAME ${renamed_date_time}
39-
)
40-
get_lib_name(renamed_random "boost_random")
41-
install(FILES ${Boost_RANDOM_LIBRARY_RELEASE}
42-
CONFIGURATIONS "Release" DESTINATION ${lib_dir} RENAME ${renamed_random}
43-
)
44-
45-
install(TARGETS sioclient
46-
CONFIGURATIONS "Release" DESTINATION ${lib_dir}
47-
)
48-
endfunction()
49-
50-
51-
MESSAGE(STATUS ${CMAKE_CURRENT_LIST_DIR})
524
if(NOT CMAKE_BUILD_TYPE )
535
MESSAGE(STATUS "not define build type, set to release" )
546
set(CMAKE_BUILD_TYPE Release )
@@ -67,7 +19,7 @@ find_package(Boost ${BOOST_VER} REQUIRED COMPONENTS system date_time random)
6719
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src ALL_SRC)
6820
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/internal ALL_SRC)
6921
file(GLOB ALL_HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/*.h )
70-
MESSAGE(STATUS ${ALL_HEADERS} )
22+
set(SIO_INCLUDEDIR ${CMAKE_CURRENT_LIST_DIR})
7123

7224
add_library(sioclient STATIC ${ALL_SRC})
7325
target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
@@ -79,12 +31,32 @@ target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
7931
set_property(TARGET sioclient PROPERTY CXX_STANDARD 11)
8032
set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON)
8133
target_link_libraries(sioclient PRIVATE ${Boost_LIBRARIES})
34+
35+
find_package(OpenSSL)
36+
if(OPENSSL_FOUND)
37+
add_library(sioclient_tls STATIC ${ALL_SRC})
38+
target_include_directories(sioclient_tls PRIVATE ${Boost_INCLUDE_DIRS}
39+
${CMAKE_CURRENT_LIST_DIR}/src
40+
${CMAKE_CURRENT_LIST_DIR}/lib/websocketpp
41+
${CMAKE_CURRENT_LIST_DIR}/lib/rapidjson/include
42+
${OPENSSL_INCLUDE_DIR}
43+
)
44+
45+
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD 11)
46+
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD_REQUIRED ON)
47+
target_link_libraries(sioclient_tls PRIVATE ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} )
48+
target_compile_definitions(sioclient_tls PRIVATE -DSIO_TLS)
49+
50+
endif()
51+
8252
install(FILES ${ALL_HEADERS}
8353
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/include"
84-
)
54+
)
8555

86-
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
87-
install_debug_libs("${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}" )
88-
else()
89-
install_release_libs("${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}" )
90-
endif()
56+
install(TARGETS sioclient
57+
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}"
58+
)
59+
60+
install(FILES ${Boost_LIBRARIES}
61+
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}"
62+
)

0 commit comments

Comments
 (0)