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 }}
@@ -44,16 +44,15 @@ jobs:
4444 key : ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
4545
4646 - name : Install missing software on ubuntu
47- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off'
47+ if : contains(matrix.os, 'ubuntu')
4848 run : |
4949 sudo apt-get update
50- sudo apt-get install libxml2-utils libtinyxml2-dev qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
50+ sudo apt-get install libxml2-utils libtinyxml2-dev
5151
52- - name : Install missing software on ubuntu
53- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
52+ - name : Install missing software on ubuntu (Qt6)
53+ if : contains(matrix.os, 'ubuntu') && matrix.build_gui
5454 run : |
5555 sudo apt-get update
56- sudo apt-get install libxml2-utils libtinyxml2-dev
5756 # qt6-tools-dev-tools for lprodump
5857 # qt6-l10n-tools for lupdate
5958 sudo apt-get install qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
@@ -68,13 +67,13 @@ jobs:
6867 - name : CMake build on ubuntu (with GUI / system tinyxml2)
6968 if : contains(matrix.os, 'ubuntu')
7069 run : |
71- 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
70+ 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
7271 cmake --build cmake.output.tinyxml2 -- -j$(nproc)
7372
7473 - name : CMake build on macos (with GUI / system tinyxml2)
7574 if : contains(matrix.os, 'macos')
7675 run : |
77- 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
76+ 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
7877 cmake --build cmake.output.tinyxml2 -- -j$(nproc)
7978
8079 - name : Run CMake test (system tinyxml2)
8786 matrix :
8887 os : [ubuntu-20.04, ubuntu-22.04, macos-13]
8988 include :
90- - use_qt6 : On
89+ - build_gui : On
9190 - os : ubuntu-20.04
92- use_qt6 : Off
91+ build_gui : Off
9392 fail-fast : false # Prefer quick result
9493
9594 runs-on : ${{ matrix.os }}
@@ -108,12 +107,6 @@ jobs:
108107 with :
109108 key : ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
110109
111- - name : Install missing software on ubuntu
112- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off'
113- run : |
114- sudo apt-get update
115- sudo apt-get install libxml2-utils qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
116-
117110 # TODO: move latest compiler to separate step
118111 # TODO: bail out on warnings with latest GCC
119112 - name : Set up GCC
@@ -129,7 +122,7 @@ jobs:
129122 echo "CXX=g++-13" >> $GITHUB_ENV
130123
131124 - name : Install missing software on ubuntu
132- if : contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
125+ if : contains(matrix.os, 'ubuntu')
133126 run : |
134127 sudo apt-get update
135128 sudo apt-get install libxml2-utils
@@ -147,13 +140,13 @@ jobs:
147140 - name : CMake build on ubuntu (with GUI)
148141 if : contains(matrix.os, 'ubuntu')
149142 run : |
150- 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
143+ 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
151144 cmake --build cmake.output -- -j$(nproc)
152145
153146 - name : CMake build on macos (with GUI)
154147 if : contains(matrix.os, 'macos')
155148 run : |
156- 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
149+ 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
157150 cmake --build cmake.output -- -j$(nproc)
158151
159152 - name : Run CMake test
0 commit comments