2222 matrix :
2323 os : [ubuntu-20.04, ubuntu-22.04, macos-13]
2424 include :
25- - use_qt6 : On
25+ - build_gui : On
2626 - os : ubuntu-20.04
27- use_qt6 : Off
27+ build_gui : Off
2828 fail-fast : false # Prefer quick result
2929
3030 runs-on : ${{ matrix.os }}
@@ -42,16 +42,15 @@ jobs:
4242 key : ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
4343
4444 - name : Install missing software on ubuntu
45- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off'
45+ if : contains(matrix.os, 'ubuntu')
4646 run : |
4747 sudo apt-get update
48- sudo apt-get install libxml2-utils libtinyxml2-dev qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
48+ sudo apt-get install libxml2-utils libtinyxml2-dev
4949
50- - name : Install missing software on ubuntu
51- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
50+ - name : Install missing software on ubuntu (Qt6)
51+ if : contains(matrix.os, 'ubuntu') && matrix.build_gui
5252 run : |
5353 sudo apt-get update
54- sudo apt-get install libxml2-utils libtinyxml2-dev
5554 # qt6-tools-dev-tools for lprodump
5655 # qt6-l10n-tools for lupdate
5756 sudo apt-get install qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
@@ -66,13 +65,13 @@ jobs:
6665 - name : CMake build on ubuntu (with GUI / system tinyxml2)
6766 if : contains(matrix.os, 'ubuntu')
6867 run : |
69- cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6= ${{ matrix.use_qt6 }} -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
68+ cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=${{ matrix.build_gui }} -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
7069 cmake --build cmake.output.tinyxml2 -- -j$(nproc)
7170
7271 - name : CMake build on macos (with GUI / system tinyxml2)
7372 if : contains(matrix.os, 'macos')
7473 run : |
75- cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On - DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6
74+ cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6
7675 cmake --build cmake.output.tinyxml2 -- -j$(nproc)
7776
7877 - name : Run CMake test (system tinyxml2)
8584 matrix :
8685 os : [ubuntu-20.04, ubuntu-22.04, macos-13]
8786 include :
88- - use_qt6 : On
87+ - build_gui : On
8988 - os : ubuntu-20.04
90- use_qt6 : Off
89+ build_gui : Off
9190 fail-fast : false # Prefer quick result
9291
9392 runs-on : ${{ matrix.os }}
@@ -104,12 +103,6 @@ jobs:
104103 with :
105104 key : ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
106105
107- - name : Install missing software on ubuntu
108- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off'
109- run : |
110- sudo apt-get update
111- sudo apt-get install libxml2-utils qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
112-
113106 # TODO: move latest compiler to separate step
114107 # TODO: bail out on warnings with latest GCC
115108 - name : Set up GCC
@@ -125,7 +118,7 @@ jobs:
125118 echo "CXX=g++-13" >> $GITHUB_ENV
126119
127120 - name : Install missing software on ubuntu
128- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
121+ if : contains(matrix.os, 'ubuntu')
129122 run : |
130123 sudo apt-get update
131124 sudo apt-get install libxml2-utils
@@ -143,13 +136,13 @@ jobs:
143136 - name : CMake build on ubuntu (with GUI)
144137 if : contains(matrix.os, 'ubuntu')
145138 run : |
146- cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6= ${{ matrix.use_qt6 }} -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
139+ cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=${{ matrix.build_gui }} -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
147140 cmake --build cmake.output -- -j$(nproc)
148141
149142 - name : CMake build on macos (with GUI)
150143 if : contains(matrix.os, 'macos')
151144 run : |
152- cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On - DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6
145+ cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6
153146 cmake --build cmake.output -- -j$(nproc)
154147
155148 - name : Run CMake test
0 commit comments