Removed remaining dependency on boost

dev
Tomasz Kapuściński 2023-08-15 12:47:27 +02:00
parent 5b79a4eb38
commit 9586474fa8
10 changed files with 6 additions and 34 deletions

View File

@ -17,7 +17,7 @@ jobs:
run: sudo apt install gcc-9 g++-9 && sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9 && sudo update-alternatives --set gcc /usr/bin/gcc-9 run: sudo apt install gcc-9 g++-9 && sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9 && sudo update-alternatives --set gcc /usr/bin/gcc-9
if: matrix.host_os == 'ubuntu-18.04' if: matrix.host_os == 'ubuntu-18.04'
- name: Install Colobot dependencies - name: Install Colobot dependencies
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libphysfs-dev gettext git po4a vorbis-tools librsvg2-bin xmlstarlet libglm-dev libmpg123-dev run: sudo apt-get update && sudo apt-get install -y --no-install-recommends build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libphysfs-dev gettext git po4a vorbis-tools librsvg2-bin xmlstarlet libglm-dev libmpg123-dev
if: matrix.container == '' if: matrix.container == ''
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Checkout the Google Test submodule - name: Checkout the Google Test submodule
@ -88,7 +88,7 @@ jobs:
fail-fast: false fail-fast: false
steps: steps:
- name: Install Colobot dependencies - name: Install Colobot dependencies
run: brew install cmake sdl2 sdl2_image sdl2_ttf boost glew physfs flac libsndfile libvorbis vorbis-tools gettext libicns librsvg wget xmlstarlet glm run: brew install cmake sdl2 sdl2_image sdl2_ttf glew physfs flac libsndfile libvorbis vorbis-tools gettext libicns librsvg wget xmlstarlet glm
if: matrix.container == '' if: matrix.container == ''
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Checkout the Google Test submodule - name: Checkout the Google Test submodule
@ -195,7 +195,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install Colobot dependencies - name: Install Colobot dependencies
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libphysfs-dev gettext git po4a vorbis-tools librsvg2-bin xmlstarlet doxygen graphviz libglm-dev libmpg123-dev run: sudo apt-get update && sudo apt-get install -y --no-install-recommends build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libphysfs-dev gettext git po4a vorbis-tools librsvg2-bin xmlstarlet doxygen graphviz libglm-dev libmpg123-dev
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Create build directory - name: Create build directory
run: cmake -E make_directory build run: cmake -E make_directory build

View File

@ -216,9 +216,6 @@ endif()
# These are specific to GCC/MinGW/clang; for other compilers, change as necessary # These are specific to GCC/MinGW/clang; for other compilers, change as necessary
# The flags are used throughout src/ and test/ subdirs # The flags are used throughout src/ and test/ subdirs
# Special flags for boost
add_definitions(-DBOOST_NO_SCOPED_ENUMS -DBOOST_NO_CXX11_SCOPED_ENUMS)
set(COLOBOT_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${NORMAL_CXX_FLAGS}") set(COLOBOT_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${NORMAL_CXX_FLAGS}")
set(COLOBOT_CXX_FLAGS_RELEASE "${RELEASE_CXX_FLAGS}") set(COLOBOT_CXX_FLAGS_RELEASE "${RELEASE_CXX_FLAGS}")
set(COLOBOT_CXX_FLAGS_DEBUG "${DEBUG_CXX_FLAGS}") set(COLOBOT_CXX_FLAGS_DEBUG "${DEBUG_CXX_FLAGS}")
@ -267,9 +264,6 @@ option(USE_STATIC_RUNTIME "Link the runtime library statically" OFF)
# CBot can also be a static library # CBot can also be a static library
option(CBOT_STATIC "Build CBot as static libary" OFF) option(CBOT_STATIC "Build CBot as static libary" OFF)
# This is useful in case you want to use static boost libraries
option(BOOST_STATIC "Link with static boost libraries" OFF)
# This is useful on Windows, if linking against standard GLEW dll fails # This is useful on Windows, if linking against standard GLEW dll fails
option(GLEW_STATIC "Link statically with GLEW" OFF) option(GLEW_STATIC "Link statically with GLEW" OFF)
@ -329,13 +323,6 @@ if(NOT nlohmann_json_FOUND)
add_subdirectory(lib/json) add_subdirectory(lib/json)
endif() endif()
set(Boost_USE_STATIC_LIBS ${BOOST_STATIC})
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME ${USE_STATIC_RUNTIME})
set(Boost_ADDITIONALVERSION "1.51" "1.51.0")
find_package(Boost COMPONENTS system regex REQUIRED)
set(GLEW_USE_STATIC_LIBS ${GLEW_STATIC}) set(GLEW_USE_STATIC_LIBS ${GLEW_STATIC})
find_package(GLEW REQUIRED) find_package(GLEW REQUIRED)

View File

@ -24,7 +24,6 @@
"CMAKE_BUILD_TYPE": "RelWithDebInfo", "CMAKE_BUILD_TYPE": "RelWithDebInfo",
"USE_STATIC_RUNTIME": true, "USE_STATIC_RUNTIME": true,
"CBOT_STATIC": true, "CBOT_STATIC": true,
"BOOST_STATIC": true,
"GLEW_STATIC": true, "GLEW_STATIC": true,
"SNDFILE_STATIC": true, "SNDFILE_STATIC": true,
"DEV_BUILD": true, "DEV_BUILD": true,

View File

@ -110,7 +110,7 @@ Easy, isn't it?
If you are lazy, you can just use this one-line command, although there is no guarantee it will work or install everything (might be out of date): If you are lazy, you can just use this one-line command, although there is no guarantee it will work or install everything (might be out of date):
```sh ```sh
pacman -S mingw-w64-i686-boost mingw-w64-i686-glew mingw-w64-i686-libpng gettext mingw-w64-i686-gettext mingw-w64-i686-libpng mingw-w64-i686-libsndfile mingw-w64-i686-libvorbis mingw-w64-i686-libogg mingw-w64-i686-openal mingw-w64_i686-physfs mingw-w64-i686-SDL2 mingw-w64-i686-SDL2_image mingw-w64-i686-SDL2_ttf pacman -S mingw-w64-i686-glew mingw-w64-i686-libpng gettext mingw-w64-i686-gettext mingw-w64-i686-libpng mingw-w64-i686-libsndfile mingw-w64-i686-libvorbis mingw-w64-i686-libogg mingw-w64-i686-openal mingw-w64_i686-physfs mingw-w64-i686-SDL2 mingw-w64-i686-SDL2_image mingw-w64-i686-SDL2_ttf
``` ```
You should now have everything set up and working. You can close all instances of MSYS2 and autorebase to ensure everything installed properly. You should now have everything set up and working. You can close all instances of MSYS2 and autorebase to ensure everything installed properly.

View File

@ -8,7 +8,7 @@ After installing Developer Command Line Tools, you should have basic tools like
``` ```
And then: And then:
```bash ```bash
brew install cmake sdl2 sdl2_image sdl2_ttf boost glew physfs flac libsndfile libvorbis vorbis-tools gettext libicns librsvg wget xmlstarlet brew install cmake sdl2 sdl2_image sdl2_ttf glew physfs flac libsndfile libvorbis vorbis-tools gettext libicns librsvg wget xmlstarlet
``` ```
Gettext is installed in separate directory without adding the files to system path, so in order to get it working normally, you should call also: Gettext is installed in separate directory without adding the files to system path, so in order to get it working normally, you should call also:
```bash ```bash

View File

@ -46,7 +46,6 @@ you will need to compile colobot.
You will need: You will need:
* C++17 compiler * C++17 compiler
* CMake >= 3.16 * CMake >= 3.16
* Boost
* SDL2 * SDL2
* SDL2_image * SDL2_image
* SDL2_ttf * SDL2_ttf
@ -62,7 +61,7 @@ You will need:
On Ubuntu (and probably any other Debian-based system), you can use the following command to install all required packages: On Ubuntu (and probably any other Debian-based system), you can use the following command to install all required packages:
``` ```
$ apt-get install build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libphysfs-dev gettext git po4a vorbis-tools $ apt-get install build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsndfile1-dev libvorbis-dev libogg-dev libpng-dev libglew-dev libopenal-dev libphysfs-dev gettext git po4a vorbis-tools
``` ```
Make sure you install the packages along with header files (often distributed in separate *-dev packages). If you miss any requirements, Make sure you install the packages along with header files (often distributed in separate *-dev packages). If you miss any requirements,

View File

@ -37,7 +37,6 @@ Create folder .vscode if there is none. Inside that folder create a file setting
"inheritEnvironments": ["msvc_x64_x64"], "inheritEnvironments": ["msvc_x64_x64"],
"CMAKE_TOOLCHAIN_FILE": "input your path to the toolchain file", "CMAKE_TOOLCHAIN_FILE": "input your path to the toolchain file",
"VCPKG_TARGET_TRIPLET": "x64-windows-static", "VCPKG_TARGET_TRIPLET": "x64-windows-static",
"BOOST_STATIC": "1",
"GLEW_STATIC": "1", "GLEW_STATIC": "1",
"MSVC_STATIC": "1" "MSVC_STATIC": "1"
}, },

View File

@ -502,8 +502,6 @@ target_link_libraries(colobotbase PUBLIC
PNG::PNG PNG::PNG
GLEW::GLEW GLEW::GLEW
glm::glm glm::glm
Boost::headers
Boost::regex
PhysFS::PhysFS PhysFS::PhysFS
SndFile::sndfile SndFile::sndfile
nlohmann_json::nlohmann_json nlohmann_json::nlohmann_json

View File

@ -5,5 +5,4 @@ add_executable(convert_model
../graphics/model/model_input.cpp ../graphics/model/model_input.cpp
../graphics/model/model_output.cpp ../graphics/model/model_output.cpp
convert_model.cpp) convert_model.cpp)
target_link_libraries(convert_model PRIVATE Boost::headers)
target_include_directories(convert_model PRIVATE . ..) target_include_directories(convert_model PRIVATE . ..)

View File

@ -3,15 +3,6 @@
"version-string": "0.1.0", "version-string": "0.1.0",
"builtin-baseline": "f6a5d4e8eb7476b8d7fc12a56dff300c1c986131", "builtin-baseline": "f6a5d4e8eb7476b8d7fc12a56dff300c1c986131",
"dependencies": [ "dependencies": [
"boost-algorithm",
"boost-bimap",
"boost-filesystem",
"boost-lexical-cast",
"boost-optional",
"boost-property-tree",
"boost-range",
"boost-regex",
"boost-system",
{ {
"name": "freetype", "name": "freetype",
"default-features": false "default-features": false