11cmake_minimum_required (VERSION 3.1.0 FATAL_ERROR)
22PROJECT (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} )
524if (NOT CMAKE_BUILD_TYPE )
535MESSAGE (STATUS "not define build type, set to release" )
546set (CMAKE_BUILD_TYPE Release )
@@ -67,7 +19,7 @@ find_package(Boost ${BOOST_VER} REQUIRED COMPONENTS system date_time random)
6719aux_source_directory (${CMAKE_CURRENT_LIST_DIR} /src ALL_SRC)
6820aux_source_directory (${CMAKE_CURRENT_LIST_DIR} /src/internal ALL_SRC)
6921file (GLOB ALL_HEADERS ${CMAKE_CURRENT_LIST_DIR} /src/*.h )
70- MESSAGE ( STATUS ${ALL_HEADERS} )
22+ set (SIO_INCLUDEDIR ${CMAKE_CURRENT_LIST_DIR} )
7123
7224add_library (sioclient STATIC ${ALL_SRC} )
7325target_include_directories (sioclient PRIVATE ${Boost_INCLUDE_DIRS}
@@ -79,12 +31,32 @@ target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
7931set_property (TARGET sioclient PROPERTY CXX_STANDARD 11)
8032set_property (TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON )
8133target_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+
8252install (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