From 1a4540d78b931a11d5aece6b946ede86cf9876dc Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 21 Dec 2019 15:56:25 +0300 Subject: cmake: use Boost::* targets --- CMakeLists.txt | 2 +- client/CMakeLists.txt | 9 ++------- server/common/CMakeLists.txt | 4 +--- server/main/CMakeLists.txt | 17 ++++++----------- test/unit_tests/CMakeLists.txt | 5 +---- 5 files changed, 11 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f22c1b..19b6164 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.8) # for C++17 project(math_server CXX) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 8455f3b..0a7937b 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -1,16 +1,11 @@ find_package(Boost REQUIRED COMPONENTS filesystem program_options) -add_executable(client main.cpp) - -target_include_directories(client SYSTEM PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(client PRIVATE ${Boost_LIBRARIES}) -target_compile_definitions(client PRIVATE BOOST_DATE_TIME_NO_LIB BOOST_REGEX_NO_LIB) - set(CMAKE_THREAD_PREFER_PTHREAD ON) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) -target_link_libraries(client PRIVATE Threads::Threads) +add_executable(client main.cpp) +target_link_libraries(client PRIVATE Boost::disable_autolinking Boost::filesystem Boost::program_options Threads::Threads) set_target_properties(client PROPERTIES OUTPUT_NAME math-client) install(TARGETS client RUNTIME DESTINATION bin) diff --git a/server/common/CMakeLists.txt b/server/common/CMakeLists.txt index 5655861..5fe9e7f 100644 --- a/server/common/CMakeLists.txt +++ b/server/common/CMakeLists.txt @@ -1,6 +1,4 @@ find_package(Boost REQUIRED) add_library(common INTERFACE) - -target_include_directories(common SYSTEM INTERFACE ${Boost_INCLUDE_DIRS}) -target_link_libraries(common INTERFACE ${Boost_LIBRARIES}) +target_link_libraries(common INTERFACE Boost::boost) diff --git a/server/main/CMakeLists.txt b/server/main/CMakeLists.txt index 7269005..fe33cb5 100644 --- a/server/main/CMakeLists.txt +++ b/server/main/CMakeLists.txt @@ -1,25 +1,20 @@ find_package(Boost REQUIRED COMPONENTS filesystem program_options) +set(CMAKE_THREAD_PREFER_PTHREAD ON) +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) + option(DEBUG_ASIO "enable debug output for Boost.Asio" OFF) add_executable(server main.cpp server.cpp session.cpp session_manager.cpp) target_link_libraries(server PRIVATE common parser) - -target_include_directories(server SYSTEM PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(server PRIVATE ${Boost_LIBRARIES}) -target_compile_definitions(server PRIVATE BOOST_DATE_TIME_NO_LIB BOOST_REGEX_NO_LIB) - -set(CMAKE_THREAD_PREFER_PTHREAD ON) -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) -target_link_libraries(server PRIVATE Threads::Threads) +target_link_libraries(server PRIVATE Boost::disable_autolinking Boost::filesystem Boost::program_options Threads::Threads) +set_target_properties(server PROPERTIES OUTPUT_NAME math-server) if(DEBUG_ASIO) target_compile_definitions(server PRIVATE BOOST_ASIO_ENABLE_HANDLER_TRACKING) endif() -set_target_properties(server PROPERTIES OUTPUT_NAME math-server) - install(TARGETS server RUNTIME DESTINATION bin) if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") install(FILES "$" DESTINATION bin OPTIONAL) diff --git a/test/unit_tests/CMakeLists.txt b/test/unit_tests/CMakeLists.txt index dbb78ed..39cd4ee 100644 --- a/test/unit_tests/CMakeLists.txt +++ b/test/unit_tests/CMakeLists.txt @@ -2,11 +2,8 @@ find_package(Boost REQUIRED COMPONENTS unit_test_framework) add_executable(unit_tests main.cpp lexer.cpp parser.cpp) target_link_libraries(unit_tests PRIVATE lexer parser) +target_link_libraries(unit_tests PRIVATE Boost::unit_test_framework) target_include_directories(unit_tests PRIVATE ../..) - -target_include_directories(unit_tests SYSTEM PRIVATE ${Boost_INCLUDE_DIRS}) -target_link_libraries(unit_tests PRIVATE ${Boost_LIBRARIES}) - set_target_properties(unit_tests PROPERTIES OUTPUT_NAME math-server-unit-tests) install(TARGETS unit_tests RUNTIME DESTINATION bin) -- cgit v1.2.3