From 9ada1c0fd699d9b9c746688c5c39cd72a0c7593d Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 17 Oct 2020 10:49:37 +0300 Subject: cmake: minor tweks for the greater good --- server/common/CMakeLists.txt | 5 +++-- server/lexer/CMakeLists.txt | 8 +++++--- server/main/CMakeLists.txt | 20 +++++++++++++------- server/parser/CMakeLists.txt | 2 ++ 4 files changed, 23 insertions(+), 12 deletions(-) (limited to 'server') diff --git a/server/common/CMakeLists.txt b/server/common/CMakeLists.txt index 5fe9e7f..284003f 100644 --- a/server/common/CMakeLists.txt +++ b/server/common/CMakeLists.txt @@ -1,4 +1,5 @@ -find_package(Boost REQUIRED) - add_library(common INTERFACE) +target_include_directories(common INTERFACE .) + +find_package(Boost REQUIRED) target_link_libraries(common INTERFACE Boost::boost) diff --git a/server/lexer/CMakeLists.txt b/server/lexer/CMakeLists.txt index 9c696d3..64375e8 100644 --- a/server/lexer/CMakeLists.txt +++ b/server/lexer/CMakeLists.txt @@ -1,5 +1,7 @@ -find_package(Boost REQUIRED COMPONENTS regex) - -add_library(lexer details/parse.cpp lexer.cpp token.cpp token_type.cpp) +file(GLOB_RECURSE lexer_cpp "*.cpp") +file(GLOB_RECURSE lexer_hpp "*.hpp") +add_library(lexer ${lexer_cpp} ${lexer_hpp}) target_link_libraries(lexer PUBLIC common) + +find_package(Boost REQUIRED COMPONENTS regex) target_link_libraries(lexer PRIVATE Boost::disable_autolinking Boost::regex) diff --git a/server/main/CMakeLists.txt b/server/main/CMakeLists.txt index 94abed7..39fe0b4 100644 --- a/server/main/CMakeLists.txt +++ b/server/main/CMakeLists.txt @@ -1,15 +1,21 @@ -find_package(Boost 1.66.0 REQUIRED COMPONENTS filesystem program_options) +option(DEBUG_ASIO "enable debug output for Boost.Asio" OFF) + +file(GLOB server_cpp "*.cpp") +file(GLOB server_hpp "*.hpp") +add_executable(server ${server_cpp} ${server_hpp}) +target_link_libraries(server PRIVATE common parser) +set_target_properties(server PROPERTIES OUTPUT_NAME math-server) set(CMAKE_THREAD_PREFER_PTHREAD ON) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) +target_link_libraries(server PRIVATE Threads::Threads) -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_link_libraries(server PRIVATE Boost::disable_autolinking Boost::filesystem Boost::program_options Threads::Threads) -set_target_properties(server PROPERTIES OUTPUT_NAME math-server) +find_package(Boost 1.66.0 REQUIRED COMPONENTS filesystem program_options) +target_link_libraries(server PRIVATE + Boost::disable_autolinking + Boost::filesystem + Boost::program_options) if(DEBUG_ASIO) target_compile_definitions(server PRIVATE BOOST_ASIO_ENABLE_HANDLER_TRACKING) diff --git a/server/parser/CMakeLists.txt b/server/parser/CMakeLists.txt index 2490e57..20d39a1 100644 --- a/server/parser/CMakeLists.txt +++ b/server/parser/CMakeLists.txt @@ -1,2 +1,4 @@ add_library(parser INTERFACE) +target_include_directories(parser INTERFACE .) + target_link_libraries(parser INTERFACE common lexer) -- cgit v1.2.3