Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8df1f1c

Browse files
committed
Merge pull request#281 from niosHD/improve-build-system
Improve build system
2 parents438a55c +f796642 commit8df1f1c

File tree

8 files changed

+114
-52
lines changed

8 files changed

+114
-52
lines changed

‎CMakeLists.txt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
7070
-DASIO_HAS_STD_ADDRESSOFF-DASIO_HAS_STD_FUNCTION-DASIO_HAS_STD_TYPE_TRAITS)
7171
endif()
7272

73-
message("C++ Compiler ID:${CMAKE_CXX_COMPILER_ID}")
74-
message("C++ Flags:${CMAKE_CXX_FLAGS} link flags:${CMAKE_CXX_LINK_FLAGS}")
73+
message(STATUS"C++ Compiler ID:${CMAKE_CXX_COMPILER_ID}")
74+
message(STATUS"C++ Flags:${CMAKE_CXX_FLAGS} link flags:${CMAKE_CXX_LINK_FLAGS}")
7575
if (Boost_FOUND)
7676
if (MSVC)
7777
add_definitions(-D_SCL_SECURE_NO_WARNINGS)
@@ -92,6 +92,17 @@ message(STATUS " CPP-NETLIB_DISABLE_LOGGING: ${CPP-NETLIB_DISABLE_LOGGING}\t(
9292
message(STATUS" CPP-NETLIB_DISABLE_LIBCXX: ${CPP-NETLIB_DISABLE_LIBCXX}\t(Disable using libc++ when building with clang: ON, OFF)")
9393
message(STATUS"CMake build options selected:")
9494

95+
# Takes one or more lists as parameter and prepends the prefix to every element.
96+
function(prependToElementsprefix)
97+
foreach(list${ARGN} )# iterate over lists
98+
set(newlist"")
99+
foreach(ele${${list}} )# iterate over the elements
100+
set(newlist${newlist}"${prefix}${ele}")
101+
endforeach(ele)
102+
set(${list}${newlist}PARENT_SCOPE)# replace the original list
103+
endforeach(list)
104+
endfunction(prependToElements)
105+
95106
############################################################################
96107
#
97108
# The code following this point is for the new directory structure
@@ -133,6 +144,7 @@ if(CPP-NETLIB_BUILD_SINGLE_LIB)
133144
${CMAKE_CURRENT_SOURCE_DIR}/logging/src
134145
${CMAKE_CURRENT_SOURCE_DIR}/message/src
135146
${CMAKE_CURRENT_SOURCE_DIR}/uri/src
147+
${CMAKE_CURRENT_SOURCE_DIR}
136148
)
137149
endif()
138150

@@ -155,6 +167,7 @@ if(CPP-NETLIB_BUILD_SINGLE_LIB)
155167
${CPP-NETLIB_LOGGING_SRCS}
156168
${CPP-NETLIB_HTTP_CLIENT_SRCS}
157169
${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS}
170+
${CPP-NETLIB_HTTP_SERVER_SRCS}
158171
${CPP-NETLIB_HTTP_MESSAGE_SRCS}
159172
${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS}
160173
${CPP-NETLIB_CONSTANTS_SRCS}

‎concurrency/src/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,16 @@
55

66
include_directories(${CPP-NETLIB_SOURCE_DIR}/concurrency/src)
77

8-
set(CPP-NETLIB_CONCURRENCY_SRCS${CMAKE_CURRENT_SOURCE_DIR}/thread_pool.cpp)
8+
set(CPP-NETLIB_CONCURRENCY_SRCS
9+
thread_pool.cpp)
10+
911
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
1012
add_library(cppnetlib-concurrency${CPP-NETLIB_CONCURRENCY_SRCS})
1113
endif()
1214

15+
# prepend current directory to make paths absolute
16+
prependToElements("${CMAKE_CURRENT_SOURCE_DIR}/"
17+
CPP-NETLIB_CONCURRENCY_SRCS )
18+
1319
# propagate sources to parent directory for one-lib-build
1420
set(CPP-NETLIB_CONCURRENCY_SRCS${CPP-NETLIB_CONCURRENCY_SRCS}PARENT_SCOPE)

‎contrib/http_examples/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ if (OPENSSL_FOUND)
1313
include_directories(${OPENSSL_INCLUDE_DIR})
1414
endif (OPENSSL_FOUND)
1515

16-
if(NOTCPP-NETLIB_DISABLE_LOGGING )
16+
set(CPP-NETLIB_LOGGING_LIB"" )
17+
if(NOTCPP-NETLIB_DISABLE_LOGGINGANDNOTCPP-NETLIB_BUILD_SINGLE_LIB)
1718
set(CPP-NETLIB_LOGGING_LIBcppnetlib-logging )
1819
endif()
1920

‎http/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ set(CPP-NETLIB_HTTP_MESSAGE_SRCS ${CPP-NETLIB_HTTP_MESSAGE_SRCS} PARENT_SCOPE)
1515
set(CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS}PARENT_SCOPE)
1616
set(CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS}PARENT_SCOPE)
1717
set(CPP-NETLIB_HTTP_CLIENT_SRCS${CPP-NETLIB_HTTP_CLIENT_SRCS}PARENT_SCOPE)
18+
set(CPP-NETLIB_HTTP_SERVER_SRCS${CPP-NETLIB_HTTP_SERVER_SRCS}PARENT_SCOPE)
1819
set(CPP-NETLIB_CONSTANTS_SRCS${CPP-NETLIB_CONSTANTS_SRCS}PARENT_SCOPE)

‎http/src/CMakeLists.txt

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ include_directories(${OPENSSL_INCLUDE_DIR})
1919
endif()
2020

2121
set(CPP-NETLIB_HTTP_MESSAGE_SRCS
22-
${CMAKE_CURRENT_SOURCE_DIR}/http/request.cpp
23-
${CMAKE_CURRENT_SOURCE_DIR}/http/response.cpp)
22+
http/request.cpp
23+
http/response.cpp)
24+
2425
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
2526
add_library(cppnetlib-http-message${CPP-NETLIB_HTTP_MESSAGE_SRCS})
2627
add_dependencies(cppnetlib-http-message
@@ -30,41 +31,49 @@ if(NOT CPP-NETLIB_BUILD_SINGLE_LIB)
3031
cppnetlib-message)
3132
endif()
3233

33-
set(CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS${CMAKE_CURRENT_SOURCE_DIR}/http/message/wrappers.cpp)
34+
set(CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS
35+
http/message/wrappers.cpp)
36+
3437
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
3538
add_library(cppnetlib-http-message-wrappers${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS})
3639
endif()
3740

3841
set(CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS
39-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_connections.cpp
40-
${CMAKE_CURRENT_SOURCE_DIR}/http/simple_connection_manager.cpp
41-
${CMAKE_CURRENT_SOURCE_DIR}/http/simple_connection_factory.cpp
42-
${CMAKE_CURRENT_SOURCE_DIR}/http/connection_delegate_factory.cpp
43-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_resolver_delegate.cpp
44-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_resolver_delegate_factory.cpp
45-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_connection_delegates.cpp
46-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_connection_factory.cpp
47-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_async_resolver.cpp
48-
${CMAKE_CURRENT_SOURCE_DIR}/http/client_connection_normal.cpp)
42+
http/client_connections.cpp
43+
http/simple_connection_manager.cpp
44+
http/simple_connection_factory.cpp
45+
http/connection_delegate_factory.cpp
46+
http/client_resolver_delegate.cpp
47+
http/client_resolver_delegate_factory.cpp
48+
http/client_connection_delegates.cpp
49+
http/client_connection_factory.cpp
50+
http/client_async_resolver.cpp
51+
http/client_connection_normal.cpp)
52+
4953
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
5054
add_library(cppnetlib-http-client-connections${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS})
5155
endif()
5256

53-
set(CPP-NETLIB_CONSTANTS_SRCSconstants.cpp)
57+
set(CPP-NETLIB_CONSTANTS_SRCS
58+
constants.cpp)
59+
5460
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
5561
add_library(cppnetlib-constants${CPP-NETLIB_CONSTANTS_SRCS})
5662
endif()
5763

5864
# Server implementation files.
5965
set(CPP-NETLIB_HTTP_SERVER_SRCS
60-
${CMAKE_CURRENT_SOURCE_DIR}/http/server/session.cpphttp/server/simple_sessions.cpp
61-
${CMAKE_CURRENT_SOURCE_DIR}/http/server/dynamic_dispatcher.cpp)
66+
http/server/session.cpp
67+
http/server/simple_sessions.cpp
68+
http/server/dynamic_dispatcher.cpp)
69+
6270
if (NOTCPP-NETLIB_BUILD_SINGLE_LIB)
6371
add_library(cppnetlib-http-server${CPP-NETLIB_HTTP_SERVER_SRCS})
6472
endif()
6573

6674
set(CPP-NETLIB_HTTP_CLIENT_SRCS
67-
${CMAKE_CURRENT_SOURCE_DIR}/http/client.cpp)
75+
http/client.cpp)
76+
6877
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
6978
add_library(cppnetlib-http-client${CPP-NETLIB_HTTP_CLIENT_SRCS})
7079
add_dependencies(cppnetlib-http-client
@@ -92,9 +101,19 @@ if(NOT CPP-NETLIB_BUILD_SINGLE_LIB)
92101
)
93102
endif()
94103

104+
# prepend current directory to make paths absolute
105+
prependToElements("${CMAKE_CURRENT_SOURCE_DIR}/"
106+
CPP-NETLIB_HTTP_MESSAGE_SRCS
107+
CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS
108+
CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS
109+
CPP-NETLIB_CONSTANTS_SRCS
110+
CPP-NETLIB_HTTP_SERVER_SRCS
111+
CPP-NETLIB_HTTP_CLIENT_SRCS )
112+
95113
# propagate sources to parent directory for one-lib-build
96114
set(CPP-NETLIB_HTTP_MESSAGE_SRCS${CPP-NETLIB_HTTP_MESSAGE_SRCS}PARENT_SCOPE)
97115
set(CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS}PARENT_SCOPE)
98116
set(CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS}PARENT_SCOPE)
99117
set(CPP-NETLIB_HTTP_CLIENT_SRCS${CPP-NETLIB_HTTP_CLIENT_SRCS}PARENT_SCOPE)
118+
set(CPP-NETLIB_HTTP_SERVER_SRCS${CPP-NETLIB_HTTP_SERVER_SRCS}PARENT_SCOPE)
100119
set(CPP-NETLIB_CONSTANTS_SRCS${CPP-NETLIB_CONSTANTS_SRCS}PARENT_SCOPE)

‎http/test/CMakeLists.txt

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,30 +17,41 @@ if (OPENSSL_FOUND)
1717
add_definitions(-DNETWORK_ENABLE_HTTPS)
1818
endif()
1919

20+
21+
set(CPPNETLIB_LIBRARIEScppnetlib )
22+
set(CPPNETLIB_CLIENT_LIBRARIES${CPPNETLIB_LIBRARIES} )
23+
set(CPPNETLIB_SERVER_LIBRARIES${CPPNETLIB_LIBRARIES} )
24+
if(NOTCPP-NETLIB_BUILD_SINGLE_LIB)
25+
set(CPPNETLIB_LIBRARIES
26+
cppnetlib-message
27+
cppnetlib-message-wrappers
28+
cppnetlib-http-message
29+
cppnetlib-http-message-wrappers
30+
cppnetlib-uri
31+
cppnetlib-constants )
32+
33+
set(CPPNETLIB_CLIENT_LIBRARIES
34+
${CPPNETLIB_LIBRARIES}
35+
cppnetlib-http-client
36+
cppnetlib-http-client-connections )
37+
38+
set(CPPNETLIB_SERVER_LIBRARIES
39+
cppnetlib-http-server )
40+
endif()
41+
42+
2043
if (CPP-NETLIB_BUILD_TESTS)
2144
# These are the internal (simple) tests.
2245
set (MESSAGE_TESTSrequest_base_testrequest_testresponse_test
2346
response_incremental_parser_test)
2447
foreach (test${MESSAGE_TESTS} )
2548
add_executable(cpp-netlib-http-${test}${test}.cpp)
26-
add_dependencies(cpp-netlib-http-${test}
27-
cppnetlib-message
28-
cppnetlib-message-wrappers
29-
cppnetlib-http-message
30-
cppnetlib-http-message-wrappers
31-
cppnetlib-uri
32-
cppnetlib-constants)
3349
target_link_libraries(cpp-netlib-http-${test}
3450
${Boost_LIBRARIES}
3551
${GTEST_BOTH_LIBRARIES}
3652
${ICU_LIBRARIES}${ICU_I18N_LIBRARIES}
3753
${CMAKE_THREAD_LIBS_INIT}
38-
cppnetlib-message
39-
cppnetlib-message-wrappers
40-
cppnetlib-http-message
41-
cppnetlib-http-message-wrappers
42-
cppnetlib-uri
43-
cppnetlib-constants)
54+
${CPPNETLIB_LIBRARIES} )
4455
set_target_properties(cpp-netlib-http-${test}
4556
PROPERTIESRUNTIME_OUTPUT_DIRECTORY${CPP-NETLIB_BINARY_DIR}/tests)
4657
add_test(cpp-netlib-http-${test}
@@ -54,16 +65,8 @@ if (CPP-NETLIB_BUILD_TESTS)
5465
${GTEST_BOTH_LIBRARIES}
5566
${ICU_LIBRARIES}${ICU_I18N_LIBRARIES}
5667
${CMAKE_THREAD_LIBS_INIT}
57-
cppnetlib-constants
58-
cppnetlib-uri
59-
cppnetlib-message
60-
cppnetlib-message-wrappers
61-
cppnetlib-message-directives
6268
${CPP-NETLIB_LOGGING_LIB}
63-
cppnetlib-http-message
64-
cppnetlib-http-message-wrappers
65-
cppnetlib-http-client
66-
cppnetlib-http-client-connections)
69+
${CPPNETLIB_CLIENT_LIBRARIES} )
6770
if (OPENSSL_FOUND)
6871
target_link_libraries(cpp-netlib-http-client_test${OPENSSL_LIBRARIES})
6972
endif()
@@ -77,9 +80,11 @@ if (CPP-NETLIB_BUILD_TESTS)
7780
server_default_connection_manager_testserver_test)
7881
foreach (test${SERVER_TESTS})
7982
add_executable(cpp-netlib-http-${test}${test}.cpp)
80-
add_dependencies(cpp-netlib-http-${test}cppnetlib-http-server)
81-
target_link_libraries(cpp-netlib-http-${test}${Boost_LIBRARIES}
82-
${GTEST_BOTH_LIBRARIES}${CMAKE_THREAD_LIBS_INIT}cppnetlib-http-server)
83+
target_link_libraries(cpp-netlib-http-${test}
84+
${Boost_LIBRARIES}
85+
${GTEST_BOTH_LIBRARIES}
86+
${CMAKE_THREAD_LIBS_INIT}
87+
${CPPNETLIB_SERVER_LIBRARIES} )
8388
set_target_properties(cpp-netlib-http-${test}PROPERTIES
8489
RUNTIME_OUTPUT_DIRECTORY${CPP-NETLIB_BINARY_DIR}/tests)
8590
add_test(cpp-netlib-http-${test}

‎logging/src/CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@
44
# http://www.boost.org/LICENSE_1_0.txt)
55

66
include_directories(${CPP-NETLIB_SOURCE_DIR}/logging/src${CPP-NETLIB_SOURCE_DIR})
7-
set(CPP-NETLIB_LOGGING_SRCSlogging.cpp)
7+
8+
set(CPP-NETLIB_LOGGING_SRCS
9+
logging.cpp)
10+
811
add_library(cppnetlib-logging${CPP-NETLIB_LOGGING_SRCS})
9-
foreach (src_file${CPP-NETLIB_LOGGING_SRCS})
10-
endforeach(src_file)
12+
13+
# prepend current directory to make paths absolute
14+
prependToElements("${CMAKE_CURRENT_SOURCE_DIR}/"
15+
CPP-NETLIB_LOGGING_SRCS )
1116

1217
# propagate sources to parent directory for one-lib-build
1318
set(CPP-NETLIB_LOGGING_SRCS${CPP-NETLIB_LOGGING_SRCS}PARENT_SCOPE)

‎message/src/CMakeLists.txt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,29 @@
77

88
include_directories(${CPP-NETLIB_SOURCE_DIR}/uri/src${CPP-NETLIB_SOURCE_DIR}/message/src)
99

10-
set(CPP-NETLIB_MESSAGE_SRCSmessage.cpp)
10+
set(CPP-NETLIB_MESSAGE_SRCS
11+
message.cpp)
12+
1113
add_library(cppnetlib-message${CPP-NETLIB_MESSAGE_SRCS})
1214
add_dependencies(cppnetlib-messagecppnetlib-uri)
1315
target_link_libraries(cppnetlib-messagecppnetlib-uri)
1416

15-
set(CPP-NETLIB_MESSAGE_DIRECTIVES_SRCSdirectives.cpp)
17+
set(CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS
18+
directives.cpp)
19+
1620
add_library(cppnetlib-message-directives${CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS})
1721

18-
set(CPP-NETLIB_MESSAGE_WRAPPERS_SRCSwrappers.cpp)
22+
set(CPP-NETLIB_MESSAGE_WRAPPERS_SRCS
23+
wrappers.cpp)
24+
1925
add_library(cppnetlib-message-wrappers${CPP-NETLIB_MESSAGE_WRAPPERS_SRCS})
2026

27+
# prepend current directory to make paths absolute
28+
prependToElements("${CMAKE_CURRENT_SOURCE_DIR}/"
29+
CPP-NETLIB_MESSAGE_SRCS
30+
CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS
31+
CPP-NETLIB_MESSAGE_WRAPPERS_SRCS )
32+
2133
# propagate sources to parent directory for one-lib-build
2234
set(CPP-NETLIB_MESSAGE_SRCS${CPP-NETLIB_MESSAGE_SRCS}PARENT_SCOPE)
2335
set(CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS${CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS}PARENT_SCOPE)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp