From e606f7a4e73f10ffcd366d7aa90f48345c6bebb2 Mon Sep 17 00:00:00 2001 From: David Wedderwille Date: Fri, 21 Jun 2019 22:08:51 +0200 Subject: [PATCH] cmake: fixes compile error when "USE_STANDALONE_ASIO" is set. Signed-off-by: David Wedderwille --- CMakeLists.txt | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4da0fd5..5222233 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,9 +22,11 @@ target_link_libraries(simple-web-server INTERFACE ${CMAKE_THREAD_LIBS_INIT}) # Remove Boost system, thread, regex components; use Boost:: aliases; remove Boost target_include_directories if(USE_STANDALONE_ASIO) target_compile_definitions(simple-web-server INTERFACE USE_STANDALONE_ASIO) - find_file(HAVE_ASIO asio.hpp) + find_path(HAVE_ASIO asio.hpp) if(NOT HAVE_ASIO) message(FATAL_ERROR "Standalone Asio not found") + else() + target_include_directories(simple-web-server INTERFACE ${HAVE_ASIO}) endif() else() find_package(Boost 1.53.0 COMPONENTS system thread REQUIRED) @@ -53,17 +55,20 @@ endif() # If Simple-Web-Server is not a sub-project: if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") - add_executable(http_examples http_examples.cpp) - target_link_libraries(http_examples simple-web-server) - find_package(Boost 1.53.0 COMPONENTS system thread filesystem REQUIRED) - target_link_libraries(http_examples ${Boost_LIBRARIES}) - target_include_directories(http_examples PRIVATE ${Boost_INCLUDE_DIR}) - if(OPENSSL_FOUND) - add_executable(https_examples https_examples.cpp) - target_link_libraries(https_examples simple-web-server) - target_link_libraries(https_examples ${Boost_LIBRARIES}) - target_include_directories(https_examples PRIVATE ${Boost_INCLUDE_DIR}) - endif() + if(NOT USE_STANDALONE_ASIO) + add_executable(http_examples http_examples.cpp) + target_link_libraries(http_examples simple-web-server) + + find_package(Boost 1.53.0 COMPONENTS system thread filesystem REQUIRED) + target_link_libraries(http_examples ${Boost_LIBRARIES}) + target_include_directories(http_examples PRIVATE ${Boost_INCLUDE_DIR}) + if(OPENSSL_FOUND) + add_executable(https_examples https_examples.cpp) + target_link_libraries(https_examples simple-web-server) + target_link_libraries(https_examples ${Boost_LIBRARIES}) + target_include_directories(https_examples PRIVATE ${Boost_INCLUDE_DIR}) + endif() + endif() set(BUILD_TESTING ON)