fix misplaced LineOffset and LineGapWidth (#3840) #6486
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: qt-ci | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
- qt-*.*.x | |
tags: | |
- "qt-**" | |
paths: | |
- CMakeLists.txt | |
- ".github/actions/qt5-build/**" | |
- ".github/actions/qt6-build/**" | |
- ".github/workflows/qt-ci.yml" | |
- "bin/**" | |
- "expression-test/**" | |
- "include/**" | |
- "metrics/**" | |
- "platform/default/**" | |
- "platform/qt/**" | |
- "render-test/**" | |
- "scripts/**" | |
- "src/**" | |
- "test/**" | |
- "vendor/**" | |
- ".gitmodules" | |
- "!**/*.md" | |
pull_request: | |
branches: | |
- "*" | |
paths: | |
- CMakeLists.txt | |
- ".github/actions/qt5-build/**" | |
- ".github/actions/qt6-build/**" | |
- ".github/workflows/qt-ci.yml" | |
- "bin/**" | |
- "expression-test/**" | |
- "include/**" | |
- "metrics/**" | |
- "platform/default/**" | |
- "platform/qt/**" | |
- "render-test/**" | |
- "scripts/**" | |
- "src/**" | |
- "test/**" | |
- "vendor/**" | |
- ".gitmodules" | |
- "!**/*.md" | |
concurrency: | |
# cancel jobs on PRs only | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
jobs: | |
build: | |
strategy: | |
matrix: | |
include: | |
- name: Linux_GCC14 | |
os: ubuntu-24.04 | |
build_type: RelWithDebInfo | |
qt_version: 6.9.1 | |
qt_target: desktop | |
compiler: "gcc-14" | |
- name: macOS | |
os: macos-14 | |
build_type: RelWithDebInfo | |
qt_version: 6.9.1 | |
qt_target: desktop | |
deployment_target: 12.0 | |
deployment_arch: "x86_64;arm64" | |
compiler: "" | |
- name: macOS_LLVM | |
os: macos-14 | |
build_type: RelWithDebInfo | |
qt_version: 6.9.1 | |
qt_target: desktop | |
deployment_target: 12.0 | |
deployment_arch: "arm64" | |
compiler: "llvm" | |
- name: win64_msvc2022 | |
os: windows-2022 | |
build_type: "RelWithDebInfo" | |
compiler_type: x64 | |
qt_version: 6.9.1 | |
qt_target: desktop | |
qt_arch: win64_msvc2022_64 | |
qt_tools: "" | |
runs-on: ${{ matrix.os }} | |
env: | |
BUILD_TYPE: ${{ matrix.build_type }} | |
COMPILER_TYPE: ${{ matrix.compiler_type }} | |
DEPLOYMENT_TARGET: ${{ matrix.deployment_target }} | |
DEPLOYMENT_ARCH: ${{ matrix.deployment_arch }} | |
QT_VERSION: ${{ matrix.qt_version }} | |
steps: | |
- if: runner.os == 'Windows' | |
run: git config --global core.longpaths true | |
- name: Checkout | |
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 | |
with: | |
path: source | |
submodules: recursive | |
persist-credentials: false | |
- name: Install test dependencies | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install \ | |
libxkbcommon-x11-0 \ | |
libxcb-cursor0 \ | |
libxcb-icccm4 \ | |
libxcb-image0 \ | |
libxcb-keysyms1 \ | |
libxcb-randr0 \ | |
libxcb-render-util0 \ | |
libxcb-xinerama0 \ | |
libxcb-xfixes0 \ | |
libegl1 \ | |
fonts-noto-cjk | |
- name: Install compiler (Linux) | |
id: install_compiler | |
if: runner.os == 'Linux' | |
uses: rlalik/setup-cpp-compiler@e312c52f6d9664049d97c75ab084c895d9733c0c # master | |
with: | |
compiler: ${{ matrix.compiler }} | |
- name: Setup compiler (Linux) | |
if: runner.os == 'Linux' | |
env: | |
CC: ${{ steps.install_compiler.outputs.cc }} | |
CXX: ${{ steps.install_compiler.outputs.cxx }} | |
run: | | |
{ | |
echo "CC=$CC" | |
echo "CXX=$CXX" | |
} >> "$GITHUB_ENV" | |
- name: Setup compiler (macOS) | |
if: runner.os == 'macOS' && matrix.compiler != '' | |
env: | |
MLN_COMPILER: ${{ matrix.compiler }} | |
run: | | |
# https://github.com/actions/runner-images/issues/8838#issuecomment-1817486924 | |
brew link --overwrite python@3.12 | |
brew install "$MLN_COMPILER" | |
echo "/opt/homebrew/opt/${MLN_COMPILER}/bin" >> "$GITHUB_PATH" | |
{ | |
echo "CC=/opt/homebrew/opt/${MLN_COMPILER}/bin/clang" | |
echo "CXX=/opt/homebrew/opt/${MLN_COMPILER}/bin/clang++" | |
echo "LDFLAGS=\"-L/opt/homebrew/opt/${MLN_COMPILER}/lib\"" | |
echo "CPPFLAGS=\"-I/opt/homebrew/opt/${MLN_COMPILER}/include\"" | |
} >> "$GITHUB_ENV" | |
- name: Setup Xcode | |
if: runner.os == 'macOS' | |
uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 | |
with: | |
xcode-version: latest-stable | |
- name: Setup MSVC | |
if: matrix.qt_arch == 'win64_msvc2022_64' | |
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 | |
with: | |
arch: ${{ matrix.compiler_type }} | |
- name: Setup ninja | |
uses: seanmiddleditch/gha-setup-ninja@3b1f8f94a2f8254bd26914c4ab9474d4f0015f67 # v6 | |
- name: Download Qt | |
uses: jurplel/install-qt-action@d325aaf2a8baeeda41ad0b5d39f84a6af9bcf005 # v4.3.0 | |
with: | |
aqtversion: ==3.1.* | |
version: ${{ env.QT_VERSION }} | |
dir: ${{ github.workspace }} | |
target: ${{ matrix.qt_target }} | |
arch: ${{ matrix.qt_arch }} | |
tools: ${{ matrix.qt_tools }} | |
extra: --base https://mirrors.ocf.berkeley.edu/qt/ | |
- name: Set up ccache | |
uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 | |
with: | |
key: Qt_${{ matrix.name }}_${{ matrix.qt_version }} | |
max-size: 200M | |
- name: Build maplibre-native (macOS) | |
if: runner.os == 'macOS' && matrix.qt_target == 'desktop' | |
run: | | |
mkdir build && cd build | |
cmake ../source/ \ | |
-G Ninja \ | |
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ | |
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="${DEPLOYMENT_TARGET}" \ | |
-DCMAKE_OSX_ARCHITECTURES="${DEPLOYMENT_ARCH}" \ | |
-DMLN_WITH_QT=ON \ | |
-DMLN_WITH_OPENGL=ON | |
ninja | |
- name: Build maplibre-native (Linux, Qt6) | |
if: runner.os == 'Linux' | |
run: | | |
mkdir build && cd build | |
qt-cmake ../source/ \ | |
-G Ninja \ | |
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ | |
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \ | |
-DMLN_WITH_QT=ON \ | |
-DMLN_WITH_OPENGL=ON | |
ninja | |
- name: Build maplibre-native (Linux, Qt6, internal libraries) | |
if: runner.os == 'Linux' | |
run: | | |
mkdir build-internal && cd build-internal | |
qt-cmake ../source/ \ | |
-G Ninja \ | |
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ | |
-DCMAKE_C_COMPILER_LAUNCHER="ccache" \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \ | |
-DMLN_WITH_QT=ON \ | |
-DMLN_QT_WITH_INTERNAL_ICU=ON \ | |
-DMLN_QT_WITH_INTERNAL_SQLITE=ON \ | |
-DMLN_WITH_OPENGL=ON | |
ninja | |
- name: Run tests (Linux) | |
if: runner.os == 'Linux' | |
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1 | |
with: | |
run: ctest --output-on-failure | |
working-directory: build | |
- name: Build maplibre-native (Windows) | |
if: runner.os == 'Windows' | |
shell: bash | |
run: | | |
export PATH="$IQTA_TOOLS/$COMPILER_TYPE/bin:$PATH" | |
echo "$PATH" | |
mkdir build && cd build | |
cmake.exe ../source/ \ | |
-G"Ninja Multi-Config" \ | |
-DCMAKE_CONFIGURATION_TYPES="${BUILD_TYPE}" \ | |
-DCMAKE_C_COMPILER_LAUNCHER="ccache.exe" \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER="ccache.exe" \ | |
-DMLN_WITH_QT=ON \ | |
-DMLN_WITH_OPENGL=ON | |
ninja.exe |