Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ if (Boost_FOUND)
enable_testing()
add_subdirectory(libs/network/test)
if (NOT MSVC)
add_subdirectory(libs/mime/test)
#add_subdirectory(libs/mime/test)
endif(NOT MSVC)
endif()
if(CPP-NETLIB_BUILD_EXAMPLES)
add_subdirectory(libs/network/example)
#add_subdirectory(libs/network/example)
endif()
endif(Boost_FOUND)

Expand All @@ -104,3 +104,12 @@ message(STATUS " CPP-NETLIB_BUILD_TESTS: ${CPP-NETLIB_BUILD_TESTS}\t(Buil
message(STATUS " CPP-NETLIB_BUILD_EXAMPLES: ${CPP-NETLIB_BUILD_EXAMPLES}\t(Build the examples using cpp-netlib: ON, OFF)")
message(STATUS " CPP-NETLIB_ALWAYS_LOGGING: ${CPP-NETLIB_ALWAYS_LOGGING}\t(Allow cpp-netlib to log debug messages even in non-debug mode: ON, OFF)")
message(STATUS " CPP-NETLIB_DISABLE_LOGGING: ${CPP-NETLIB_DISABLE_LOGGING}\t(Disable logging definitely, no logging code will be generated or compiled: ON, OFF)")

############################################################################
#
# The code following this point is for the new directory structure
#

add_subdirectory(uri)
add_subdirectory(message)
add_subdirectory(logging)
187 changes: 60 additions & 127 deletions libs/network/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,13 @@
# http://www.boost.org/LICENSE_1_0.txt)


include_directories(${CPP-NETLIB_SOURCE_DIR}/include)
include_directories(${CPP-NETLIB_SOURCE_DIR})
include_directories(
${CPP-NETLIB_SOURCE_DIR}/uri/src
${CPP-NETLIB_SOURCE_DIR}/message/src
${CPP-NETLIB_SOURCE_DIR}/logging/src
${CPP-NETLIB_SOURCE_DIR}/include
${CPP-NETLIB_SOURCE_DIR})

if (OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIR})
endif()
Expand All @@ -25,78 +30,6 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set(CPP-NETLIB_CXXFLAGS "-Wall -std=c++11 -stdlib=libc++")
endif()

if( CPP-NETLIB_ALWAYS_LOGGING )
add_definitions( /D NETWORK_ENABLE_LOGGING )
endif()

if( NOT CPP-NETLIB_DISABLE_LOGGING )
set( CPP-NETLIB_LOGGING_SRCS
logging/logging.cpp
)
add_library(cppnetlib-logging ${CPP-NETLIB_LOGGING_SRCS})
foreach (src_file ${CPP-NETLIB_LOGGING_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)

# this library name is defined only if we created the target
# if not then it will be empty
set( CPP-NETLIB_LOGGING_LIB cppnetlib-logging )

endif()

set(CPP-NETLIB_URI_SRCS uri/uri.cpp uri/schemes.cpp uri/normalize.cpp)
add_library(cppnetlib-uri ${CPP-NETLIB_URI_SRCS})
foreach (src_file ${CPP-NETLIB_URI_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)

set(CPP-NETLIB_MESSAGE_SRCS message/message.cpp)
add_library(cppnetlib-message ${CPP-NETLIB_MESSAGE_SRCS})
add_dependencies(cppnetlib-message cppnetlib-uri)
target_link_libraries(cppnetlib-message cppnetlib-uri)
foreach (src_file ${CPP-NETLIB_MESSAGE_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)

set(CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS message/directives.cpp)
add_library(cppnetlib-message-directives ${CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS})
foreach (src_file ${CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)

set(CPP-NETLIB_MESSAGE_WRAPPERS_SRCS message/wrappers.cpp)
add_library(cppnetlib-message-wrappers ${CPP-NETLIB_MESSAGE_WRAPPERS_SRCS})
foreach (src_file ${CPP-NETLIB_MESSAGE_WRAPPERS_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)

set(CPP-NETLIB_HTTP_MESSAGE_SRCS http/request.cpp http/response.cpp)
add_library(cppnetlib-http-message ${CPP-NETLIB_HTTP_MESSAGE_SRCS})
add_dependencies(cppnetlib-http-message
Expand Down Expand Up @@ -127,59 +60,59 @@ elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
endif()
endforeach(src_file)

set(CPP-NETLIB_HTTP_SERVER_PARSERS_SRCS server_request_parsers_impl.cpp)
add_library(cppnetlib-http-server-parsers ${CPP-NETLIB_HTTP_SERVER_PARSERS_SRCS})
foreach (src_file ${CPP-NETLIB_HTTP_SERVER_PARSERS_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)

set(CPP-NETLIB_HTTP_SERVER_SRCS
http/server_async_impl.cpp
http/server_options.cpp
http/server_socket_options_setter.cpp
http/server_sync_impl.cpp
)
add_library(cppnetlib-http-server ${CPP-NETLIB_HTTP_SERVER_SRCS})
add_dependencies(cppnetlib-http-server
${CPP-NETLIB_LOGGING_LIB}
cppnetlib-constants
cppnetlib-uri
cppnetlib-message
cppnetlib-message-wrappers
cppnetlib-message-directives
cppnetlib-http-message
cppnetlib-http-message-wrappers
cppnetlib-http-server-parsers
cppnetlib-utils-thread_pool
)
target_link_libraries(cppnetlib-http-server
${Boost_LIBRARIES}
${CPP-NETLIB_LOGGING_LIB}
cppnetlib-constants
cppnetlib-uri
cppnetlib-message
cppnetlib-message-wrappers
cppnetlib-message-directives
cppnetlib-http-message
cppnetlib-http-message-wrappers
cppnetlib-http-server-parsers
cppnetlib-utils-thread_pool
)
foreach (src_file ${CPP-NETLIB_HTTP_SERVER_SRCS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
set_source_files_properties(${src_file}
PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
endif()
endforeach(src_file)
#set(CPP-NETLIB_HTTP_SERVER_PARSERS_SRCS server_request_parsers_impl.cpp)
#add_library(cppnetlib-http-server-parsers ${CPP-NETLIB_HTTP_SERVER_PARSERS_SRCS})
#foreach (src_file ${CPP-NETLIB_HTTP_SERVER_PARSERS_SRCS})
#if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
# set_source_files_properties(${src_file}
# PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
#elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
# set_source_files_properties(${src_file}
# PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
#endif()
#endforeach(src_file)
#
#set(CPP-NETLIB_HTTP_SERVER_SRCS
# http/server_async_impl.cpp
# http/server_options.cpp
# http/server_socket_options_setter.cpp
# http/server_sync_impl.cpp
# )
#add_library(cppnetlib-http-server ${CPP-NETLIB_HTTP_SERVER_SRCS})
#add_dependencies(cppnetlib-http-server
# ${CPP-NETLIB_LOGGING_LIB}
# cppnetlib-constants
# cppnetlib-uri
# cppnetlib-message
# cppnetlib-message-wrappers
# cppnetlib-message-directives
# cppnetlib-http-message
# cppnetlib-http-message-wrappers
# cppnetlib-http-server-parsers
# cppnetlib-utils-thread_pool
# )
#target_link_libraries(cppnetlib-http-server
# ${Boost_LIBRARIES}
# ${CPP-NETLIB_LOGGING_LIB}
# cppnetlib-constants
# cppnetlib-uri
# cppnetlib-message
# cppnetlib-message-wrappers
# cppnetlib-message-directives
# cppnetlib-http-message
# cppnetlib-http-message-wrappers
# cppnetlib-http-server-parsers
# cppnetlib-utils-thread_pool
# )
#foreach (src_file ${CPP-NETLIB_HTTP_SERVER_SRCS})
#if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
# set_source_files_properties(${src_file}
# PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
#elseif (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
# set_source_files_properties(${src_file}
# PROPERTIES COMPILE_FLAGS ${CPP-NETLIB_CXXFLAGS})
#endif()
#endforeach(src_file)

set(CPP-NETLIB_HTTP_CLIENT_CONNECTIONS_SRCS
http/client_connections.cpp
Expand Down
35 changes: 0 additions & 35 deletions libs/network/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,9 @@ if(CPP-NETLIB_BUILD_SHARED_LIBS)
add_definitions(-DCPP-NETLIB_BUILD_SHARED_LIBS)
endif()

add_subdirectory(logging)
add_subdirectory(uri)
add_subdirectory(http)

if (Boost_FOUND)
set(
TESTS
message_test
message_transform_test
)
foreach (test ${TESTS})
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${test}.cpp
PROPERTIES COMPILE_FLAGS "-Wall")
endif()
add_executable(cpp-netlib-${test} ${test}.cpp)
add_dependencies(cpp-netlib-${test}
cppnetlib-uri
cppnetlib-message
cppnetlib-message-directives
cppnetlib-message-wrappers)

target_link_libraries(cpp-netlib-${test}
${Boost_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
cppnetlib-uri
cppnetlib-message
cppnetlib-message-directives
cppnetlib-message-wrappers)
if (OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIR})
target_link_libraries(cpp-netlib-${test} ${OPENSSL_LIBRARIES})
endif()
set_target_properties(cpp-netlib-${test}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
add_test(cpp-netlib-${test}
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-${test})
endforeach (test)

set_source_files_properties(utils_thread_pool.cpp
PROPERTIES COMPILE_FLAGS "-Wall")
Expand Down
73 changes: 43 additions & 30 deletions libs/network/test/http/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,26 @@
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

include_directories(${CPP-NETLIB_SOURCE_DIR}/include)
include_directories(${CPP-NETLIB_SOURCE_DIR})
include_directories(
${CPP-NETLIB_SOURCE_DIR}/uri/src
${CPP-NETLIB_SOURCE_DIR}/message/src
${CPP-NETLIB_SOURCE_DIR}/logging/src
${CPP-NETLIB_SOURCE_DIR}/include
${CPP-NETLIB_SOURCE_DIR})

if (OPENSSL_FOUND)
include_directories( ${OPENSSL_INCLUDE_DIR} )
add_definitions(-DBOOST_NETWORK_ENABLE_HTTPS)
endif()

if( NOT CPP-NETLIB_DISABLE_LOGGING )
set( CPP-NETLIB_LOGGING_LIB cppnetlib-logging )
endif()

# this library name is defined only if we created the target
# if not then it will be empty
set( CPP-NETLIB_LOGGING_LIB cppnetlib-logging )

if (Boost_FOUND)
# These are the internal (simple) tests.
set ( MESSAGE_TESTS
Expand Down Expand Up @@ -73,6 +85,7 @@ if (Boost_FOUND)
cppnetlib-message
cppnetlib-message-wrappers
cppnetlib-message-directives
${CPP-NETLIB_LOGGING_LIB}
cppnetlib-http-message
cppnetlib-http-message-wrappers
cppnetlib-http-client
Expand All @@ -86,33 +99,33 @@ if (Boost_FOUND)
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
endforeach (test)

set ( SERVER_API_TESTS
server_constructor_test
server_async_run_stop_concurrency
)
foreach ( test ${SERVER_API_TESTS} )
if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
set_source_files_properties(${test}.cpp
PROPERTIES COMPILE_FLAGS "-Wall")
endif()
add_executable(cpp-netlib-http-${test} ${test}.cpp)
target_link_libraries(cpp-netlib-http-${test}
${Boost_LIBRARIES}
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
cppnetlib-constants
cppnetlib-uri
cppnetlib-message
cppnetlib-message-wrappers
cppnetlib-http-message
cppnetlib-http-server
cppnetlib-http-server-parsers
cppnetlib-utils-thread_pool
)
set_target_properties(cpp-netlib-http-${test}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
add_test(cpp-netlib-http-${test}
${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
endforeach (test)
#set ( SERVER_API_TESTS
# server_constructor_test
# server_async_run_stop_concurrency
# )
#foreach ( test ${SERVER_API_TESTS} )
# if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
# set_source_files_properties(${test}.cpp
# PROPERTIES COMPILE_FLAGS "-Wall")
# endif()
# add_executable(cpp-netlib-http-${test} ${test}.cpp)
# target_link_libraries(cpp-netlib-http-${test}
# ${Boost_LIBRARIES}
# ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
# ${CMAKE_THREAD_LIBS_INIT}
# cppnetlib-constants
# cppnetlib-uri
# cppnetlib-message
# cppnetlib-message-wrappers
# cppnetlib-http-message
# cppnetlib-http-server
# cppnetlib-http-server-parsers
# cppnetlib-utils-thread_pool
# )
# set_target_properties(cpp-netlib-http-${test}
# PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
# add_test(cpp-netlib-http-${test}
# ${CPP-NETLIB_BINARY_DIR}/tests/cpp-netlib-http-${test})
#endforeach (test)

endif()
Loading