Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a9c7b30
Set required QT-Version to 6 in CMakeLists files. It will not compile…
joern274 Jan 12, 2026
54fa637
Upgraded QuaZip to version 1.5 which compiles preferebly against Qt6
joern274 Jan 14, 2026
51fc44d
Added QtCompat functions to provide compatibility both with Qt5.15 an…
joern274 Jan 15, 2026
5268310
More fixes, mostly type related
joern274 Jan 16, 2026
036223f
Replacing code which used function alread deprecated in Qt5.15
joern274 Jan 17, 2026
bc01d44
minor fixes
joern274 Jan 18, 2026
12db976
Fixes of the fix
joern274 Jan 18, 2026
4b6d2e5
First version that builds with Qt6
joern274 Jan 20, 2026
2b79109
CI workflows restored
joern274 Jan 21, 2026
79f7b85
typo in package name, should be 'qt6-base-dev'
joern274 Jan 22, 2026
bbf6a42
Added line in changelog
joern274 Jan 29, 2026
2298eb9
Added xkb development package
joern274 Feb 3, 2026
9461325
Added Qt core5 compat package
joern274 Feb 3, 2026
2575f39
Take into account that package was renamed from Ubuntu 22 -> 23
joern274 Feb 4, 2026
42191b8
Remove explicit link to Qt5 from macOS Brew/Build
joern274 Feb 7, 2026
6e1f022
Fix build on MacOS
AriKHaji Apr 2, 2026
1ee1e9a
Update graphics_scene.h
AriKHaji Apr 2, 2026
3d645bd
Create build_and_test.sh
AriKHaji Apr 7, 2026
6c14bd6
Revert "Create build_and_test.sh"
AriKHaji Apr 7, 2026
0711ab7
[feature/qt6] Fix for tests on MacOS
AriKHaji Apr 7, 2026
260e21d
Dependency added for Ubuntu 22 build
joern274 Apr 8, 2026
0afafa7
Declare header for QHash
joern274 Apr 8, 2026
ddbef31
Merge branch 'master' into feature/qt6
joern274 Apr 8, 2026
e2b14d6
Fixed dataflow bug that caused a blocked thread when writing results
joern274 Apr 9, 2026
6d681ab
[feature/qt6] Fix GUI freeze during dataflow analysis by skipping pro…
AriKHaji Apr 9, 2026
fa3036d
[feature/qt6] Migrate QRegExp to QRegularExpression
AriKHaji Apr 15, 2026
284f99c
[feature/qt6] Remove unused includes from module_widget.cpp
AriKHaji Apr 16, 2026
0d32a0f
Merge branch 'master' into feature/qt6
Apr 30, 2026
35358b1
Check index for tree insert
AriKHaji Apr 30, 2026
2b6892e
master merged
joern274 Aug 27, 2026
f182b3c
Anotated Qt version in changelog
joern274 Aug 27, 2026
7cebd2b
Merge remote-tracking branch 'origin/master' into feature/qt6
julianspeith Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/macOS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ jobs:
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
# brew link --force qt@5
# brew link --force qt
run: |
mkdir -p build
cd build
export PATH="$(brew --prefix qt@5)/bin:$PATH"
export LDFLAGS="-L$(brew --prefix qt@5)/lib -Wl,-rpath,$(brew --prefix llvm)/lib"
cmake -G Ninja .. -DQt5_DIR="$(brew --prefix qt@5)/lib/cmake" -DCMAKE_BUILD_TYPE=Debug -DBUILD_ALL_PLUGINS=ON -DBUILD_TESTS=ON -DPL_GUI=ON
export PATH="$(brew --prefix qt)/bin:$PATH"
export LDFLAGS="-L$(brew --prefix qt)/lib -Wl,-rpath,$(brew --prefix llvm)/lib"
cmake -G Ninja .. -DQt5_DIR="$(brew --prefix qt)/lib/cmake" -DCMAKE_BUILD_TYPE=Debug -DBUILD_ALL_PLUGINS=ON -DBUILD_TESTS=ON -DPL_GUI=ON
env:
HAL_BASE_PATH: ${{runner.workspace}}/hal/build
CCACHE_DIR: ${{runner.workspace}}/.ccache
Expand All @@ -105,9 +105,9 @@ jobs:
# Execute the build. You can specify a specific target with "--target <NAME>"
run: |
cd build
export PATH="$(brew --prefix qt@5)/bin:$PATH"
export PATH="$(brew --prefix qt)/bin:$PATH"
export BUILD_TYPE=Debug
export LDFLAGS="-L$(brew --prefix qt@5)/lib -Wl,-rpath,$(brew --prefix llvm)/lib"
export LDFLAGS="-L$(brew --prefix qt)/lib -Wl,-rpath,$(brew --prefix llvm)/lib"
export SDKROOT=$(xcrun --show-sdk-path)
cmake --build . --target all --clean-first --config $BUILD_TYPE
env:
Expand All @@ -126,7 +126,7 @@ jobs:
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: |
cd build
export LDFLAGS="-L$(brew --prefix qt@5)/lib -Wl,-rpath,$(brew --prefix llvm)/lib"
export LDFLAGS="-L$(brew --prefix qt)/lib -Wl,-rpath,$(brew --prefix llvm)/lib"
ctest --rerun-failed --output-on-failure
# ninja -v hal_coverage
# bash <(curl -s https://codecov.io/bash) -f hal_coverage.info.cleaned || echo "Codecov did not collect coverage reports"
Expand Down
2 changes: 1 addition & 1 deletion Brewfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
brew "pkgconfig"
brew "lcov"
brew "qt@5"
brew "qt"
brew "ccache"
brew "llvm"
brew "libomp"
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ All notable changes to this project will be documented in this file.
* fixed bug in pin model which must not crash when deleting a non-empty pin group
* fixed bug by disallowing deletion of group comprising a single pin with same name
* Build and dependencies
* changed the GUI from Qt 5 to Qt 6, which is now required to build the GUI
* added a test that checks the Python bindings never hand out a borrowed pointer without keeping its owner alive, and never give a class bound with a non-owning holder to a factory that returns a `unique_ptr`. It covers plugins kept in a repository of their own as well, and holds free, static and submodule-level functions to the same rule as methods, which `hal::borrowed()` made fixable
* updated the vendored igraph dependency from 0.10.12 to 1.0.1 and ported the graph algorithm and HAWKEYE plugins to the igraph 1.0 API
* removed the tests below `tests/python_binding`, which were neither referenced by the build nor by any workflow and called API that no longer exists
Expand Down
74 changes: 0 additions & 74 deletions deps/quazip-1.3/CMakeLists.txt

This file was deleted.

22 changes: 0 additions & 22 deletions deps/quazip-1.3/README.md

This file was deleted.

5 changes: 0 additions & 5 deletions deps/quazip-1.3/quazip/quachecksum32.cpp

This file was deleted.

12 changes: 12 additions & 0 deletions deps/quazip-1.5/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
end_of_line = lf
indent_style = space
indent_size = 4

[*.yml]
indent_size = 2

[*.yaml]
indent_size = 2
23 changes: 23 additions & 0 deletions deps/quazip-1.5/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# old Git versions
*.h -crlf
*.cpp -crlf
*.c -crlf
*.dox -crlf
# NOT *.txt because NEWS.txt is in CRLF format for historic reasons
CMakeLists.txt -crlf
*.in -crlf
*.cmakein -crlf
*.symbols -crlf
.editorconfig -crlf

# new Git versions
*.h text eol=lf
*.cpp text eol=lf
*.c text eol=lf
*.dox text eol=lf
# NOT *.txt because NEWS.txt is in CRLF format for historic reasons
CMakeLists.txt text eol=lf
*.in text eol=lf
*.cmakein text eol=lf
*.symbols text eol=lf
.editorconfig eol=lf
5 changes: 5 additions & 0 deletions deps/quazip-1.5/.github/docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Minimal Qt build images for CI

These include minimal Qt built from source with `-qt-zlib` option to test `-DQUAZIP_USE_QT_ZLIB=ON` builds.

`jurplel/install-qt-action` is essentially a binary downloader from Qt and does not have all options available.
67 changes: 67 additions & 0 deletions deps/quazip-1.5/.github/docker/qt-5.15.12-ubuntu-static/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
FROM ubuntu:22.04 as builder

WORKDIR /build

RUN apt-get -y update && apt-get -y install build-essential cmake tar wget python3

RUN wget -qO- https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz | tar xJ

RUN qt-everywhere-src-5.15.12/configure -qt-zlib \
-static \
-opensource \
-confirm-license \
-optimize-size \
-nomake examples \
-nomake tests \
-no-dbus \
-no-fontconfig \
-no-opengl \
-no-openssl \
-no-gui \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdeclarative \
-skip qtdoc \
-skip qtactiveqt \
-skip qt3d \
-skip qtimageformats \
-skip qtlocation \
-skip qtmultimedia \
-skip qtopcua \
-skip qtremoteobjects \
-skip qtscxml \
-skip qtsensors \
-skip qtserialbus \
-skip qtserialport \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwebchannel \
-skip qtwebengine \
-skip qtwebsockets \
-skip qtwebview \
-skip qtcharts \
-skip qtcoap \
-skip qtlottie \
-skip qtmqtt \
-skip qtnetworkauth \
-skip qtquick3d \
-skip qtquicktimeline \
-skip qtvirtualkeyboard \
-skip qtwayland \
-skip qtcanvas3d \
-skip qtgamepad \
-skip qtpurchasing \
-skip qtscript

RUN make -j$(nproc) && make install

FROM ubuntu:22.04

RUN apt-get -y update && apt-get -y install git build-essential cmake

COPY --from=builder /usr/local/Qt-5.15.12 /usr/local/Qt-5.15.12

# Temporary workaround for https://github.com/stachenov/quazip/issues/127
ENV LC_ALL=C.UTF-8
72 changes: 72 additions & 0 deletions deps/quazip-1.5/.github/docker/qt-6.4.3-ubuntu-static/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
FROM ubuntu:22.04 AS builder

WORKDIR /build

RUN apt-get -y update && apt-get -y install build-essential cmake tar wget python3

RUN wget -qO- https://ftp.fau.de/qtproject/archive/qt/6.4/6.4.3/single/qt-everywhere-src-6.4.3.tar.xz | tar xJ

RUN qt-everywhere-src-6.4.3/configure -qt-zlib \
-static \
-opensource \
-confirm-license \
-optimize-size \
-nomake examples \
-nomake tests \
-no-dbus \
-no-fontconfig \
-no-opengl \
-no-openssl \
-no-gui \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdeclarative \
-skip qtdoc \
-skip qtactiveqt \
-skip qt3d \
-skip qtgraphs \
-skip qtgrpc \
-skip qtimageformats \
-skip qtlanguageserver \
-skip qtlocation \
-skip qthttpserver \
-skip qtmultimedia \
-skip qtopcua \
-skip qtpositioning \
-skip qtremoteobjects \
-skip qtscxml \
-skip qtsensors \
-skip qtserialbus \
-skip qtserialport \
-skip qtshadertools \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwebchannel \
-skip qtwebengine \
-skip qtwebsockets \
-skip qtwebview \
-skip qtcharts \
-skip qtcoap \
-skip qtlottie \
-skip qtmqtt \
-skip qtnetworkauth \
-skip qtquick3d \
-skip qtquick3dphysics \
-skip qtquickeffectmaker \
-skip qtquicktimeline \
-skip qtvirtualkeyboard \
-skip qtwayland \
-skip qtcanvas3d \
-skip qtgamepad \
-skip qtpurchasing \
-skip qtscript

RUN cmake --build . --parallel --target install

FROM ubuntu:22.04

RUN apt-get -y update && apt-get -y install build-essential cmake

COPY --from=builder /usr/local/Qt-6.4.3 /usr/local/Qt-6.4.3
Loading
Loading