* Brighter red * Move openssl to vcpkg.exe * Revert "Move openssl to vcpkg.exe" This reverts commit 36f39d916f3cc2c8ce779442bd964bd6af7edd69. * Add missing copyright * Fix copyright dates * Remove openssl from choco * Install openssl using vcpkg * Add deps for vcpkg * Add missing vcpkg manifest * Revert "Add deps for vcpkg" This reverts commit c266d29c2cec4474a181b89c2f759b62ed67db10. * Make vcpkg Windows only * Improve comment about vcpkg * Remove unused var * Add caching for vcpkg * Reorg launch.json * Remove static env var for openssl on Windows * Add openssl dep to vcpkg * Update ChangeLog * Add OpenSSL include dir * Remove pointless choco cache * Remove vcpkg downloads * Remove wixtoolset for CI already installed on GitHub runners * Use `Remove-Item` instead of `rmdir` * Move cmake and ninja out of choco * Revert "Move cmake and ninja out of choco (winget not supported on GitHub runner)" This reverts commit a65c02d275e58705b8cd86fac72629284191d737. * Move cmake and ninja to winget and don't use choco on CI * Remove winget action * Use scoop on CI and winget locally * Use `seanmiddleditch/gha-setup-ninja` for Ninja * Improve comments * Install Ninja before deps * Use system vcpkg if installed * Revert "Use system vcpkg if installed" This reverts commit 4ddee1c66e8cace458c047285a70d2f98cf9d82c. * Add comment about why we're using local vcpkg * Fixed comment about VC++ * Improve config comments * Delete dead code * Improve comment about vcpkg/buildtrees
196 lines
4.9 KiB
YAML
196 lines
4.9 KiB
YAML
config:
|
|
windows:
|
|
dependencies:
|
|
# We only run `choco` when not in CI env because it's pretty unreliable and slow.
|
|
# The Chocolatey mirror cannot be 100% reliable (according to docs) so it will often fail
|
|
# with an error `503 (Service Unavailable: Back-end server is at capacity)` which causes
|
|
# the nightly CI to fail intermittently.
|
|
command-elevated: if not defined CI (choco install Chocolatey.config -y)
|
|
|
|
# We only run `winget` when not in CI env; it's not available on the GitHub Windows runner.
|
|
# It's simpler to solve dependencies like Ninja with a GitHub workflow action, and cmake is
|
|
# already installed on the Windows runner.
|
|
command: if not defined CI (winget install ninja-build.ninja cmake)
|
|
qt:
|
|
version: 6.7
|
|
mirror: https://qt.mirror.constant.com/
|
|
base-dir: ./deps/qt
|
|
|
|
mac:
|
|
dependencies:
|
|
command: brew bundle --file=Brewfile
|
|
qt:
|
|
version: 6.7
|
|
mirror: https://qt.mirror.constant.com/
|
|
base-dir: ./deps/qt
|
|
|
|
linux:
|
|
debian: &debian
|
|
dependencies:
|
|
command-pre: sudo apt-get update
|
|
command: |
|
|
sudo apt-get install -y \
|
|
cmake \
|
|
make \
|
|
ninja-build \
|
|
g++ \
|
|
file \
|
|
xorg-dev \
|
|
libx11-dev \
|
|
libxtst-dev \
|
|
libssl-dev \
|
|
libglib2.0-dev \
|
|
libgdk-pixbuf-2.0-dev \
|
|
libnotify-dev \
|
|
libxkbfile-dev \
|
|
qt6-base-dev \
|
|
qt6-tools-dev \
|
|
libgtk-3-dev \
|
|
libgtest-dev \
|
|
libgmock-dev \
|
|
libpugixml-dev \
|
|
libei-dev \
|
|
libportal-dev
|
|
optional: [libei-dev, libportal-dev]
|
|
|
|
linuxmint:
|
|
<<: *debian
|
|
|
|
ubuntu:
|
|
<<: *debian
|
|
|
|
fedora: &fedora
|
|
dependencies: &fedora_deps
|
|
command-pre: sudo dnf check-update
|
|
command: |
|
|
sudo dnf install -y \
|
|
cmake \
|
|
make \
|
|
ninja-build \
|
|
gcc-c++ \
|
|
rpm-build \
|
|
openssl-devel \
|
|
glib2-devel \
|
|
gdk-pixbuf2-devel \
|
|
libXtst-devel \
|
|
libnotify-devel \
|
|
libxkbfile-devel \
|
|
qt6-qtbase-devel \
|
|
qt6-qttools-devel \
|
|
gtk3-devel \
|
|
gtest-devel \
|
|
gmock-devel \
|
|
pugixml-devel \
|
|
libei-devel \
|
|
libportal-devel
|
|
optional: [libei-devel, libportal-devel]
|
|
|
|
# RHEL is not actually supported yet, since it doesn't have Qt6 libs.
|
|
# We simply use it as a base for Alma Linux and Rocky Linux.
|
|
rhel: &rhel
|
|
<<: *fedora
|
|
dependencies: &rhel_deps
|
|
<<: *fedora_deps
|
|
command-pre: |
|
|
sudo dnf check-update;
|
|
sudo dnf install -y epel-release;
|
|
dnf config-manager --set-enabled crb
|
|
|
|
rocky:
|
|
<<: *rhel
|
|
dependencies:
|
|
<<: *rhel_deps
|
|
|
|
almalinux:
|
|
<<: *rhel
|
|
dependencies:
|
|
<<: *rhel_deps
|
|
|
|
opensuse-tumbleweed: &opensuse-tumbleweed
|
|
dependencies:
|
|
command-pre: sudo zypper refresh
|
|
command: sudo zypper install -y --force-resolution \
|
|
cmake \
|
|
make \
|
|
ninja \
|
|
gcc-c++ \
|
|
rpm-build \
|
|
libopenssl-devel \
|
|
glib2-devel \
|
|
gdk-pixbuf-devel \
|
|
libXtst-devel \
|
|
libnotify-devel \
|
|
libxkbfile-devel \
|
|
qt6-base-devel \
|
|
qt6-tools-devel \
|
|
gtk3-devel \
|
|
googletest-devel \
|
|
googlemock-devel \
|
|
pugixml-devel \
|
|
libei-devel \
|
|
libportal-devel
|
|
|
|
arch: &arch
|
|
dependencies:
|
|
command: sudo pacman -Sy --noconfirm \
|
|
base-devel \
|
|
cmake \
|
|
ninja \
|
|
gcc \
|
|
openssl \
|
|
glib2 \
|
|
gdk-pixbuf2 \
|
|
libxtst \
|
|
libnotify \
|
|
libxkbfile \
|
|
gtest \
|
|
pugixml \
|
|
libei \
|
|
libportal \
|
|
qt6-base \
|
|
qt6-tools \
|
|
gtk3
|
|
|
|
manjaro:
|
|
<<: *arch
|
|
|
|
subprojects:
|
|
libei:
|
|
dependencies:
|
|
debian: &debian_libei |
|
|
sudo apt-get install -y \
|
|
python3-attr \
|
|
python3-jinja2 \
|
|
libsystemd-dev
|
|
|
|
ubuntu: *debian_libei
|
|
linuxmint: *debian_libei
|
|
|
|
fedora: &fedora_libei |
|
|
sudo dnf install -y \
|
|
python3-attrs \
|
|
python3-jinja2 \
|
|
systemd-devel
|
|
|
|
rhel: *fedora_libei
|
|
rocky: *fedora_libei
|
|
almalinux: *fedora_libei
|
|
|
|
libportal:
|
|
dependencies:
|
|
debian: &debian_libportal |
|
|
sudo apt-get install -y \
|
|
python3-dbusmock \
|
|
python3-pytest \
|
|
valac \
|
|
protobuf-c-compiler \
|
|
protobuf-compiler \
|
|
libglib2.0 \
|
|
libgtk-3-dev \
|
|
libprotobuf-c-dev \
|
|
libsystemd-dev \
|
|
libgirepository1.0-dev
|
|
|
|
ubuntu: *debian_libportal
|
|
linuxmint: *debian_libportal
|