diff --git a/.ci/compile.sh b/.ci/compile.sh
index ee846897b..6b72ae9b4 100755
--- a/.ci/compile.sh
+++ b/.ci/compile.sh
@@ -14,8 +14,8 @@
# --dir
sets the name of the build dir, default is "build"
# --cmake-generator sets CMAKE_GENERATOR as used by cmake
# --target-macos-version sets the min os version - only used for macOS builds
-# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_NO_CLIENT MAKE_TEST USE_CCACHE CCACHE_SIZE CCACHE_EVICTION_AGE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION
-# (correspond to args: --debug/--release --install --package --suffix --server --test --ccache --dir )
+# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_TEST USE_CCACHE CCACHE_SIZE CCACHE_EVICTION_AGE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION
+# (correspond to args: --debug/--release --install --package --suffix --test --ccache --dir )
# exitcode: 1 for failure, 3 for invalid arguments
# Read arguments
@@ -45,14 +45,6 @@ while [[ $# != 0 ]]; do
PACKAGE_SUFFIX="$1"
shift
;;
- '--server')
- MAKE_SERVER=1
- shift
- ;;
- '--no-client')
- MAKE_NO_CLIENT=1
- shift
- ;;
'--test')
MAKE_TEST=1
shift
@@ -82,10 +74,6 @@ while [[ $# != 0 ]]; do
CCACHE_EVICTION_AGE=$1
shift
;;
- '--vcpkg')
- USE_VCPKG=1
- shift
- ;;
'--dir')
shift
if [[ $# == 0 ]]; then
@@ -138,12 +126,6 @@ export CMAKE_POLICY_VERSION_MINIMUM=3.10
# Add cmake flags
flags=("-DCMAKE_BUILD_TYPE=$BUILDTYPE")
-if [[ $MAKE_SERVER ]]; then
- flags+=("-DWITH_SERVER=1")
-fi
-if [[ $MAKE_NO_CLIENT ]]; then
- flags+=("-DWITH_CLIENT=0" "-DWITH_ORACLE=0")
-fi
if [[ $MAKE_TEST ]]; then
flags+=("-DTEST=1")
fi
@@ -157,9 +139,6 @@ fi
if [[ $PACKAGE_TYPE ]]; then
flags+=("-DCPACK_GENERATOR=$PACKAGE_TYPE")
fi
-if [[ $USE_VCPKG ]]; then
- flags+=("-DUSE_VCPKG=1")
-fi
# Add cmake --build flags
buildflags=(--config "$BUILDTYPE")
diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml
index f1846ecf6..7c6f3b536 100644
--- a/.github/workflows/desktop-build.yml
+++ b/.github/workflows/desktop-build.yml
@@ -153,7 +153,6 @@ jobs:
CACHE: ${{ github.workspace }}/.cache/${{ matrix.distro }}${{ matrix.version }} # directory for caching docker image and ccache
CCACHE_EVICTION_AGE: 7d
CCACHE_SIZE: 550M # space of all repo is 10Gi: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
- CMAKE_GENERATOR: 'Ninja'
NAME: ${{ matrix.distro }}${{ matrix.version }}
steps:
@@ -179,8 +178,7 @@ jobs:
shell: bash
run: |
source .ci/docker.sh
- RUN --server --debug --test --ccache "$CCACHE_SIZE" \
- --cmake-generator "$CMAKE_GENERATOR"
+ RUN --server --debug --test --ccache "$CCACHE_SIZE"
- name: "Build release package"
id: build
@@ -189,14 +187,11 @@ jobs:
env:
SUFFIX: '-${{ matrix.distro }}${{ matrix.version }}'
package: '${{ matrix.package }}'
- server_only: '${{ matrix.server_only }}'
run: |
source .ci/docker.sh
args=()
- [[ $server_only == yes ]] && args+=(--no-client)
[[ $GITHUB_REF == "refs/heads/master" ]] && args+=(--evict-ccache "$CCACHE_EVICTION_AGE")
args+=(--ccache "$CCACHE_SIZE")
- args+=(--cmake-generator "$CMAKE_GENERATOR")
args+=(--suffix "$SUFFIX")
RUN --server --release --package "$package" "${args[@]}"
@@ -266,7 +261,6 @@ jobs:
runner: macos-15-intel
ccache_eviction_age: 7d
- cmake_generator: Ninja
make_package: 1
override_target: 13
package_suffix: "-macOS13_Intel"
@@ -282,7 +276,6 @@ jobs:
runner: macos-14
ccache_eviction_age: 7d
- cmake_generator: Ninja
make_package: 1
package_suffix: "-macOS14"
qt_version: 6.11.0
@@ -297,7 +290,6 @@ jobs:
runner: macos-15
ccache_eviction_age: 7d
- cmake_generator: Ninja
make_package: 1
package_suffix: "-macOS15"
qt_version: 6.11.0
@@ -312,7 +304,6 @@ jobs:
runner: macos-15
ccache_eviction_age: 7d
- cmake_generator: Ninja
qt_version: 6.11.0
qt_modules: qtimageformats qtmultimedia qtwebsockets
soc: Apple
@@ -324,8 +315,6 @@ jobs:
target: 10
runner: windows-2025
- cmake_generator: "Visual Studio 18 2026"
- cmake_generator_platform: x64
make_package: 1
package_suffix: "-Win10"
qt_version: 6.11.0
@@ -437,8 +426,6 @@ jobs:
env:
BUILDTYPE: '${{ matrix.type }}'
CCACHE_EVICTION_AGE: ${{ matrix.ccache_eviction_age }}
- CMAKE_GENERATOR: ${{ matrix.cmake_generator }}
- CMAKE_GENERATOR_PLATFORM: ${{ matrix.cmake_generator_platform }}
DEVELOPER_DIR: '/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer'
MACOS_CERTIFICATE: ${{ secrets.PROD_MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_NAME: ${{ secrets.PROD_MACOS_CERTIFICATE_NAME }}
@@ -447,9 +434,7 @@ jobs:
MAKE_PACKAGE: '${{ matrix.make_package }}'
PACKAGE_SUFFIX: '${{ matrix.package_suffix }}'
TARGET_MACOS_VERSION: ${{ matrix.override_target }}
- USE_CCACHE: ${{ matrix.use_ccache }}
VCPKG_BINARY_SOURCES: 'clear;files,${{ steps.vcpkg-cache.outputs.path }},readwrite'
- VCPKG_DISABLE_METRICS: 1
run: .ci/compile.sh --server --test --vcpkg
# Delete used cache to emulate a ccache update. See https://github.com/actions/cache/issues/342
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c10e1db68..b397e277f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,12 +48,7 @@ if(USE_CCACHE)
endif()
endif()
-if(WIN32 OR USE_VCPKG)
- # Use vcpkg toolchain on Windows (and on macOS in CI)
- set(CMAKE_TOOLCHAIN_FILE
- ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
- CACHE STRING "Vcpkg toolchain file"
- )
+if(WIN32 or APPLE)
# Qt path set by user or env var
if(QTDIR
OR DEFINED ENV{QTDIR}
diff --git a/CMakePresets.json b/CMakePresets.json
new file mode 100644
index 000000000..8b5c0a98f
--- /dev/null
+++ b/CMakePresets.json
@@ -0,0 +1,137 @@
+{
+ "version": 5,
+ "cmakeMinimumRequired": {
+ "major": 3,
+ "minor": 25,
+ "patch": 0
+ },
+
+ "configurePresets": [
+ {
+ "name": "ci-base",
+ "description": "",
+ "hidden": true,
+ "binaryDir": "${sourceDir}/build",
+ "environment": {
+ },
+ "cacheVariables": {
+ }
+ },
+
+ {
+ "name": "linux-release",
+ "description": "",
+ "inherits": "ci-base",
+ "generator": "Ninja",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Release",
+ "WITH_CLIENT": "1",
+ "WITH_ORACLE": "1",
+ "WITH_SERVER": "1",
+ "USE_CCACHE": "1"
+ }
+ },
+
+ {
+ "name": "linux-debug",
+ "description": "",
+ "inherits": "ci-base",
+ "generator": "Ninja",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Debug",
+ "WITH_CLIENT": "1",
+ "WITH_ORACLE": "1",
+ "WITH_SERVER": "1",
+ "TEST": "1",
+ "USE_CCACHE": "1"
+ }
+ },
+
+ {
+ "name": "linux-servatrice",
+ "description": "",
+ "inherits": "ci-base",
+ "generator": "Ninja",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Release",
+ "WITH_CLIENT": "0",
+ "WITH_ORACLE": "0",
+ "WITH_SERVER": "1",
+ "USE_CCACHE": "1"
+ }
+ },
+
+ {
+ "name": "ci-base-vcpkg",
+ "description": "",
+ "hidden": true,
+ "binaryDir": "${sourceDir}/build",
+ "environment": {
+ "VCPKG_DISABLE_METRICS": "1"
+ },
+ "cacheVariables": {
+ "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake",
+ "VCPKG_INSTALL_OPTIONS": "--x-abi-tools-use-exact-versions"
+ }
+ },
+
+ {
+ "name": "macos-release",
+ "description": "",
+ "inherits": "ci-base-vcpkg",
+ "generator": "Ninja",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Release",
+ "WITH_CLIENT": "1",
+ "WITH_ORACLE": "1",
+ "WITH_SERVER": "1",
+ "USE_CCACHE": "1"
+ }
+ },
+
+ {
+ "name": "macos-debug",
+ "description": "",
+ "inherits": "ci-base-vcpkg",
+ "generator": "Ninja",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Debug",
+ "WITH_CLIENT": "1",
+ "WITH_ORACLE": "1",
+ "WITH_SERVER": "1",
+ "TEST": "1",
+ "USE_CCACHE": "1"
+ }
+ },
+
+ {
+ "name": "windows-release",
+ "description": "",
+ "inherits": "ci-base-vcpkg",
+ "generator": "Visual Studio 17 2022",
+ "architecture": "x64",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Release",
+ "WITH_CLIENT": "1",
+ "WITH_ORACLE": "1",
+ "WITH_SERVER": "1"
+ }
+ }
+
+ {
+ "name": "windows-debug",
+ "description": "",
+ "inherits": "ci-base-vcpkg",
+ "generator": "Visual Studio 17 2022",
+ "architecture": "x64",
+ "cacheVariables": {
+ "CMAKE_BUILD_TYPE": "Debug",
+ "CMAKE_GENERATOR_PLATFORM": "x64"
+ "WITH_CLIENT": "1",
+ "WITH_ORACLE": "1",
+ "WITH_SERVER": "1",
+ "TEST": "1"
+ }
+ }
+ ]
+}