From 2d7f5c0996e75e0db7648cbd4b13b2b3e3fd5507 Mon Sep 17 00:00:00 2001 From: tghosgor Date: Tue, 31 Dec 2013 04:48:51 +0200 Subject: [PATCH] added ws2_32 and wsock32 target libraries to cmake files that is required to build under mingw --- libs/mime/test/CMakeLists.txt | 10 ++++++--- libs/network/example/CMakeLists.txt | 11 ++++++++++ libs/network/test/CMakeLists.txt | 13 +++++++----- libs/network/test/http/CMakeLists.txt | 29 ++++++++++++++++++--------- libs/network/test/uri/CMakeLists.txt | 5 ++++- 5 files changed, 49 insertions(+), 19 deletions(-) diff --git a/libs/mime/test/CMakeLists.txt b/libs/mime/test/CMakeLists.txt index 4f4d99050..b77915eba 100644 --- a/libs/mime/test/CMakeLists.txt +++ b/libs/mime/test/CMakeLists.txt @@ -1,10 +1,14 @@ include_directories(${CPP-NETLIB_SOURCE_DIR}) file ( COPY TestMessages DESTINATION ${CMAKE_CURRENT_BINARY_DIR} ) -if ( Boost_FOUND ) +#This test causes a "too many sections" error on Windows MinGW64 +#(MSVC has /bigobj, MinGW does not) +if (NOT(${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows")) + if ( Boost_FOUND ) add_executable ( mime-roundtrip mime-roundtrip.cpp ) target_link_libraries ( mime-roundtrip ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - add_test ( mime-roundtrip mime-roundtrip ) -endif () + add_test ( mime-roundtrip ${CPP-NETLIB_BINARY_DIR}/tests/mime-roundtrip ) + endif () +endif() diff --git a/libs/network/example/CMakeLists.txt b/libs/network/example/CMakeLists.txt index fae3b08fb..8f6feb309 100644 --- a/libs/network/example/CMakeLists.txt +++ b/libs/network/example/CMakeLists.txt @@ -99,6 +99,17 @@ if (OPENSSL_FOUND) target_link_libraries(hello_world_async_server_with_work_queue ${OPENSSL_LIBRARIES}) endif (OPENSSL_FOUND) +if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + target_link_libraries(http_client ws2_32) + target_link_libraries(simple_wget ws2_32) + target_link_libraries(atom_reader ws2_32) + target_link_libraries(rss_reader ws2_32) + target_link_libraries(twitter_search ws2_32) + target_link_libraries(hello_world_server ws2_32 wsock32) + target_link_libraries(hello_world_client ws2_32) + target_link_libraries(hello_world_async_server_with_work_queue ws2_32 wsock32) +endif() + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") target_link_libraries(http_client rt) target_link_libraries(simple_wget rt) diff --git a/libs/network/test/CMakeLists.txt b/libs/network/test/CMakeLists.txt index 159d83e5a..08218fd2b 100644 --- a/libs/network/test/CMakeLists.txt +++ b/libs/network/test/CMakeLists.txt @@ -22,14 +22,17 @@ if (Boost_FOUND) PROPERTIES COMPILE_FLAGS "-Wall") endif() add_executable(cpp-netlib-${test} ${test}.cpp) - add_dependencies(cpp-netlib-${test} cppnetlib-uri) + add_dependencies(cpp-netlib-${test} cppnetlib-uri) target_link_libraries(cpp-netlib-${test} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cppnetlib-uri) if (OPENSSL_FOUND) - target_link_libraries(cpp-netlib-${test} ${OPENSSL_LIBRARIES}) + target_link_libraries(cpp-netlib-${test} ${OPENSSL_LIBRARIES}) endif() - if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - target_link_libraries(cpp-netlib-${test} rt) - endif() + if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + target_link_libraries(cpp-netlib-${test} ws2_32 wsock32) + endif() + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + target_link_libraries(cpp-netlib-${test} rt) + endif() set_target_properties(cpp-netlib-${test} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests) add_test(cpp-netlib-${test} diff --git a/libs/network/test/http/CMakeLists.txt b/libs/network/test/http/CMakeLists.txt index be946994c..cb953f867 100644 --- a/libs/network/test/http/CMakeLists.txt +++ b/libs/network/test/http/CMakeLists.txt @@ -14,7 +14,7 @@ endif() if (Boost_FOUND) set ( TESTS request_incremental_parser_test - request_linearize_test + request_linearize_test ) foreach ( test ${TESTS} ) add_executable(cpp-netlib-http-${test} ${test}.cpp) @@ -23,9 +23,12 @@ if (Boost_FOUND) target_link_libraries(cpp-netlib-http-${test} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cppnetlib-uri) - if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - target_link_libraries(cpp-netlib-http-${test} rt) - endif() + if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + target_link_libraries(cpp-netlib-http-${test} ws2_32) + endif() + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + target_link_libraries(cpp-netlib-http-${test} rt) + endif() set_target_properties(cpp-netlib-http-${test} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests) add_test(cpp-netlib-http-${test} @@ -50,9 +53,12 @@ if (Boost_FOUND) if (OPENSSL_FOUND) target_link_libraries(cpp-netlib-http-${test} ${OPENSSL_LIBRARIES}) endif() - if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - target_link_libraries(cpp-netlib-http-${test} rt) - endif() + if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + target_link_libraries(cpp-netlib-http-${test} ws2_32) + endif() + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + target_link_libraries(cpp-netlib-http-${test} rt) + endif() set_target_properties(cpp-netlib-http-${test} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests) add_test(cpp-netlib-http-${test} @@ -68,9 +74,12 @@ if (Boost_FOUND) add_executable(cpp-netlib-http-${test} ${test}.cpp) add_dependencies(cpp-netlib-http-${test} cppnetlib-server-parsers) target_link_libraries(cpp-netlib-http-${test} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cppnetlib-server-parsers) - if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - target_link_libraries(cpp-netlib-http-${test} rt) - endif() + if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + target_link_libraries(cpp-netlib-http-${test} ws2_32 wsock32) + endif() + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + target_link_libraries(cpp-netlib-http-${test} rt) + endif() set_target_properties(cpp-netlib-http-${test} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests) add_test(cpp-netlib-http-${test} diff --git a/libs/network/test/uri/CMakeLists.txt b/libs/network/test/uri/CMakeLists.txt index ad899b1e7..d4b9334b9 100644 --- a/libs/network/test/uri/CMakeLists.txt +++ b/libs/network/test/uri/CMakeLists.txt @@ -24,8 +24,11 @@ if (Boost_FOUND) target_link_libraries(cpp-netlib-${test} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cppnetlib-uri) if (OPENSSL_FOUND) - target_link_libraries(cpp-netlib-${test} ${OPENSSL_LIBRARIES}) + target_link_libraries(cpp-netlib-${test} ${OPENSSL_LIBRARIES}) endif() + if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + target_link_libraries(cpp-netlib-${test} ws2_32) + endif() set_target_properties(cpp-netlib-${test} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests) add_test(cpp-netlib-${test}