11add_library (
22 roar STATIC
3- server.cpp
4- client.cpp
5- mime_type.cpp
6- mechanics/ranges.cpp
7- mechanics/cookie.cpp
8- authorization/authorization.cpp
9- authorization/basic_auth.cpp
10- authorization/digest_auth.cpp
11- filesystem/jail.cpp
12- filesystem/special_paths.cpp
13- routing/route.cpp
14- routing/router.cpp
15- session/factory.cpp
16- session/session.cpp
17- ssl/make_ssl_context.cpp
18- websocket/websocket_session.cpp
19- websocket/websocket_client.cpp
20- websocket/websocket_base.cpp
21- curl/sources/file_source.cpp
22- curl/sources/string_source.cpp
23- curl/global_curl_context.cpp
24- curl/request.cpp
25- curl/response.cpp
26- url/ipv4.cpp
27- url/ipv6.cpp
28- url/url.cpp
29- url/encode.cpp
30- utility/base64.cpp
31- utility/shutdown_barrier.cpp
32- utility/sha.cpp
33- utility/date.cpp )
3+ server.cpp
4+ client.cpp
5+ mechanics/ranges.cpp
6+ mechanics/cookie.cpp
7+ authorization/authorization.cpp
8+ authorization/basic_auth.cpp
9+ authorization/digest_auth.cpp
10+ routing/route.cpp
11+ routing/router.cpp
12+ session/factory.cpp
13+ session/session.cpp
14+ ssl/make_ssl_context.cpp
15+ websocket/websocket_session.cpp
16+ websocket/websocket_client.cpp
17+ websocket/websocket_base.cpp
18+ utility/shutdown_barrier.cpp
19+ utility/sha.cpp
20+ utility/date.cpp
21+ )
22+
23+ add_library (
24+ roar-curl STATIC
25+ curl/sources/file_source.cpp
26+ curl/sources/string_source.cpp
27+ curl/global_curl_context.cpp
28+ curl/request.cpp
29+ curl/response.cpp
30+ url/encode.cpp
31+ url/ipv4.cpp
32+ url/ipv6.cpp
33+ url/url.cpp
34+ )
35+
36+ add_library (
37+ roar-no-net STATIC
38+ mime_type.cpp
39+ filesystem/special_paths.cpp
40+ utility/base64.cpp
41+ filesystem/jail.cpp
42+ )
3443
3544include (../../cmake/warnings.cmake )
3645
37- target_compile_features (roar PUBLIC cxx_std_20 )
46+ target_compile_features (roar-no-net PRIVATE cxx_std_20 )
47+ target_include_directories (roar-no-net PUBLIC ${CMAKE_CURRENT_SOURCE_DIR } /../../include )
48+ target_link_libraries (
49+ roar-no-net
50+ PUBLIC Boost::boost
51+ )
52+
53+ target_compile_features (roar-curl PRIVATE cxx_std_20 )
54+ target_include_directories (roar-curl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR } /../../include )
55+ target_link_libraries (
56+ roar-curl
57+ PUBLIC CURL::libcurl roar-no-net
58+ )
59+
60+ target_compile_features (roar PRIVATE cxx_std_20 )
3861target_include_directories (roar PUBLIC ${CMAKE_CURRENT_SOURCE_DIR } /../../include
3962 ${CURL_INCLUDE_DIR} )
4063target_link_libraries (
4164 roar
4265 PUBLIC Boost::boost
4366 promise
4467 roar-cryptopp
45- CURL::libcurl
4668 OpenSSL::SSL
4769 OpenSSL::Crypto
70+ roar-no-net
71+ roar-curl
4872)
4973
74+ add_library (roar::roar ALIAS roar )
75+ add_library (roar::no-net ALIAS roar-no-net )
76+ add_library (roar::curl ALIAS roar-curl )
77+
5078set_target_warnings (roar )
79+ set_target_warnings (roar-no-net )
80+ set_target_warnings (roar-curl )
5181
5282if (${ROAR_ENABLE_NLOHMANN_JSON} )
83+ target_link_libraries (roar-curl PUBLIC nlohmann_json::nlohmann_json )
84+ target_compile_definitions (roar-curl PUBLIC ROAR_ENABLE_NLOHMANN_JSON=1 )
5385 target_link_libraries (roar PUBLIC nlohmann_json::nlohmann_json )
5486 target_compile_definitions (roar PUBLIC ROAR_ENABLE_NLOHMANN_JSON=1 )
5587endif ()
@@ -62,14 +94,18 @@ endif()
6294if (WIN32 )
6395 # MS SOCK
6496 target_link_libraries (roar PUBLIC -lws2_32 -lmswsock -lbcrypt )
97+ target_link_libraries (roar-curl PUBLIC -lbcrypt )
6598
6699 if ("${CMAKE_CXX_COMPILER_ID } " STREQUAL "Clang" )
67100 # target_compile_definitions(roar PUBLIC BOOST_USE_WINDOWS_H=1)
68101 else ()
69102 target_link_libraries (roar PUBLIC -latomic )
103+ target_link_libraries (roar-curl PUBLIC -latomic )
70104 endif ()
71105else ()
72106
73107endif ()
74108
75109set_target_outputs (roar )
110+ set_target_outputs (roar-no-net )
111+ set_target_outputs (roar-curl )
0 commit comments