mirror of
https://github.com/socketio/socket.io-client-cpp.git
synced 2026-06-09 19:54:46 +00:00
simplify the cmake script and add tls target
This commit is contained in:
parent
98eaa16d79
commit
0c1be1bbaa
@ -1,54 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||||
PROJECT(sioclient)
|
PROJECT(sioclient)
|
||||||
|
|
||||||
function(get_lib_name out_lib_name component)
|
|
||||||
if(MSVC)
|
|
||||||
set(${out_lib_name} "${component}.lib" PARENT_SCOPE)
|
|
||||||
else()
|
|
||||||
set(${out_lib_name} "lib${component}.a" PARENT_SCOPE)
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(install_debug_libs lib_dir)
|
|
||||||
get_lib_name(renamed_system "boost_system")
|
|
||||||
install(FILES ${Boost_SYSTEM_LIBRARY_DEBUG}
|
|
||||||
CONFIGURATIONS "Debug" DESTINATION ${lib_dir} RENAME ${renamed_system}
|
|
||||||
)
|
|
||||||
get_lib_name(renamed_date_time "boost_date_time")
|
|
||||||
install(FILES ${Boost_DATE_TIME_LIBRARY_DEBUG}
|
|
||||||
CONFIGURATIONS "Debug" DESTINATION ${lib_dir} RENAME ${renamed_date_time}
|
|
||||||
)
|
|
||||||
get_lib_name(renamed_random "boost_random")
|
|
||||||
install(FILES ${Boost_RANDOM_LIBRARY_DEBUG}
|
|
||||||
CONFIGURATIONS "Debug" DESTINATION ${lib_dir} RENAME ${renamed_random}
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS sioclient
|
|
||||||
CONFIGURATIONS "Debug" DESTINATION ${lib_dir}
|
|
||||||
)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(install_release_libs lib_dir)
|
|
||||||
get_lib_name(renamed_system "boost_system")
|
|
||||||
install(FILES ${Boost_SYSTEM_LIBRARY_RELEASE}
|
|
||||||
CONFIGURATIONS "Release" DESTINATION ${lib_dir} RENAME ${renamed_system}
|
|
||||||
)
|
|
||||||
get_lib_name(renamed_date_time "boost_date_time")
|
|
||||||
install(FILES ${Boost_DATE_TIME_LIBRARY_RELEASE}
|
|
||||||
CONFIGURATIONS "Release" DESTINATION ${lib_dir} RENAME ${renamed_date_time}
|
|
||||||
)
|
|
||||||
get_lib_name(renamed_random "boost_random")
|
|
||||||
install(FILES ${Boost_RANDOM_LIBRARY_RELEASE}
|
|
||||||
CONFIGURATIONS "Release" DESTINATION ${lib_dir} RENAME ${renamed_random}
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS sioclient
|
|
||||||
CONFIGURATIONS "Release" DESTINATION ${lib_dir}
|
|
||||||
)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
|
|
||||||
MESSAGE(STATUS ${CMAKE_CURRENT_LIST_DIR})
|
|
||||||
if(NOT CMAKE_BUILD_TYPE )
|
if(NOT CMAKE_BUILD_TYPE )
|
||||||
MESSAGE(STATUS "not define build type, set to release" )
|
MESSAGE(STATUS "not define build type, set to release" )
|
||||||
set(CMAKE_BUILD_TYPE Release )
|
set(CMAKE_BUILD_TYPE Release )
|
||||||
@ -67,7 +19,7 @@ find_package(Boost ${BOOST_VER} REQUIRED COMPONENTS system date_time random)
|
|||||||
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src ALL_SRC)
|
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src ALL_SRC)
|
||||||
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/internal ALL_SRC)
|
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/internal ALL_SRC)
|
||||||
file(GLOB ALL_HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/*.h )
|
file(GLOB ALL_HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/*.h )
|
||||||
MESSAGE(STATUS ${ALL_HEADERS} )
|
set(SIO_INCLUDEDIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
add_library(sioclient STATIC ${ALL_SRC})
|
add_library(sioclient STATIC ${ALL_SRC})
|
||||||
target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
|
target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
|
||||||
@ -79,12 +31,32 @@ target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
|
|||||||
set_property(TARGET sioclient PROPERTY CXX_STANDARD 11)
|
set_property(TARGET sioclient PROPERTY CXX_STANDARD 11)
|
||||||
set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON)
|
set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||||
target_link_libraries(sioclient PRIVATE ${Boost_LIBRARIES})
|
target_link_libraries(sioclient PRIVATE ${Boost_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(OpenSSL)
|
||||||
|
if(OPENSSL_FOUND)
|
||||||
|
add_library(sioclient_tls STATIC ${ALL_SRC})
|
||||||
|
target_include_directories(sioclient_tls PRIVATE ${Boost_INCLUDE_DIRS}
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/src
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/lib/websocketpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/lib/rapidjson/include
|
||||||
|
${OPENSSL_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD 11)
|
||||||
|
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||||
|
target_link_libraries(sioclient_tls PRIVATE ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} )
|
||||||
|
target_compile_definitions(sioclient_tls PRIVATE -DSIO_TLS)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
install(FILES ${ALL_HEADERS}
|
install(FILES ${ALL_HEADERS}
|
||||||
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/include"
|
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/include"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
install(TARGETS sioclient
|
||||||
install_debug_libs("${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}" )
|
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}"
|
||||||
else()
|
)
|
||||||
install_release_libs("${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}" )
|
|
||||||
endif()
|
install(FILES ${Boost_LIBRARIES}
|
||||||
|
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/lib/${CMAKE_BUILD_TYPE}"
|
||||||
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user