Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
dedcecf
:hammer: Start removing boost.
JonasGilg Mar 23, 2025
cf6d9d0
:wrench: Finish removing boost and also replace fmt::format with std:…
JonasGilg Apr 12, 2025
eb314f7
:sparkles: Apply clang-format.
JonasGilg Apr 13, 2025
44a292f
Merge branch 'main' into feature/replace-boost
JonasGilg Apr 13, 2025
f0ab824
:wrench: Update CEF.
JonasGilg Apr 13, 2025
c3c0b26
:wrench: Fix missing includes to functional.
JonasGilg Apr 13, 2025
46d70c5
:wrench: Fix cef bugs.
JonasGilg Apr 13, 2025
b4ef2ee
:sparkles: Apply clang-format.
JonasGilg Apr 13, 2025
4aed804
:green_heart: Update CI.
JonasGilg Apr 13, 2025
d8881de
:green_heart: Fix tests and CI.
JonasGilg Apr 13, 2025
3a54645
:green_heart: Fix tests and CI.
JonasGilg Apr 13, 2025
7ee53ec
:sparkles: Apply clang-format.
JonasGilg Apr 13, 2025
8fbc79e
:green_heart: Fix CI.
JonasGilg Apr 13, 2025
17b1220
:wrench: Remove deprecated register keyword from OpenSG.
JonasGilg Apr 13, 2025
ad5bfc6
:wrench: Remove deprecated register keyword from OpenSG.
JonasGilg Apr 13, 2025
965c611
:wrench: Remove unused variables.
JonasGilg Apr 14, 2025
277b416
:wrench: Remove unused variable for cef file access, as that cannot b…
JonasGilg Apr 14, 2025
3acfd90
:beetle: Fix missing swiftshader files.
JonasGilg Apr 16, 2025
715cd8a
:wrench: Set CEF directories.
JonasGilg Apr 16, 2025
fcce509
:sparkles: Apply clang format.
JonasGilg Apr 16, 2025
b1ededd
:memo: Fix replace error.
JonasGilg May 6, 2025
4801f13
:green_heart: Apply suggestion.
JonasGilg May 7, 2025
a7ace87
Merge remote-tracking branch 'origin/main' into feature/replace-boost
JonasGilg Mar 2, 2026
2be7127
Merge branch 'feature/fix-windows-externals-build' into feature/repla…
JonasGilg Mar 2, 2026
54a7935
:fire: Remove c-ares from the externals build on Windows.
JonasGilg Mar 2, 2026
63f0a53
:fire: Remove c-ares.
JonasGilg Mar 3, 2026
132ddd5
:memo: Update documentation.
JonasGilg Mar 4, 2026
c96a0c2
:beetle: Revert previous change.
JonasGilg Mar 4, 2026
d6d375e
Merge remote-tracking branch 'origin/main' into feature/replace-boost
JonasGilg Mar 4, 2026
0c3ee98
:beetle: Fix make_externals.bat.
JonasGilg Mar 4, 2026
064c7f7
Merge remote-tracking branch 'origin/main' into feature/replace-boost
JonasGilg Mar 10, 2026
ba0bc43
:beetle: Fix link error in debug build on Windows.
JonasGilg Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 9 additions & 18 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ jobs:
fi

build_linux_gcc:
name: Linux GCC 11.4.0
runs-on: ubuntu-22.04
name: Linux GCC 13.3.0
runs-on: ubuntu-24.04
if: >
github.event_name == 'pull_request' ||
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
Expand All @@ -99,7 +99,7 @@ jobs:
run: |
sudo apt-get update -q
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libx11-dev
sudo apt-get install libxi-dev libgconf-2-4 libboost-all-dev lcov xvfb
sudo apt-get install libxi-dev lcov xvfb libfreetype-dev
- name: Build Externals
run: >
./make_externals.sh -G "Unix Makefiles"
Expand Down Expand Up @@ -130,15 +130,15 @@ jobs:
path-to-lcov: ./build/linux-Release/coverage.info

build_linux_clang:
name: Linux Clang 14.0
runs-on: ubuntu-22.04
name: Linux Clang 18.0
runs-on: ubuntu-24.04
if: >
github.event_name == 'pull_request' ||
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
contains(github.event.head_commit.message, '[run-ci]')
env:
CC: clang-14
CXX: clang++-14
CC: clang-18
CXX: clang++-18
COSMOSCOUT_USE_PCH: false
COSMOSCOUT_USE_UNITY_BUILD: false
steps:
Expand All @@ -154,7 +154,7 @@ jobs:
run: |
sudo apt-get update -q
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libx11-dev
sudo apt-get install libxi-dev libgconf-2-4 libboost-all-dev
sudo apt-get install libxi-dev libfreetype-dev
- name: Build Externals
run: >
./make_externals.sh -G "Unix Makefiles"
Expand Down Expand Up @@ -184,7 +184,6 @@ jobs:
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
contains(github.event.head_commit.message, '[run-ci]')
env:
BOOST_ROOT_1_72_0: C:\hostedtoolcache\windows\Boost\1.72.0\x86_64
COSMOSCOUT_USE_PCH: true
COSMOSCOUT_USE_UNITY_BUILD: true
steps:
Expand All @@ -200,13 +199,6 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1
- name: Download Dependencies
run: |
# From https://github.com/actions/virtual-environments/issues/2667
$url = "https://github.com/actions/boost-versions/releases/download/1.72.0-20200608.4/boost-1.72.0-win32-msvc14.2-x86_64.tar.gz"
(New-Object System.Net.WebClient).DownloadFile($url, "$env:TEMP\boost.tar.gz")
7z.exe x "$env:TEMP\boost.tar.gz" -o"$env:TEMP\boostArchive" -y | Out-Null
7z.exe x "$env:TEMP\boostArchive" -o"$env:TEMP\boost" -y | Out-Null
Push-Location -Path "$env:TEMP\boost"
Invoke-Expression .\setup.ps1
choco install ninja
- name: Build Externals
shell: cmd
Expand All @@ -216,10 +208,9 @@ jobs:
- name: Build CosmoScout VR
shell: cmd
run: |
cmake --preset windows-ninja-release-config -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DBOOST_ROOT=%BOOST_ROOT_1_72_0%
cmake --preset windows-ninja-release-config -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache
cmake --build --preset windows-ninja-release-build
- name: Run Tests
shell: cmd
run: |
SET PATH=%BOOST_ROOT_1_72_0%\\lib;%PATH%
install\\windows-Release\\bin\\run_tests.bat
18 changes: 3 additions & 15 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:
jobs:
source_code:
name: Source Code
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
Expand All @@ -35,7 +35,7 @@ jobs:

release_linux:
name: Linux
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
Expand All @@ -46,7 +46,6 @@ jobs:
sudo apt-get update -q
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libx11-dev
sudo apt-get install libxi-dev libgconf-2-4
sudo apt-get install libboost-all-dev
- name: Build Externals
run: ./make_externals.sh -G "Unix Makefiles"
- name: Build CosmoScout VR
Expand All @@ -70,29 +69,18 @@ jobs:
release_windows:
name: Windows
runs-on: windows-2025
env:
BOOST_ROOT_1_72_0: C:\hostedtoolcache\windows\Boost\1.72.0\x86_64
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Checkout Submodules
run: git submodule update --init --recursive
- name: Download Boost
run: |
# From https://github.com/actions/virtual-environments/issues/2667
$url = "https://github.com/actions/boost-versions/releases/download/1.72.0-20200608.4/boost-1.72.0-win32-msvc14.2-x86_64.tar.gz"
(New-Object System.Net.WebClient).DownloadFile($url, "$env:TEMP\boost.tar.gz")
7z.exe x "$env:TEMP\boost.tar.gz" -o"$env:TEMP\boostArchive" -y | Out-Null
7z.exe x "$env:TEMP\boostArchive" -o"$env:TEMP\boost" -y | Out-Null
Push-Location -Path "$env:TEMP\boost"
Invoke-Expression .\setup.ps1
- name: Build Externals
shell: cmd
run: make_externals.bat -G "Visual Studio 16 2019" -A x64
- name: Build CosmoScout VR
shell: cmd
run: |
cmake --preset windows-vs-release-config -DBOOST_ROOT=%BOOST_ROOT_1_72_0%
cmake --preset windows-vs-release-config
cmake --build --preset windows-vs-release-build
- name: Create Release
run: |
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@
[submodule "externals/opensg-1.8"]
path = externals/opensg-1.8
url = https://github.com/cosmoscout/opensg-1.8.git
[submodule "externals/c-ares"]
path = externals/c-ares
url = https://github.com/cosmoscout/c-ares.git
[submodule "externals/curl"]
path = externals/curl
url = https://github.com/cosmoscout/curl.git
Expand Down
42 changes: 2 additions & 40 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ project(cosmoscout-vr VERSION 1.10.0)

# Use cmake 3.12's <PACKAGE>_ROOT variabled for searching.
cmake_policy(SET CMP0074 NEW)
# cmake_policy(SET CMP0167 OLD)

# Ensure local modules (for dependencies etc.) are found.
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
Expand All @@ -32,12 +31,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)

include(GenerateExportHeader)

# Boost and OpenGL must be present on your system. All other dependencies are included as submodules
# in "externals/". Those must be built beforehand, preferably using the scripts "make_externals.*".
set(Boost_REALPATH ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_LIBS OFF)
find_package(Boost REQUIRED COMPONENTS system chrono date_time filesystem)
find_package(OpenGL REQUIRED)

# You have to provide the directory where the externals got installed to. The scripts make_*.sh and
Expand All @@ -48,12 +41,6 @@ set(COSMOSCOUT_EXTERNALS_DIR COSMOSCOUT_EXTERNALS_DIR-NotFound
# Make sure to use forward slashes only.
file(TO_CMAKE_PATH ${COSMOSCOUT_EXTERNALS_DIR} COSMOSCOUT_EXTERNALS_DIR)

if (DEFINED ENV{CARES_ROOT_DIR})
SET(CARES_ROOT_DIR "$ENV{CARES_ROOT_DIR}")
else()
SET(CARES_ROOT_DIR ${COSMOSCOUT_EXTERNALS_DIR})
endif()

if (DEFINED ENV{CURL_ROOT_DIR})
SET(CURL_ROOT_DIR "$ENV{CURL_ROOT_DIR}")
else()
Expand Down Expand Up @@ -155,7 +142,6 @@ find_package(GLI REQUIRED)
find_package(DOCTEST REQUIRED)
find_package(TINYGLTF REQUIRED)
find_package(CSPICE REQUIRED)
find_package(CARES REQUIRED)
find_package(CURL REQUIRED)
find_package(CURLPP REQUIRED)
find_package(SPDLOG REQUIRED)
Expand Down Expand Up @@ -184,30 +170,6 @@ install(
FILES_MATCHING PATTERN "*.so*" PATTERN "*.dll*"
)

# Copy boost libraries to install directory.
foreach(BOOST_LIB
${Boost_CHRONO_LIBRARY_DEBUG}
${Boost_CHRONO_LIBRARY_RELEASE}
${Boost_DATE_TIME_LIBRARY_DEBUG}
${Boost_DATE_TIME_LIBRARY_RELEASE}
${Boost_FILESYSTEM_LIBRARY_RELEASE}
${Boost_FILESYSTEM_LIBRARY_DEBUG}
${Boost_SYSTEM_LIBRARY_RELEASE}
${Boost_SYSTEM_LIBRARY_DEBUG}
)
if(EXISTS "${BOOST_LIB}")
get_filename_component(LIB_BASE_NAME ${BOOST_LIB} NAME_WE)
get_filename_component(LIB_PATH ${BOOST_LIB} PATH)
if (WIN32)
install(FILES ${LIB_PATH}/${LIB_BASE_NAME}.dll DESTINATION "lib")
endif()
if (UNIX)
file(GLOB LIB_FILES ${LIB_PATH}/${LIB_BASE_NAME}.so*)
install(FILES ${LIB_FILES} DESTINATION "lib")
endif()
endif()
endforeach()

# Install documentation directory
install(DIRECTORY
${CMAKE_SOURCE_DIR}/docs
Expand Down Expand Up @@ -261,11 +223,11 @@ configure_file(
# compiler settings --------------------------------------------------------------------------------

add_definitions(
-DBOOST_ALL_DYN_LINK
-DGLM_ENABLE_EXPERIMENTAL
-DGLM_FORCE_SWIZZLE
-DNOMINMAX
-DSPDLOG_COMPILED_LIB
-DSPDLOG_USE_STD_FORMAT
)

if (MSVC)
Expand Down Expand Up @@ -294,7 +256,7 @@ else()
)
endif()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Enable unit tests
Expand Down
30 changes: 0 additions & 30 deletions LICENSE-3RD-PARTY.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,36 +34,6 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.


# ------------------------------------------------------------------------------------------------ #
# Boost (system, chrono, filesystem, date_time) #
# http://www.boost.org/LICENSE_1_0.txt #
# ------------------------------------------------------------------------------------------------ #

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


# ------------------------------------------------------------------------------------------------ #
# c-ares #
# https://c-ares.haxx.se/license.html #
Expand Down
4 changes: 2 additions & 2 deletions cmake/FindCEF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ find_path(CEF_INCLUDE_DIR include/cef_version.h
HINTS ${CEF_ROOT_DIR}/include/cef)

# Locate library.
find_path(CEF_RESOURCE_DIR cef.pak
find_path(CEF_RESOURCE_DIR resources.pak
HINTS ${CEF_ROOT_DIR}/share/cef)

find_path(CEF_LIBRARY_DIR snapshot_blob.bin
find_path(CEF_LIBRARY_DIR v8_context_snapshot.bin
HINTS ${CEF_ROOT_DIR}/lib)

find_library(CEF_LIBRARY NAMES cef libcef
Expand Down
4 changes: 1 addition & 3 deletions docs/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ SPDX-License-Identifier: CC-BY-4.0

# Complete List of Dependencies

The list below contains all dependencies of CosmoScout VR. Besides Boost, all of them are included either as [git submodules](../externals) or directly in the source tree.
The list below contains all dependencies of CosmoScout VR. All of them are included either as [git submodules](../externals) or directly in the source tree.
Some of the dependencies are only required by some plugins.

A text document containing [all individual license texts](../LICENSE-3RD-PARTY.txt) is provided in the root directory of the source tree.

| Engine Dependencies | Description | License |
|:---|:---|:---|
| [Boost (system, chrono, filesystem, date_time)](http://www.boost.org) | Used for time conversions and file system operations. | [Boost Software License](http://www.boost.org/LICENSE_1_0.txt) |
| [c-ares](https://c-ares.haxx.se) | A dependency of curl, used for asynchronous DNS requests. | [MIT](https://c-ares.haxx.se/license.html) |
| [Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef) | For the Webkit based user interface. | [BSD](https://bitbucket.org/chromiumembedded/cef/raw/a5a5e7ff08129f4122437dfdbba93d2a746c5c59/LICENSE.txt) |
| [Curl](https://curl.haxx.se) | Library for downloading stuff from the Internet. | [MIT style](https://curl.haxx.se/legal/licmix.html) |
| [CurlPP](https://github.com/jpbarrette/curlpp) | C++ wrapper for curl. | [MIT style](https://github.com/jpbarrette/curlpp/blob/master/doc/LICENSE) |
Expand Down
17 changes: 2 additions & 15 deletions docs/ide-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ Below you find some instructions on how to setup your preferred IDE for CosmoSco
### Prerequisites

- Be sure to build the externals, as specified in the [installation](install.md) guide.
- On Windows ensure that `BOOST_ROOT` is registered as an environment variable.

### Configure CMake Profiles

Expand Down Expand Up @@ -179,12 +178,7 @@ We will discuss these files in the following.
"$gcc"
],
"windows": {
"command": "cmake --preset windows-vs-release-config; cmake --build --preset windows-vs-release-build",
"options": {
"env": {
"BOOST_ROOT": "C:\\local\\boost_1_69_0"
}
}
"command": "cmake --preset windows-vs-release-config; cmake --build --preset windows-vs-release-build"
}
},
{
Expand All @@ -201,12 +195,7 @@ We will discuss these files in the following.
"$gcc"
],
"windows": {
"command": "cmake --preset windows-make-debug-config; cmake --build --preset windows-make-debug-build",
"options": {
"env": {
"BOOST_ROOT": "C:\\local\\boost_1_69_0"
}
}
"command": "cmake --preset windows-make-debug-config; cmake --build --preset windows-make-debug-build"
}
},
{
Expand Down Expand Up @@ -292,8 +281,6 @@ We will discuss these files in the following.
}
```

If you are on Windows, you may have to replace the `"BOOST_ROOT"` environment variable in this file.

With this file in place, you can press `Ctrl+Shift+P` and select `Tasks: Run Task`. Now you can first select `Make Externals (Release)`, then `Make (Release)` and later `Run CosmoScout VR`.

> [!TIP]
Expand Down
Loading
Loading