Skip to content

Commit 8cb922e

Browse files
committed
removed qmake and Qt5 support
1 parent 2d19235 commit 8cb922e

51 files changed

Lines changed: 49 additions & 1141 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/CI-unixish-docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
- name: CMake build (with GUI)
9999
if: matrix.build_gui
100100
run: |
101-
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
101+
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
102102
cmake --build cmake.output -- -j$(nproc)
103103
104104
- name: Run CMake test

.github/workflows/CI-unixish.yml

Lines changed: 6 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ jobs:
2020
strategy:
2121
matrix:
2222
os: [ubuntu-20.04, ubuntu-22.04, macos-12]
23-
include:
24-
- use_qt6: On
25-
- os: ubuntu-20.04
26-
use_qt6: Off
2723
fail-fast: false # Prefer quick result
2824

2925
runs-on: ${{ matrix.os }}
@@ -41,13 +37,7 @@ jobs:
4137
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
4238

4339
- name: Install missing software on ubuntu
44-
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off'
45-
run: |
46-
sudo apt-get update
47-
sudo apt-get install libxml2-utils libtinyxml2-dev qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
48-
49-
- name: Install missing software on ubuntu
50-
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
40+
if: contains(matrix.os, 'ubuntu')
5141
run: |
5242
sudo apt-get update
5343
# qt6-tools-dev-tools for lprodump
@@ -64,13 +54,13 @@ jobs:
6454
- name: CMake build on ubuntu (with GUI / system tinyxml2)
6555
if: contains(matrix.os, 'ubuntu')
6656
run: |
67-
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
57+
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
6858
cmake --build cmake.output.tinyxml2 -- -j$(nproc)
6959
7060
- name: CMake build on macos (with GUI / system tinyxml2)
7161
if: contains(matrix.os, 'macos')
7262
run: |
73-
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
63+
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
7464
cmake --build cmake.output.tinyxml2 -- -j$(nproc)
7565
7666
- name: Run CMake test (system tinyxml2)
@@ -82,10 +72,6 @@ jobs:
8272
strategy:
8373
matrix:
8474
os: [ubuntu-20.04, ubuntu-22.04, macos-12]
85-
include:
86-
- use_qt6: On
87-
- os: ubuntu-20.04
88-
use_qt6: Off
8975
fail-fast: false # Prefer quick result
9076

9177
runs-on: ${{ matrix.os }}
@@ -102,12 +88,6 @@ jobs:
10288
with:
10389
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
10490

105-
- name: Install missing software on ubuntu
106-
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off'
107-
run: |
108-
sudo apt-get update
109-
sudo apt-get install libxml2-utils qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
110-
11191
# TODO: move latest compiler to separate step
11292
# TODO: bail out on warnings with latest GCC
11393
- name: Set up GCC
@@ -123,7 +103,7 @@ jobs:
123103
echo "CXX=g++-13" >> $GITHUB_ENV
124104
125105
- name: Install missing software on ubuntu
126-
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
106+
if: contains(matrix.os, 'ubuntu')
127107
run: |
128108
sudo apt-get update
129109
# qt6-tools-dev-tools for lprodump
@@ -140,13 +120,13 @@ jobs:
140120
- name: CMake build on ubuntu (with GUI)
141121
if: contains(matrix.os, 'ubuntu')
142122
run: |
143-
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
123+
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
144124
cmake --build cmake.output -- -j$(nproc)
145125
146126
- name: CMake build on macos (with GUI)
147127
if: contains(matrix.os, 'macos')
148128
run: |
149-
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
129+
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
150130
cmake --build cmake.output -- -j$(nproc)
151131
152132
- name: Run CMake test
@@ -244,94 +224,6 @@ jobs:
244224
run: |
245225
ls lib/*.cpp | xargs -n 1 -P $(nproc) g++ -fsyntax-only -std=c++0x -Ilib -Iexternals -Iexternals/picojson -Iexternals/simplecpp -Iexternals/tinyxml2 -DNONNEG
246226
247-
build_qmake:
248-
249-
strategy:
250-
matrix:
251-
# no longer build with qmake on MacOS as brew might lack pre-built Qt5 packages causing the step to run for hours
252-
os: [ubuntu-20.04, ubuntu-22.04]
253-
fail-fast: false # Prefer quick result
254-
255-
runs-on: ${{ matrix.os }}
256-
257-
steps:
258-
- uses: actions/checkout@v4
259-
260-
- name: Install missing software on ubuntu
261-
if: contains(matrix.os, 'ubuntu')
262-
run: |
263-
sudo apt-get update
264-
sudo apt-get install qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser
265-
266-
# coreutils contains "nproc"
267-
- name: Install missing software on macos
268-
if: contains(matrix.os, 'macos')
269-
run: |
270-
brew install coreutils qt@5
271-
# expose qmake
272-
brew link qt@5 --force
273-
274-
- name: ccache
275-
uses: hendrikmuhs/ccache-action@v1.2
276-
with:
277-
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
278-
279-
- name: Build GUI
280-
run: |
281-
export PATH="$(brew --prefix)/opt/ccache/libexec:/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
282-
pushd gui
283-
qmake CONFIG+=debug CONFIG+=ccache HAVE_QCHART=yes
284-
make -j$(nproc)
285-
286-
# TODO: binaries are in a different location on macos
287-
- name: Build and Run GUI tests
288-
if: contains(matrix.os, 'ubuntu')
289-
run: |
290-
export PATH="$(brew --prefix)/opt/ccache/libexec:/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
291-
pushd gui/test/cppchecklibrarydata
292-
qmake CONFIG+=debug CONFIG+=ccache
293-
make -j$(nproc)
294-
./test-cppchecklibrarydata
295-
popd
296-
pushd gui/test/filelist
297-
qmake CONFIG+=debug CONFIG+=ccache
298-
make -j$(nproc)
299-
./test-filelist
300-
popd
301-
pushd gui/test/projectfile
302-
qmake CONFIG+=debug CONFIG+=ccache
303-
make -j$(nproc)
304-
./test-projectfile
305-
popd
306-
pushd gui/test/resultstree
307-
qmake CONFIG+=debug CONFIG+=ccache
308-
make -j$(nproc)
309-
export QT_QPA_PLATFORM=offscreen
310-
./test-resultstree
311-
popd
312-
pushd gui/test/translationhandler
313-
qmake CONFIG+=debug CONFIG+=ccache
314-
make -j$(nproc)
315-
# TODO: requires X session because of QApplication dependency in translationhandler.cpp
316-
#./test-translationhandler
317-
popd
318-
pushd gui/test/xmlreportv2
319-
qmake CONFIG+=debug CONFIG+=ccache
320-
make -j$(nproc)
321-
./test-xmlreportv2
322-
323-
- name: Generate Qt help file
324-
run: |
325-
pushd gui/help
326-
qhelpgenerator online-help.qhcp -o online-help.qhc
327-
328-
- name: Build triage
329-
run: |
330-
export PATH="$(brew --prefix)/opt/ccache/libexec:/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
331-
pushd tools/triage
332-
qmake CONFIG+=debug CONFIG+=ccache
333-
make -j$(nproc)
334-
335227
build:
336228

337229
strategy:

.github/workflows/CI-windows.yml

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
strategy:
2727
matrix:
2828
os: [windows-2019, windows-2022]
29-
qt_ver: [5.15.2, 6.7.2]
29+
qt_ver: [6.7.2]
3030
fail-fast: false
3131

3232
runs-on: ${{ matrix.os }}
@@ -46,26 +46,10 @@ jobs:
4646
modules: 'qtcharts'
4747
cache: true
4848

49-
- name: Build GUI release (qmake)
50-
if: startsWith(matrix.qt_ver, '5')
51-
run: |
52-
cd gui || exit /b !errorlevel!
53-
qmake HAVE_QCHART=yes || exit /b !errorlevel!
54-
nmake release || exit /b !errorlevel!
55-
env:
56-
CL: /MP
57-
58-
- name: Deploy GUI
59-
if: startsWith(matrix.qt_ver, '5')
60-
run: |
61-
windeployqt Build\gui || exit /b !errorlevel!
62-
del Build\gui\cppcheck-gui.ilk || exit /b !errorlevel!
63-
del Build\gui\cppcheck-gui.pdb || exit /b !errorlevel!
64-
6549
- name: Build GUI release (CMake)
6650
if: startsWith(matrix.qt_ver, '6')
6751
run: |
68-
cmake -S . -B build -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On || exit /b !errorlevel!
52+
cmake -S . -B build -DBUILD_GUI=On -DWITH_QCHART=On || exit /b !errorlevel!
6953
cmake --build build --target cppcheck-gui || exit /b !errorlevel!
7054
7155
# TODO: deploy with CMake/Qt6

.github/workflows/clang-tidy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
5454
- name: Prepare CMake
5555
run: |
56-
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCPPCHK_GLIBCXX_DEBUG=Off
56+
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCPPCHK_GLIBCXX_DEBUG=Off
5757
env:
5858
CC: clang-19
5959
CXX: clang++-19

.github/workflows/iwyu.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787

8888
- name: Prepare CMake
8989
run: |
90-
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
90+
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
9191
env:
9292
CC: clang
9393
CXX: clang++
@@ -160,7 +160,7 @@ jobs:
160160

161161
- name: Prepare CMake
162162
run: |
163-
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
163+
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
164164
env:
165165
CC: clang-19
166166
CXX: clang++-19

.github/workflows/release-windows.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
env:
2828
# see https://www.pcre.org/original/changelog.txt
2929
PCRE_VERSION: 8.45
30-
QT_VERSION: 5.15.2
30+
QT_VERSION: 6.7.2
3131

3232
steps:
3333
- uses: actions/checkout@v4
@@ -79,7 +79,9 @@ jobs:
7979
run: python tools\matchcompiler.py --write-dir lib || exit /b !errorlevel!
8080

8181
- name: Build x64 release GUI
82+
if: false
8283
run: |
84+
# TODO: build with CMake
8385
cd gui || exit /b !errorlevel!
8486
qmake HAVE_QCHART=yes || exit /b !errorlevel!
8587
nmake release || exit /b !errorlevel!

.github/workflows/selfcheck.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
# unusedFunction - start
6262
- name: CMake
6363
run: |
64-
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=ON -DUSE_QT6=On -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
64+
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=ON -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
6565
6666
- name: Generate dependencies
6767
run: |
@@ -87,7 +87,7 @@ jobs:
8787
# unusedFunction notest - start
8888
- name: CMake (no test)
8989
run: |
90-
cmake -S . -B cmake.output.notest -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=Off -DBUILD_GUI=ON -DUSE_QT6=On -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
90+
cmake -S . -B cmake.output.notest -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=Off -DBUILD_GUI=ON -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
9191
9292
- name: Generate dependencies (no test)
9393
run: |
@@ -128,7 +128,7 @@ jobs:
128128
# unusedFunction notest nocli - start
129129
- name: CMake (no test / no cli)
130130
run: |
131-
cmake -S . -B cmake.output.notest_nocli -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=Off -DBUILD_CLI=Off -DBUILD_GUI=ON -DUSE_QT6=On -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
131+
cmake -S . -B cmake.output.notest_nocli -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=Off -DBUILD_CLI=Off -DBUILD_GUI=ON -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
132132
133133
- name: Generate dependencies (no test / no cli)
134134
run: |

.gitignore

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,6 @@ build/
8282
# Doxygen output folder
8383
doxyoutput/
8484

85-
# qmake generated
86-
htmlreport/.tox/
87-
htmlreport/MANIFEST
88-
8985
# Backup files and stuff from patches
9086
*.rej
9187
*~
@@ -124,9 +120,6 @@ stage
124120
.cache/
125121
compile_commands.json
126122

127-
# qmake
128-
.qmake.stash
129-
130123
#vs code
131124
/.vscode
132125

build-pcre.txt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,6 @@ PCRE is a library that is used by the optional "rules" feature for the command
22
line version of cppcheck. It is readily available on Linux and Mac OS X, but
33
must be obtained separately for Windows.
44

5-
If you're using qmake to generate makefiles, the following behavior applies:
6-
7-
- If you're not on Windows, it assumes by default that you have PCRE and want
8-
to enable rules support. You can disable rules support (removing the PCRE
9-
dependency) by passing HAVE_RULES=no to qmake.
10-
11-
- If you are on Windows, but have PCRE available, you can enable rules support
12-
by passing HAVE_RULES=yes to qmake.
13-
14-
- Note: This includes using build.bat since it calls qmake - to use PCRE and
15-
build.bat, you need to run set HAVE_RULES=yes before each run of build.bat
16-
17-
185
Build instructions
196
------------------
207

cmake/cxx11.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
macro(use_cxx11)
22
# some GitHub Action Windows runners randomly fail with a complaint that Qt6 requires a C++17 compiler
3-
if(MSVC AND USE_QT6)
3+
if(MSVC)
44
# CMAKE_CXX_STANDARD 17 was added in CMake 3.8
55
set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard to use")
66
else()

0 commit comments

Comments
 (0)