Support only system-provided boost from now on

This commit is contained in:
TheAssassin 2021-12-01 04:39:38 +01:00
parent d903364ffc
commit 01331697d0
27 changed files with 5 additions and 147 deletions

View File

@ -26,14 +26,14 @@ jobs:
if: matrix.ARCH == 'x86_64'
run: |
sudo apt-get update
sudo apt-get install -y gcovr libmagic-dev libjpeg-dev libpng-dev cimg-dev
sudo apt-get install -y gcovr libmagic-dev libjpeg-dev libpng-dev libboost-filesystem-dev libboost-regex-dev cimg-dev
- name: Install dependencies (i386)
if: matrix.ARCH == 'i386'
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y gcovr libmagic-dev:i386 libjpeg-dev:i386 libpng-dev:i386 cimg-dev gcc-multilib g++-multilib libfuse2:i386
sudo apt-get install -y gcovr libmagic-dev:i386 libjpeg-dev:i386 libpng-dev:i386 libboost-filesystem-dev:i386 libboost-regex-dev:i386 cimg-dev gcc-multilib g++-multilib libfuse2:i386
- name: Test coverage
run: bash -ex ci/test-coverage.sh

66
.gitmodules vendored
View File

@ -1,78 +1,12 @@
[submodule "lib/args"]
path = lib/args
url = https://github.com/Taywee/args.git
[submodule "lib/boost-filesystem"]
path = lib/boost-filesystem
url = https://github.com/boostorg/filesystem.git
[submodule "lib/boost-regex"]
path = lib/boost-regex
url = https://github.com/boostorg/regex.git
[submodule "lib/boost-system"]
path = lib/boost-system
url = https://github.com/boostorg/system.git
[submodule "lib/boost-config"]
path = lib/boost-config
url = https://github.com/boostorg/config.git
[submodule "lib/boost-utility"]
path = lib/boost-utility
url = https://github.com/boostorg/utility.git
[submodule "lib/boost-predef"]
path = lib/boost-predef
url = https://github.com/boostorg/predef.git
[submodule "lib/boost-assert"]
path = lib/boost-assert
url = https://github.com/boostorg/assert.git
[submodule "lib/boost-core"]
path = lib/boost-core
url = https://github.com/boostorg/core.git
[submodule "lib/boost-type_traits"]
path = lib/boost-type_traits
url = https://github.com/boostorg/type_traits.git
[submodule "lib/boost-iterator"]
path = lib/boost-iterator
url = https://github.com/boostorg/iterator.git
[submodule "lib/boost-mpl"]
path = lib/boost-mpl
url = https://github.com/boostorg/mpl.git
[submodule "lib/boost-preprocessor"]
path = lib/boost-preprocessor
url = https://github.com/boostorg/preprocessor.git
[submodule "lib/boost-static_assert"]
path = lib/boost-static_assert
url = https://github.com/boostorg/static_assert.git
[submodule "lib/boost-detail"]
path = lib/boost-detail
url = https://github.com/boostorg/detail.git
[submodule "lib/boost-smart_ptr"]
path = lib/boost-smart_ptr
url = https://github.com/boostorg/smart_ptr.git
[submodule "lib/boost-exception"]
path = lib/boost-exception
url = https://github.com/boostorg/exception.git
[submodule "lib/boost-throw_exception"]
path = lib/boost-throw_exception
url = https://github.com/boostorg/throw_exception.git
[submodule "lib/boost-io"]
path = lib/boost-io
url = https://github.com/boostorg/io.git
[submodule "lib/boost-functional"]
path = lib/boost-functional
url = https://github.com/boostorg/functional.git
[submodule "lib/boost-container_hash"]
path = lib/boost-container_hash
url = https://github.com/boostorg/container_hash.git
[submodule "lib/boost-range"]
path = lib/boost-range
url = https://github.com/boostorg/range.git
[submodule "lib/boost-integer"]
path = lib/boost-integer
url = https://github.com/boostorg/integer.git
[submodule "lib/CImg"]
path = lib/CImg
url = https://github.com/dtschump/CImg.git
[submodule "lib/boost-container"]
path = lib/boost-container
url = https://github.com/boostorg/container
[submodule "lib/linuxdeploy-desktopfile"]
path = lib/linuxdeploy-desktopfile
url = https://github.com/linuxdeploy/linuxdeploy-desktopfile

View File

@ -7,7 +7,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
set(USE_SYSTEM_BOOST OFF CACHE BOOL "Set to ON to use system boost libraries instead of building up to date boost libraries from source")
set(USE_SYSTEM_CIMG ON CACHE BOOL "Set to OFF to use CImg library bundled in lib directory")
# support for ccache

View File

@ -5,49 +5,3 @@ target_sources(args INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/args/args.hxx)
target_include_directories(args INTERFACE args)
add_subdirectory(linuxdeploy-desktopfile EXCLUDE_FROM_ALL)
function(ld_add_boost_headeronly_lib)
set(options "")
set(oneValueArgs TARGET_NAME ROOT_DIR)
set(multiValueArgs LINK_LIBRARIES)
cmake_parse_arguments(A "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
# message(STATUS "Adding boost header-only library ${A_TARGET_NAME} in directory ${A_ROOT_DIR} with dependencies to ${A_LINK_LIBRARIES}")
add_library(${A_TARGET_NAME} INTERFACE)
set_property(TARGET ${A_TARGET_NAME} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$<BUILD_INTERFACE:${A_ROOT_DIR}/include>")
set_property(TARGET ${A_TARGET_NAME} PROPERTY INTERFACE_LINK_LIBRARIES ${A_LINK_LIBRARIES})
endfunction()
if(NOT USE_SYSTEM_BOOST)
ld_add_boost_headeronly_lib(TARGET_NAME boost_config ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/boost-config)
ld_add_boost_headeronly_lib(TARGET_NAME boost_throw_exception ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/boost-throw_exception LINK_LIBRARIES boost_throw_exception)
foreach(boost_lib_name utility predef assert core type_traits iterator mpl preprocessor static_assert detail smart_ptr exception io container_hash range integer)
ld_add_boost_headeronly_lib(TARGET_NAME boost_${boost_lib_name} ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/boost-${boost_lib_name} LINK_LIBRARIES boost_config;boost_throw_exception)
endforeach()
ld_add_boost_headeronly_lib(TARGET_NAME boost_functional ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/boost-utility LINK_LIBRARIES boost_config;boost_container_hash)
file(GLOB boost_system_srcs ${CMAKE_CURRENT_SOURCE_DIR}/boost-system/src/*.cpp)
add_library(boost_system STATIC ${boost_system_srcs})
target_include_directories(boost_system PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/boost-system/include)
target_link_libraries(boost_system PUBLIC
boost_config boost_predef boost_assert boost_core boost_type_traits boost_iterator boost_mpl boost_preprocessor
boost_static_assert boost_detail boost_smart_ptr boost_throw_exception boost_io boost_functional boost_range
)
file(GLOB boost_filesystem_srcs ${CMAKE_CURRENT_SOURCE_DIR}/boost-filesystem/src/*.cpp)
add_library(boost_filesystem STATIC ${boost_filesystem_srcs})
target_include_directories(boost_filesystem PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/boost-filesystem/include)
target_link_libraries(boost_filesystem PUBLIC boost_config boost_utility boost_system boost_throw_exception)
file(GLOB boost_regex_srcs ${CMAKE_CURRENT_SOURCE_DIR}/boost-regex/src/*.cpp)
add_library(boost_regex STATIC ${boost_regex_srcs})
target_include_directories(boost_regex PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/boost-regex/include)
target_link_libraries(boost_regex PUBLIC
boost_config boost_predef boost_assert boost_throw_exception boost_smart_ptr boost_core boost_mpl
boost_type_traits boost_static_assert boost_integer boost_preprocessor boost_functional boost_detail
)
endif()

@ -1 +0,0 @@
Subproject commit 4bd93cd4141b5d48e090495551e3bce931321f62

@ -1 +0,0 @@
Subproject commit 200d36776e514d343be71a49502d2aabaecd273d

@ -1 +0,0 @@
Subproject commit 76b181f0242d2c2cc467ae080ed0584287e92993

@ -1 +0,0 @@
Subproject commit e73522f2969d75ee9154f31c431d1a17df390ed9

@ -1 +0,0 @@
Subproject commit 9445d08ea77aefcce683fe80ddfd8a03a0de00bb

@ -1 +0,0 @@
Subproject commit 824721a7533de893338ed5bbc8e8d9f4fb1ad716

@ -1 +0,0 @@
Subproject commit d8a6730d6ebab6da39c5f774e7c7ce966507901a

@ -1 +0,0 @@
Subproject commit 96fbb48b421505ede6a6bddb1f7e688182cbc008

@ -1 +0,0 @@
Subproject commit 66dbc2c70aecc47d5a711b5dac6da6237721a644

@ -1 +0,0 @@
Subproject commit 5fa66f1f76fb9142765692cc0cf6e40af8d08c45

@ -1 +0,0 @@
Subproject commit b2adecb951af025698618f19a3c838bd314966dc

@ -1 +0,0 @@
Subproject commit 2371f854617f1057dd339e81678186edf0336c0c

@ -1 +0,0 @@
Subproject commit c8c26821b9ab850ace7bbaf0d22f347a1486ff6d

@ -1 +0,0 @@
Subproject commit 56090c56b5c78418b6dbe8c3c2ba576395152f83

@ -1 +0,0 @@
Subproject commit b1d5d235148eb1736ce87eb34921a670c7cecf81

@ -1 +0,0 @@
Subproject commit a9fc8fb5de8262cdf100ff2af06d2c819f251b4e

@ -1 +0,0 @@
Subproject commit 605d4a2789ad61c69c6e450f6770eb011cd8a9a7

@ -1 +0,0 @@
Subproject commit afe9e9d7864e23d50077115d51fa8ce17fc2e8be

@ -1 +0,0 @@
Subproject commit 6ea02e2668c16218c7881f36908dafdbabd3c8a7

@ -1 +0,0 @@
Subproject commit c548923b32735fcbc6cdf34c8e9b382d58b4b407

@ -1 +0,0 @@
Subproject commit e34ad30482d72b2a538093d30cfd22d480eb0866

@ -1 +0,0 @@
Subproject commit 56f13625b1f03f6022f7f4f63261867e1a3a9800

View File

@ -4,16 +4,9 @@ cmake_minimum_required(VERSION 3.5)
# globally include own includes
include_directories(${PROJECT_SOURCE_DIR}/include)
if(USE_SYSTEM_BOOST)
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED COMPONENTS filesystem regex)
set(BOOST_LIBS Boost::filesystem Boost::regex)
else()
# use custom built libs
set(BOOST_LIBS boost_system boost_filesystem boost_regex)
endif()
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED COMPONENTS filesystem regex)
set(BOOST_LIBS Boost::filesystem Boost::regex)
# read Git revision ID
# WARNING: this value will be stored in the CMake cache