diff options
-rw-r--r-- | client/CMakeLists.txt | 14 | ||||
-rw-r--r-- | server/common/CMakeLists.txt | 5 | ||||
-rw-r--r-- | server/lexer/CMakeLists.txt | 8 | ||||
-rw-r--r-- | server/main/CMakeLists.txt | 20 | ||||
-rw-r--r-- | server/parser/CMakeLists.txt | 2 | ||||
-rw-r--r-- | test/benchmarks/CMakeLists.txt | 3 | ||||
-rw-r--r-- | test/unit_tests/CMakeLists.txt | 9 |
7 files changed, 40 insertions, 21 deletions
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 505f025..dba0eea 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -1,12 +1,18 @@ -find_package(Boost 1.66.0 REQUIRED COMPONENTS filesystem program_options) +file(GLOB client_cpp "*.cpp") +file(GLOB client_hpp "*.hpp") +add_executable(client ${client_cpp} ${client_hpp}) +set_target_properties(client PROPERTIES OUTPUT_NAME math-client) 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) +find_package(Boost 1.66.0 REQUIRED COMPONENTS filesystem program_options) +target_link_libraries(client PRIVATE + Boost::disable_autolinking + Boost::filesystem + Boost::program_options) install(TARGETS client RUNTIME DESTINATION bin) if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") 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) diff --git a/test/benchmarks/CMakeLists.txt b/test/benchmarks/CMakeLists.txt index 89d9858..09566cc 100644 --- a/test/benchmarks/CMakeLists.txt +++ b/test/benchmarks/CMakeLists.txt @@ -1,4 +1,5 @@ -add_executable(benchmarks lexer.cpp) +file(GLOB benchmarks_cpp "*.cpp") +add_executable(benchmarks ${benchmarks_cpp}) set_target_properties(benchmarks PROPERTIES OUTPUT_NAME math-server-benchmarks) target_link_libraries(benchmarks PRIVATE lexer) diff --git a/test/unit_tests/CMakeLists.txt b/test/unit_tests/CMakeLists.txt index 314fb58..5a46f01 100644 --- a/test/unit_tests/CMakeLists.txt +++ b/test/unit_tests/CMakeLists.txt @@ -1,11 +1,12 @@ -find_package(Boost REQUIRED COMPONENTS unit_test_framework) - -add_executable(unit_tests main.cpp lexer.cpp parser.cpp) +file(GLOB unit_tests_cpp "*.cpp") +add_executable(unit_tests ${unit_tests_cpp}) target_link_libraries(unit_tests PRIVATE lexer parser) -target_link_libraries(unit_tests PRIVATE Boost::disable_autolinking Boost::unit_test_framework) target_include_directories(unit_tests PRIVATE ../..) set_target_properties(unit_tests PROPERTIES OUTPUT_NAME math-server-unit-tests) +find_package(Boost REQUIRED COMPONENTS unit_test_framework) +target_link_libraries(unit_tests PRIVATE Boost::disable_autolinking Boost::unit_test_framework) + install(TARGETS unit_tests RUNTIME DESTINATION bin) if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") install(FILES "$<TARGET_PDB_FILE:unit_tests>" DESTINATION bin OPTIONAL) |