Skip to content

Commit 373a01c

Browse files
uilianriesjmigual
andauthored
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>
1 parent c6be96b commit 373a01c

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ if (DISABLE_LOGGING)
4444
add_definitions(-DSIO_DISABLE_LOGGING)
4545
endif()
4646

47-
set(ALL_SRC
47+
set(ALL_SRC
4848
"src/sio_client.cpp"
4949
"src/sio_socket.cpp"
5050
"src/internal/sio_client_impl.cpp"
@@ -67,16 +67,18 @@ endif()
6767

6868
include(GNUInstallDirs)
6969

70-
target_include_directories(sioclient
70+
target_include_directories(sioclient
7171
PUBLIC
7272
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
7373
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
7474
PRIVATE
7575
${MODULE_INCLUDE_DIRS}
7676
)
7777

78-
set_property(TARGET sioclient PROPERTY CXX_STANDARD 11)
79-
set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON)
78+
target_compile_features(sioclient PUBLIC cxx_std_11)
79+
80+
find_package(Threads REQUIRED)
81+
target_link_libraries(sioclient PUBLIC Threads::Threads)
8082

8183
if(BUILD_SHARED_LIBS)
8284
set_target_properties(sioclient
@@ -100,15 +102,14 @@ if(OPENSSL_FOUND)
100102
${OPENSSL_INCLUDE_DIR}
101103
)
102104

103-
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD 11)
104-
set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD_REQUIRED ON)
105-
105+
target_compile_features(sioclient_tls PUBLIC cxx_std_11)
106106
target_link_libraries(sioclient_tls PRIVATE OpenSSL::SSL OpenSSL::Crypto)
107-
if (NOT USE_SUBMODULES)
107+
if (NOT USE_SUBMODULES)
108108
target_link_libraries(sioclient_tls PRIVATE websocketpp::websocketpp asio asio::asio rapidjson)
109109
endif()
110110

111111
target_compile_definitions(sioclient_tls PRIVATE -DSIO_TLS)
112+
target_link_libraries(sioclient_tls PUBLIC Threads::Threads)
112113

113114
if(BUILD_SHARED_LIBS)
114115
set_target_properties(sioclient_tls

examples/Console/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
2+
find_package(Threads REQUIRED)
23
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
34
add_executable(sio_console_demo main.cpp)
4-
set_property(TARGET sio_console_demo PROPERTY CXX_STANDARD 11)
5-
set_property(TARGET sio_console_demo PROPERTY CXX_STANDARD_REQUIRED ON)
65
target_link_libraries(sio_console_demo sioclient)
7-
target_link_libraries(sio_console_demo pthread )
6+
target_link_libraries(sio_console_demo Threads::Threads)
7+
target_compile_features(sio_console_demo PRIVATE cxx_std_11)
88
message(STATUS ${Boost_INCLUDE_DIRS} )
99
#target_include_directories(sio_console_demo PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src" ${Boost_INCLUDE_DIRS} )
10-

test/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ FetchContent_Declare(
77
)
88
FetchContent_MakeAvailable(Catch2)
99

10+
find_package(Threads REQUIRED)
11+
1012
add_executable(sio_test sio_test.cpp)
11-
set_property(TARGET sio_test PROPERTY CXX_STANDARD 11)
12-
set_property(TARGET sio_test PROPERTY CXX_STANDARD_REQUIRED ON)
13-
target_link_libraries(sio_test PRIVATE Catch2::Catch2WithMain sioclient)
13+
target_link_libraries(sio_test PRIVATE Catch2::Catch2WithMain sioclient Threads::Threads)
1414
add_test(sioclient_test sio_test)

0 commit comments

Comments
 (0)