Merge branch 'master' into fix/gcc-15

This commit is contained in:
ksuprynowicz 2025-06-06 18:00:45 +02:00 committed by GitHub
commit 7b9b3e3a7c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 27 additions and 13 deletions

View File

@ -15,7 +15,7 @@ Please read the [general build guide](BUILD.md) for information on dependencies
This documentation assumes that you are running our current target distribution, which is currently Ubuntu 22.04. The target distribution is usually the latest Ubuntu LTS still receiving standard support, though we may upgrade a little sooner if we require certain newer packages. Ubuntu version numbers are date codes and standard support is 5 years, meaning that Ubuntu 22.04 leaves standard support after around 2027-04. This documentation assumes that you are running our current target distribution, which is currently Ubuntu 22.04. The target distribution is usually the latest Ubuntu LTS still receiving standard support, though we may upgrade a little sooner if we require certain newer packages. Ubuntu version numbers are date codes and standard support is 5 years, meaning that Ubuntu 22.04 leaves standard support after around 2027-04.
### Install build tools: ## Install build tools:
- First update the package cache and your system: - First update the package cache and your system:
```bash ```bash
@ -38,7 +38,7 @@ sudo apt install ./conan-*.deb
``` ```
Verify Conan was installed by running `conan --version`. Verify Conan was installed by running `conan --version`.
### Install build dependencies: ## Install build dependencies:
Most dependencies will be automatically installed by Conan. This section only lists dependencies which might not be handled by Conan. Most dependencies will be automatically installed by Conan. This section only lists dependencies which might not be handled by Conan.
- OpenGL: - OpenGL:
@ -73,7 +73,7 @@ sudo apt-get install -y qtbase5-dev \
``` ```
### Extra dependencies to compile Interface on a server ## Extra dependencies to compile Interface on a server
- Install the following: - Install the following:
@ -96,7 +96,7 @@ sudo apt install python python3 python3-distro
sudo apt install nodejs sudo apt install nodejs
``` ```
### Get code and checkout the branch you need ## Get code and checkout the branch you need
Clone this repository: Clone this repository:
```bash ```bash
@ -114,7 +114,7 @@ git fetch --tags
git tag git tag
``` ```
### Architecture support ## Architecture support
If the build is intended to be packaged for distribution, the `OVERTE_CPU_ARCHITECTURE` If the build is intended to be packaged for distribution, the `OVERTE_CPU_ARCHITECTURE`
CMake variable needs to be set to an architecture specific value. CMake variable needs to be set to an architecture specific value.
@ -127,7 +127,7 @@ For packaging, it is recommended to set it to a different value, for example `-m
Setting `OVERTE_CPU_ARCHITECTURE` to an empty string will use the default compiler settings and yield maximum compatibility. Setting `OVERTE_CPU_ARCHITECTURE` to an empty string will use the default compiler settings and yield maximum compatibility.
### Prepare conan ## Prepare conan
The next step is setting up conan The next step is setting up conan
@ -147,7 +147,7 @@ echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf
echo "tools.system.package_manager:sudo = True" >> ~/.conan2/global.conf echo "tools.system.package_manager:sudo = True" >> ~/.conan2/global.conf
``` ```
### Compiling ## Compiling
Install the dependencies with conan Install the dependencies with conan
```bash ```bash
@ -166,7 +166,7 @@ Prepare makefiles:
cmake --preset conan-release cmake --preset conan-release
``` ```
#### Server ### Server
To compile the Domain server: To compile the Domain server:
```bash ```bash
@ -175,7 +175,7 @@ make domain-server assignment-client
*Note: For a server, it is not necessary to compile the Interface.* *Note: For a server, it is not necessary to compile the Interface.*
#### Interface ### Interface
To compile the Interface client: To compile the Interface client:
```bash ```bash
@ -187,23 +187,23 @@ The commands above will compile with a single thread. If you have enough memory,
make -j4 interface make -j4 interface
``` ```
### Running the software ## Running the software
#### Domain server ### Domain server
Running Domain server: Running Domain server:
```bash ```bash
./domain-server/domain-server ./domain-server/domain-server
``` ```
#### Assignment clients ### Assignment clients
Running assignment client: Running assignment client:
```bash ```bash
./assignment-client/assignment-client -n 6 ./assignment-client/assignment-client -n 6
``` ```
#### Interface ### Interface
Running Interface: Running Interface:
```bash ```bash

View File

@ -74,6 +74,8 @@ To create this variable:
* Set "Variable name" to `CONAN_HOME` * Set "Variable name" to `CONAN_HOME`
* Set "Variable value" to any directory that you have control over. * Set "Variable value" to any directory that you have control over.
*Make sure that you copy the contents of your old `.conan2` folder over, or that you add the remote from step 2 again.*
## Step 7. Running CMake to Generate Build Files ## Step 7. Running CMake to Generate Build Files
These instructions only apply to Visual Studio 2019. These instructions only apply to Visual Studio 2019.

View File

@ -78,6 +78,8 @@ class Overte(ConanFile):
self.requires("zlib/1.2.13") self.requires("zlib/1.2.13")
self.requires("glm/0.9.9.5", force=True) self.requires("glm/0.9.9.5", force=True)
self.requires("jsoncpp/1.9.6", force=True) self.requires("jsoncpp/1.9.6", force=True)
# Fixes build errors on GCC 15. Check if this is still required when upgrading from sdl/2.30.3.
# https://github.com/conan-io/conan-center-index/issues/27265
self.requires("libiconv/1.18", force=True) self.requires("libiconv/1.18", force=True)
openssl = "openssl/1.1.1q" openssl = "openssl/1.1.1q"

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=192 compiler.version=192
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Debug compiler.runtime_type=Debug

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=192 compiler.version=192
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Debug compiler.runtime_type=Debug

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=192 compiler.version=192
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Release compiler.runtime_type=Release

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=192 compiler.version=192
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Release compiler.runtime_type=Release

View File

@ -4,6 +4,7 @@ os_build=Windows
arch=x86_64 arch=x86_64
arch_build=x86_64 arch_build=x86_64
compiler=Visual Studio compiler=Visual Studio
compiler.cppstd=17
compiler.version=16 compiler.version=16
build_type=RelWithDebInfo build_type=RelWithDebInfo
# Build fails on Windows with C++17 # Build fails on Windows with C++17

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=194 compiler.version=194
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Debug compiler.runtime_type=Debug

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=194 compiler.version=194
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Debug compiler.runtime_type=Debug

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=194 compiler.version=194
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Release compiler.runtime_type=Release

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=194 compiler.version=194
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=Release compiler.runtime_type=Release

View File

@ -2,6 +2,7 @@
os=Windows os=Windows
arch=x86_64 arch=x86_64
compiler=msvc compiler=msvc
compiler.cppstd=17
compiler.version=194 compiler.version=194
compiler.runtime=dynamic compiler.runtime=dynamic
compiler.runtime_type=RelWithDebInfo compiler.runtime_type=RelWithDebInfo