@@ -33,14 +33,18 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
3333 endif ()
3434endif ()
3535
36- set (CPP-NETLIB_HTTP_MESSAGE_SRCS http/request.cpp http/response.cpp)
37- add_library (cppnetlib-http-message ${CPP-NETLIB_HTTP_MESSAGE_SRCS})
38- add_dependencies (cppnetlib-http-message
39- # ${Boost_LIBRARIES}
40- cppnetlib-message)
41- target_link_libraries (cppnetlib-http-message
42- ${Boost_LIBRARIES}
43- cppnetlib-message)
36+ set (CPP-NETLIB_HTTP_MESSAGE_SRCS
37+ ${CMAKE_CURRENT_SOURCE_DIR} /http/request.cpp
38+ ${CMAKE_CURRENT_SOURCE_DIR} /http/response.cpp)
39+ if (NOT CPP-NETLIB_BUILD_SINGLE_LIB)
40+ add_library (cppnetlib-http-message ${CPP-NETLIB_HTTP_MESSAGE_SRCS})
41+ add_dependencies (cppnetlib-http-message
42+ # ${Boost_LIBRARIES}
43+ cppnetlib-message)
44+ target_link_libraries (cppnetlib-http-message
45+ ${Boost_LIBRARIES}
46+ cppnetlib-message)
47+ endif ()
4448foreach (src_file ${CPP-NETLIB_HTTP_MESSAGE_SRCS})
4549if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
4650 set_source_files_properties (${src_file}
@@ -51,8 +55,10 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
5155endif ()
5256endforeach (src_file)
5357
54- set (CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS http/message/wrappers.cpp)
55- add_library (cppnetlib-http-message-wrappers ${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS})
58+ set (CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS${CMAKE_CURRENT_SOURCE_DIR} /http/message/wrappers.cpp)
59+ if (NOT CPP-NETLIB_BUILD_SINGLE_LIB)
60+ add_library (cppnetlib-http-message-wrappers ${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS})
61+ endif ()
5662foreach (src_file ${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS})
5763if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
5864 set_source_files_properties (${src_file}
@@ -118,17 +124,19 @@ endforeach(src_file)
118124#endforeach(src_file)
119125
120126set (CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS
121- http/client_connections.cpp
122- http/simple_connection_manager.cpp
123- http/simple_connection_factory.cpp
124- http/connection_delegate_factory.cpp
125- http/client_resolver_delegate.cpp
126- http/client_resolver_delegate_factory.cpp
127- http/client_connection_delegates.cpp
128- http/client_connection_factory.cpp
129- http/client_async_resolver.cpp
130- http/client_connection_normal.cpp)
131- add_library (cppnetlib-http-client-connections ${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS})
127+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_connections.cpp
128+ ${CMAKE_CURRENT_SOURCE_DIR} /http/simple_connection_manager.cpp
129+ ${CMAKE_CURRENT_SOURCE_DIR} /http/simple_connection_factory.cpp
130+ ${CMAKE_CURRENT_SOURCE_DIR} /http/connection_delegate_factory.cpp
131+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_resolver_delegate.cpp
132+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_resolver_delegate_factory.cpp
133+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_connection_delegates.cpp
134+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_connection_factory.cpp
135+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_async_resolver.cpp
136+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client_connection_normal.cpp)
137+ if (NOT CPP-NETLIB_BUILD_SINGLE_LIB)
138+ add_library (cppnetlib-http-client-connections ${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS})
139+ endif ()
132140foreach (src_file ${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS})
133141if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
134142 set_source_files_properties (${src_file}
@@ -140,31 +148,33 @@ endif()
140148endforeach (src_file)
141149
142150set (CPP-NETLIB_HTTP_CLIENT_SRCS
143- http/client.cpp)
144- add_library (cppnetlib-http-client ${CPP-NETLIB_HTTP_CLIENT_SRCS})
145- add_dependencies (cppnetlib-http-client
146- ${CPP-NETLIB_LOGGING_LIB}
147- cppnetlib-constants
148- cppnetlib-uri
149- cppnetlib-message
150- cppnetlib-message-wrappers
151- cppnetlib-message-directives
152- cppnetlib-http-message
153- cppnetlib-http-message-wrappers
154- cppnetlib-http-client-connections
155- )
156- target_link_libraries (cppnetlib-http-client
157- ${Boost_LIBRARIES}
158- ${CPP-NETLIB_LOGGING_LIB}
159- cppnetlib-constants
160- cppnetlib-uri
161- cppnetlib-message
162- cppnetlib-message-wrappers
163- cppnetlib-message-directives
164- cppnetlib-http-message
165- cppnetlib-http-message-wrappers
166- cppnetlib-http-client-connections
167- )
151+ ${CMAKE_CURRENT_SOURCE_DIR} /http/client.cpp)
152+ if (NOT CPP-NETLIB_BUILD_SINGLE_LIB)
153+ add_library (cppnetlib-http-client ${CPP-NETLIB_HTTP_CLIENT_SRCS})
154+ add_dependencies (cppnetlib-http-client
155+ ${CPP-NETLIB_LOGGING_LIB}
156+ cppnetlib-constants
157+ cppnetlib-uri
158+ cppnetlib-message
159+ cppnetlib-message-wrappers
160+ cppnetlib-message-directives
161+ cppnetlib-http-message
162+ cppnetlib-http-message-wrappers
163+ cppnetlib-http-client-connections
164+ )
165+ target_link_libraries (cppnetlib-http-client
166+ ${Boost_LIBRARIES}
167+ ${CPP-NETLIB_LOGGING_LIB}
168+ cppnetlib-constants
169+ cppnetlib-uri
170+ cppnetlib-message
171+ cppnetlib-message-wrappers
172+ cppnetlib-message-directives
173+ cppnetlib-http-message
174+ cppnetlib-http-message-wrappers
175+ cppnetlib-http-client-connections
176+ )
177+ endif ()
168178foreach (src_file ${CPP-NETLIB_HTTP_CLIENT_SRCS})
169179if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
170180 set_source_files_properties (${src_file}
@@ -175,8 +185,10 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
175185endif ()
176186endforeach (src_file)
177187
178- set (CPP-NETLIB_CONSTANTS_SRCS constants.cpp)
179- add_library (cppnetlib-constants ${CPP-NETLIB_CONSTANTS_SRCS})
188+ set (CPP-NETLIB_CONSTANTS_SRCS${CMAKE_CURRENT_SOURCE_DIR} /constants.cpp)
189+ if (NOT CPP-NETLIB_BUILD_SINGLE_LIB)
190+ add_library (cppnetlib-constants ${CPP-NETLIB_CONSTANTS_SRCS})
191+ endif ()
180192foreach (src_file ${CPP-NETLIB_CONSTANTS_SRCS})
181193if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
182194 set_source_files_properties (${src_file}
@@ -186,3 +198,11 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
186198 PROPERTIESCOMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
187199endif ()
188200endforeach (src_file)
201+
202+
203+ # propagate sources to parent directory for one-lib-build
204+ set (CPP-NETLIB_HTTP_MESSAGE_SRCS ${CPP-NETLIB_HTTP_MESSAGE_SRCS} PARENT_SCOPE)
205+ set (CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS ${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS} PARENT_SCOPE)
206+ set (CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS ${CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS} PARENT_SCOPE)
207+ set (CPP-NETLIB_HTTP_CLIENT_SRCS ${CPP-NETLIB_HTTP_CLIENT_SRCS} PARENT_SCOPE)
208+ set (CPP-NETLIB_CONSTANTS_SRCS ${CPP-NETLIB_CONSTANTS_SRCS} PARENT_SCOPE)