linux: use system provided boost library

Dieser Commit ist enthalten in:
Reinder Feenstra 2022-08-30 00:09:26 +02:00
Ursprung 0feab6c171
Commit c5c8de8372
2 geänderte Dateien mit 48 neuen und 29 gelöschten Zeilen

Datei anzeigen

@ -235,7 +235,7 @@ jobs:
# Ubuntu only:
- name: Install packages
if: startswith(matrix.config.os, 'ubuntu')
run: sudo apt install liblua5.3-dev lcov libarchive-dev clang-tidy
run: sudo apt install libboost-program-options-dev liblua5.3-dev lcov libarchive-dev clang-tidy
# MacOS only:
- name: Install brew packages

Datei anzeigen

@ -13,21 +13,6 @@ if(MSVC)
add_compile_options(/W3)
else()
add_compile_options(-Wall -Wextra -Wpedantic -Wshadow -Werror)
set_source_files_properties(
thirdparty/boost/libs/program_options/src/cmdline.cpp
thirdparty/boost/libs/program_options/src/config_file.cpp
thirdparty/boost/libs/program_options/src/convert.cpp
thirdparty/boost/libs/program_options/src/options_description.cpp
thirdparty/boost/libs/program_options/src/parsers.cpp
thirdparty/boost/libs/program_options/src/positional_options.cpp
thirdparty/boost/libs/program_options/src/split.cpp
thirdparty/boost/libs/program_options/src/utf8_codecvt_facet.cpp
thirdparty/boost/libs/program_options/src/value_semantic.cpp
thirdparty/boost/libs/program_options/src/variables_map.cpp
thirdparty/boost/libs/program_options/src/winmain.cpp
PROPERTIES
COMPILE_FLAGS -Wno-shadow)
endif()
if(NOT DISABLE_CLANG_TIDY)
@ -37,13 +22,6 @@ endif()
add_executable(traintastic-server src/main.cpp src/options.hpp)
add_executable(traintastic-server-test test/main.cpp)
add_definitions(
-DBOOST_ALL_NO_LIB
-DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_CHRONO_HEADER_ONLY
-DBOOST_ASIO_HEADER_ONLY
-DBOOST_SYSTEM_NO_DEPRECATED)
set_target_properties(traintastic-server PROPERTIES CXX_STANDARD 17)
set_target_properties(traintastic-server-test PROPERTIES CXX_STANDARD 17)
@ -53,8 +31,7 @@ target_include_directories(traintastic-server PRIVATE
target_include_directories(traintastic-server SYSTEM PRIVATE
../shared/thirdparty
thirdparty
thirdparty/boost)
thirdparty)
target_include_directories(traintastic-server-test PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
@ -62,8 +39,7 @@ target_include_directories(traintastic-server-test PRIVATE
target_include_directories(traintastic-server-test SYSTEM PRIVATE
../shared/thirdparty
thirdparty
thirdparty/boost)
thirdparty)
file(GLOB SOURCES
"src/board/*.hpp"
@ -154,8 +130,7 @@ file(GLOB SOURCES
"src/world/*.hpp"
"src/world/*.cpp"
"../shared/src/traintastic/locale/locale.cpp"
"../shared/src/traintastic/utils/standardpaths.cpp"
"thirdparty/boost/libs/program_options/src/*.cpp")
"../shared/src/traintastic/utils/standardpaths.cpp")
file(GLOB TEST_SOURCES
"test/board/*.cpp"
@ -165,6 +140,10 @@ file(GLOB TEST_SOURCES
### PLATFORM ###
if(UNIX AND NOT APPLE)
set(LINUX TRUE)
endif()
if(UNIX)
file(GLOB SOURCES_UNIX "src/os/unix/*.hpp" "src/os/unix/*.cpp")
list(APPEND SOURCES ${SOURCES_UNIX})
@ -197,6 +176,46 @@ endif()
### LIBRARIES ###
# boost
if(LINUX)
find_package(Boost 1.71 REQUIRED COMPONENTS program_options)
target_include_directories(traintastic-server SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
target_link_libraries(traintastic-server PRIVATE ${Boost_LIBRARIES})
target_include_directories(traintastic-server-test SYSTEM PRIVATE ${Boost_INCLUDE_DIRS})
target_link_libraries(traintastic-server-test PRIVATE ${Boost_LIBRARIES})
else()
add_definitions(
-DBOOST_ALL_NO_LIB
-DBOOST_ERROR_CODE_HEADER_ONLY
-DBOOST_CHRONO_HEADER_ONLY
-DBOOST_ASIO_HEADER_ONLY
-DBOOST_SYSTEM_NO_DEPRECATED)
if(NOT MSVC)
set_source_files_properties(
thirdparty/boost/libs/program_options/src/cmdline.cpp
thirdparty/boost/libs/program_options/src/config_file.cpp
thirdparty/boost/libs/program_options/src/convert.cpp
thirdparty/boost/libs/program_options/src/options_description.cpp
thirdparty/boost/libs/program_options/src/parsers.cpp
thirdparty/boost/libs/program_options/src/positional_options.cpp
thirdparty/boost/libs/program_options/src/split.cpp
thirdparty/boost/libs/program_options/src/utf8_codecvt_facet.cpp
thirdparty/boost/libs/program_options/src/value_semantic.cpp
thirdparty/boost/libs/program_options/src/variables_map.cpp
thirdparty/boost/libs/program_options/src/winmain.cpp
PROPERTIES
COMPILE_FLAGS -Wno-shadow)
endif()
target_include_directories(traintastic-server SYSTEM PRIVATE thirdparty/boost)
target_include_directories(traintastic-server-test SYSTEM PRIVATE thirdparty/boost)
file(GLOB SOURCES_BOOST "thirdparty/boost/libs/program_options/src/*.cpp")
list(APPEND SOURCES ${SOURCES_BOOST})
endif()
# libarchive
if(WIN32)
set(LibArchive_INCLUDE_DIRS "thirdparty/libarchive/include")