build: Allow using new C++ standards when building (#426)
* Require C++11 as minimal standard Signed-off-by: Uilian Ries <uilianries@gmail.com> * Link to thread when needed Signed-off-by: Uilian Ries <uilianries@gmail.com> * public thread target Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix typo with target_compile_features --------- Signed-off-by: Uilian Ries <uilianries@gmail.com> Co-authored-by: Joan Marcè i Igual <jmigual@users.noreply.github.com>
This commit is contained in:
parent
c6be96b226
commit
373a01c989
@ -44,7 +44,7 @@ if (DISABLE_LOGGING)
|
||||
add_definitions(-DSIO_DISABLE_LOGGING)
|
||||
endif()
|
||||
|
||||
set(ALL_SRC
|
||||
set(ALL_SRC
|
||||
"src/sio_client.cpp"
|
||||
"src/sio_socket.cpp"
|
||||
"src/internal/sio_client_impl.cpp"
|
||||
@ -67,7 +67,7 @@ endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
target_include_directories(sioclient
|
||||
target_include_directories(sioclient
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
@ -75,8 +75,10 @@ target_include_directories(sioclient
|
||||
${MODULE_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set_property(TARGET sioclient PROPERTY CXX_STANDARD 11)
|
||||
set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
target_compile_features(sioclient PUBLIC cxx_std_11)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(sioclient PUBLIC Threads::Threads)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set_target_properties(sioclient
|
||||
@ -100,15 +102,14 @@ if(OPENSSL_FOUND)
|
||||
${OPENSSL_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD 11)
|
||||
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
target_compile_features(sioclient_tls PUBLIC cxx_std_11)
|
||||
target_link_libraries(sioclient_tls PRIVATE OpenSSL::SSL OpenSSL::Crypto)
|
||||
if (NOT USE_SUBMODULES)
|
||||
if (NOT USE_SUBMODULES)
|
||||
target_link_libraries(sioclient_tls PRIVATE websocketpp::websocketpp asio asio::asio rapidjson)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(sioclient_tls PRIVATE -DSIO_TLS)
|
||||
target_link_libraries(sioclient_tls PUBLIC Threads::Threads)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set_target_properties(sioclient_tls
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
find_package(Threads REQUIRED)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
add_executable(sio_console_demo main.cpp)
|
||||
set_property(TARGET sio_console_demo PROPERTY CXX_STANDARD 11)
|
||||
set_property(TARGET sio_console_demo PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
target_link_libraries(sio_console_demo sioclient)
|
||||
target_link_libraries(sio_console_demo pthread )
|
||||
target_link_libraries(sio_console_demo Threads::Threads)
|
||||
target_compile_features(sio_console_demo PRIVATE cxx_std_11)
|
||||
message(STATUS ${Boost_INCLUDE_DIRS} )
|
||||
#target_include_directories(sio_console_demo PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src" ${Boost_INCLUDE_DIRS} )
|
||||
|
||||
|
||||
@ -7,8 +7,8 @@ FetchContent_Declare(
|
||||
)
|
||||
FetchContent_MakeAvailable(Catch2)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
add_executable(sio_test sio_test.cpp)
|
||||
set_property(TARGET sio_test PROPERTY CXX_STANDARD 11)
|
||||
set_property(TARGET sio_test PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
target_link_libraries(sio_test PRIVATE Catch2::Catch2WithMain sioclient)
|
||||
target_link_libraries(sio_test PRIVATE Catch2::Catch2WithMain sioclient Threads::Threads)
|
||||
add_test(sioclient_test sio_test)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user