1515
1616 strategy :
1717 matrix :
18- image : ["opensuse/tumbleweed:latest"] # "fedora:latest" / "debian:unstable" / "archlinux:latest"
18+ image : ["opensuse/tumbleweed:latest"] # "opensuse/tumbleweed:latest" / " fedora:latest" / "debian:unstable" / "archlinux:latest"
1919
2020 runs-on : ubuntu-22.04
2121 if : ${{ github.repository_owner == 'danmar' }}
@@ -26,22 +26,24 @@ jobs:
2626 steps :
2727 - uses : actions/checkout@v3
2828
29- # TODO: the necessary packages are excessive - mostly because of Qt - use a pre-built image
3029 - name : Install missing software on debian/ubuntu
3130 if : contains(matrix.image, 'debian')
3231 run : |
3332 apt-get update
34- apt-get install -y cmake g++ make libpcre3-dev
35- apt-get install -y qtbase5- dev qttools5- dev libqt5charts5 -dev
33+ apt-get install -y cmake clang make libpcre3-dev
34+ apt-get install -y qt6-base- dev qt6-tools- dev qt6-charts -dev
3635 apt-get install -y wget iwyu
37- ln -s ../ x86_64-linux-gnu/qt5 /usr/include/qt
36+ ln -s x86_64-linux-gnu/qt6 /usr/include/qt
3837
38+ # TODO: fails with /usr/lib/qt6/bin/lupdate: symbol lookup error: /usr/lib/libproxy/libpxbackend-1.0.so: undefined symbol: g_once_init_leave_pointer
3939 - name : Install missing software on archlinux
4040 if : contains(matrix.image, 'archlinux')
4141 run : |
4242 set -x
4343 pacman -Sy
44- pacman -S cmake make gcc qt5-base qt5-tools qt5-charts pcre wget --noconfirm
44+ pacman -S cmake make clang pcre --noconfirm
45+ pacman -S qt6-base qt6-tools qt6-charts --noconfirm
46+ pacman -S wget --noconfirm
4547 pacman-key --init
4648 pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
4749 pacman-key --lsign-key 3056513887B78AEB
@@ -51,28 +53,32 @@ jobs:
5153 pacman -Sy
5254 pacman -S include-what-you-use --noconfirm
5355 ln -s iwyu-tool /usr/sbin/iwyu_tool
56+ ln -s qt6 /usr/include/qt
5457
55- # TODO: the necessary packages are excessive - mostly because of Qt - use a pre-built image
5658 - name : Install missing software on Fedora
5759 if : contains(matrix.image, 'fedora')
5860 run : |
59- dnf install -y cmake gcc-c++ qt5-qtbase-devel qt5-linguist qt5-qttools-devel qt5-qtcharts-devel pcre-devel
61+ dnf install -y cmake clang pcre-devel
62+ dnf install -y qt6-qtbase-devel qt6-qttools-devel qt6-qtcharts-devel
6063 dnf install -y wget iwyu
6164 ln -s iwyu_tool.py /usr/bin/iwyu_tool
62- ln -s qt5 /usr/include/qt
65+ ln -s qt6 /usr/include/qt
6366
6467 - name : Install missing software on OpenSUSE
6568 if : contains(matrix.image, 'opensuse')
6669 run : |
67- zypper install -y cmake gcc-c++ pcre-devel libQt5Core-devel libQt5Gui-devel libQt5Widgets-devel libQt5PrintSupport-devel libqt5-linguist-devel libqt5-qttools-devel libQt5Network-devel libQt5Charts5-devel libQt5Test-devel
70+ zypper install -y cmake clang pcre-devel
71+ zypper install -y qt6-base-common-devel qt6-core-devel qt6-gui-devel qt6-widgets-devel qt6-printsupport-devel qt6-linguist-devel qt6-help-devel qt6-charts-devel qt6-test-devel
6872 zypper install -y wget include-what-you-use-tools
6973 ln -s iwyu_tool.py /usr/bin/iwyu_tool
70- ln -s qt5 /usr/include/qt
74+ ln -s qt6 /usr/include/qt
7175
72- # TODO: switch to Qt 6 after we enabled the Qt mappings again
7376 - name : Prepare CMake
7477 run : |
75- cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off -DEXTERNALS_AS_SYSTEM=On
78+ cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off -DEXTERNALS_AS_SYSTEM=On
79+ env :
80+ CC : clang
81+ CXX : clang++
7682
7783 - name : Prepare CMake dependencies
7884 run : |
@@ -90,13 +96,13 @@ jobs:
9096 - name : Build Qt mappings
9197 run : |
9298 wget https://raw.githubusercontent.com/include-what-you-use/include-what-you-use/master/mapgen/iwyu-mapgen-qt.py
93- python3 iwyu-mapgen-qt.py /usr/include/qt/ > qt5 .imp
99+ python3 iwyu-mapgen-qt.py /usr/include/qt/ > qt .imp
94100
95101 - name : iwyu_tool
96102 run : |
97103 PWD=$(pwd)
98104 # -isystem/usr/lib/clang/17/include
99- iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu --mapping_file=$PWD/qt5 .imp > iwyu.log
105+ iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu --mapping_file=$PWD/qt .imp > iwyu.log
100106
101107 - uses : actions/upload-artifact@v3
102108 if : success() || failure()
@@ -108,7 +114,7 @@ jobs:
108114 if : success() || failure()
109115 with :
110116 name : Qt Mappings
111- path : ./qt5 .imp
117+ path : ./qt .imp
112118
113119 - uses : actions/upload-artifact@v3
114120 if : success() || failure()
0 commit comments