diff --git a/.github/workflows/cmake-linux-ubuntu.yml b/.github/workflows/cmake-linux-ubuntu.yml index 7dc4b98f..11e5d440 100644 --- a/.github/workflows/cmake-linux-ubuntu.yml +++ b/.github/workflows/cmake-linux-ubuntu.yml @@ -13,20 +13,16 @@ env: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04${{ matrix.arch == 'arm64' && '-arm' || '' }} container: ubuntu:${{matrix.container}} strategy: matrix: - container: ['20.04', '22.04', '24.04'] + container: ['22.04', '24.04', '20.10'] + arch: ['amd64', 'arm64'] steps: - name: Install dependencies - if: matrix.container == '20.04' - run: apt update -qq && apt install --no-install-recommends -y git lsb-release fakeroot build-essential devscripts debhelper lintian pkg-config cmake libpcsclite-dev libssl-dev libgtest-dev libqt5svg5-dev qttools5-dev-tools qttools5-dev - - - name: Install dependencies - if: matrix.container != '20.04' - run: apt update -qq && apt install --no-install-recommends -y git lsb-release fakeroot build-essential devscripts debhelper lintian pkg-config cmake libpcsclite-dev libssl-dev libgtest-dev libgl-dev libqt6svg6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libqt6core5compat6-dev + run: apt update -qq && apt install --no-install-recommends -y git lsb-release fakeroot build-essential devscripts debhelper lintian pkg-config cmake libpcsclite-dev libssl-dev libgtest-dev libgl-dev libqt6svg6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools - uses: actions/checkout@v4 with: @@ -46,5 +42,5 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: web-eid-app-ubuntu-build-ubuntu${{matrix.container}}-${{github.run_number}} + name: web-eid-app-ubuntu-build-ubuntu${{matrix.container}}-${{ matrix.arch }}-${{github.run_number}} path: build/*.*deb diff --git a/.github/workflows/cmake-macos.yml b/.github/workflows/cmake-macos.yml index c098d823..92ab003a 100644 --- a/.github/workflows/cmake-macos.yml +++ b/.github/workflows/cmake-macos.yml @@ -64,7 +64,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: 6.7.2 + version: 6.7.3 arch: clang_64 - name: Configure diff --git a/.github/workflows/cmake-windows.yml b/.github/workflows/cmake-windows.yml index 267dc1d8..be078d81 100644 --- a/.github/workflows/cmake-windows.yml +++ b/.github/workflows/cmake-windows.yml @@ -35,7 +35,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: 6.7.2 + version: 6.7.3 arch: win64_msvc2019_64 - name: Setup MS Visual C++ dev env @@ -45,10 +45,10 @@ jobs: - name: Install WiX run: | - dotnet tool install --global wix --version 5.0.1 - wix extension -g add WixToolset.UI.wixext/5.0.1 - wix extension -g add WixToolset.Util.wixext/5.0.1 - wix extension -g add WixToolset.BootstrapperApplications.wixext/5.0.1 + dotnet tool install --global wix --version 5.0.2 + wix extension -g add WixToolset.UI.wixext/5.0.2 + wix extension -g add WixToolset.Util.wixext/5.0.2 + wix extension -g add WixToolset.BootstrapperApplications.wixext/5.0.2 - name: Configure run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f98005c..f8bbbe5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) if(NOT EXISTS "${CMAKE_SOURCE_DIR}/lib/libelectronic-id/README.md") message(FATAL_ERROR "libelectronic-id submodule directory empty, did you 'git clone --recursive'?") @@ -11,7 +11,7 @@ elseif($ENV{CI_PIPELINE_IID}) else() set(BUILD_NUMBER 0) endif() -project(web-eid VERSION 2.6.0.${BUILD_NUMBER}) +project(web-eid VERSION 2.7.0.${BUILD_NUMBER}) set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION_TWEAK}) @@ -32,9 +32,8 @@ set(SIGNCERT "" CACHE STRING "Common name of certificate to used sign binaries, set(CROSSSIGNCERT "" CACHE STRING "Common name of certificate to used cross sign binaries, empty skips signing (Windows)") set(SAFARI_PROVISIONPROFILE "" CACHE STRING "Provision profile to include in application (macOS)") -find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED) -find_package(Qt${QT_VERSION_MAJOR} 5.12.0 REQUIRED COMPONENTS Core Widgets Network Test LinguistTools Svg) -get_target_property(qtCore_install_prefix Qt${QT_VERSION_MAJOR}::qmake IMPORTED_LOCATION) +find_package(Qt6 6.2.0 REQUIRED COMPONENTS Core Widgets Network Test LinguistTools SvgWidgets) +get_target_property(qtCore_install_prefix Qt6::qmake IMPORTED_LOCATION) get_filename_component(qtCore_install_prefix ${qtCore_install_prefix} DIRECTORY) add_subdirectory(lib/libelectronic-id) diff --git a/debian/control b/debian/control index d9a71f49..85e8cccb 100644 --- a/debian/control +++ b/debian/control @@ -4,14 +4,14 @@ Priority: optional Maintainer: RIA Build-Depends: cmake, - debhelper-compat (= 12), + debhelper-compat (= 13), libpcsclite-dev, libssl-dev, libgtest-dev, - qt6-tools-dev | qttools5-dev, - qt6-l10n-tools | qttools5-dev-tools, - libqt6svg6-dev | libqt5svg5-dev -Standards-Version: 4.5.1 + qt6-tools-dev, + qt6-l10n-tools, + libqt6svg6-dev +Standards-Version: 4.6.1 Homepage: https://github.com/web-eid/web-eid-app Package: web-eid @@ -30,7 +30,7 @@ Architecture: any Multi-Arch: foreign Depends: pcscd, - qt6-qpa-plugins | libqt5gui5, + qt6-qpa-plugins, ${shlibs:Depends}, ${misc:Depends} Replaces: token-signing-native diff --git a/lib/libelectronic-id b/lib/libelectronic-id index d076f8b4..6df46b00 160000 --- a/lib/libelectronic-id +++ b/lib/libelectronic-id @@ -1 +1 @@ -Subproject commit d076f8b473ee098a49dce5391732c13dca68eb99 +Subproject commit 6df46b0032c47c0c6fb5ee50a9611030e70d32d2 diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index 2c1a7698..d4ffcc05 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -12,7 +12,7 @@ set_property(SOURCE web-eid.rc APPEND PROPERTY COMPILE_DEFINITIONS PROJECT_VERSION_PATCH=${PROJECT_VERSION_PATCH} PROJECT_VERSION_TWEAK=${PROJECT_VERSION_TWEAK} ) -target_link_libraries(web-eid controller ui pcsc) +target_link_libraries(web-eid ui pcsc) if(WIN32) if(CMAKE_SIZEOF_VOID_P EQUAL 8) diff --git a/src/controller/CMakeLists.txt b/src/controller/CMakeLists.txt index 58b2bca5..ceb54bd8 100644 --- a/src/controller/CMakeLists.txt +++ b/src/controller/CMakeLists.txt @@ -49,8 +49,8 @@ set_property(SOURCE application.cpp APPEND PROPERTY COMPILE_DEFINITIONS PROJECT_ target_include_directories(controller PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(controller electronic-id - Qt${QT_VERSION_MAJOR}::Network - Qt${QT_VERSION_MAJOR}::Widgets + Qt6::Network + Qt6::Widgets ) # %{function}:%{file}:%{line} works in Qt log message pattern only if code diff --git a/src/mac/CMakeLists.txt b/src/mac/CMakeLists.txt index a9e7aa76..e80ec9dd 100644 --- a/src/mac/CMakeLists.txt +++ b/src/mac/CMakeLists.txt @@ -50,7 +50,7 @@ set_target_properties(web-eid-safari PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "eu.web-eid.web-eid-safari" ) target_compile_definitions(web-eid-safari PUBLIC QT_DEPRECATED_WARNINGS_SINCE=051200) -target_link_libraries(web-eid-safari SafariServices controller ui pcsc "-framework Cocoa") +target_link_libraries(web-eid-safari SafariServices ui pcsc "-framework Cocoa") add_custom_command(TARGET web-eid-safari POST_BUILD COMMAND mkdir -p $/PlugIns COMMAND cp -a $ $/PlugIns diff --git a/src/mac/js b/src/mac/js index 8a8de4f8..9824c0c2 160000 --- a/src/mac/js +++ b/src/mac/js @@ -1 +1 @@ -Subproject commit 8a8de4f85b90800099790edca9e869fa965695d9 +Subproject commit 9824c0c27af876a5657565a0d3104588f8028890 diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index 1c643170..24a0160e 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -1,12 +1,3 @@ -if(${QT_VERSION} VERSION_LESS "5.15.0") - macro(qt_add_translation) - qt5_add_translation(${ARGN}) - endmacro() - macro(qt_add_resources) - qt5_add_resources(${ARGN}) - endmacro() -endif() - configure_file(translations/translations.qrc translations.qrc COPYONLY) qt_add_translation(SOURCES translations/en.ts @@ -37,8 +28,4 @@ set_target_properties(ui PROPERTIES AUTOUIC ON ) target_include_directories(ui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(ui controller Qt${QT_VERSION_MAJOR}::Svg) -if(${QT_VERSION_MAJOR} STREQUAL "6") - find_package(Qt6 COMPONENTS SvgWidgets REQUIRED) - target_link_libraries(ui Qt6::SvgWidgets) -endif() +target_link_libraries(ui controller Qt6::SvgWidgets) diff --git a/tests/tests/CMakeLists.txt b/tests/tests/CMakeLists.txt index 1678cf64..b55040c4 100644 --- a/tests/tests/CMakeLists.txt +++ b/tests/tests/CMakeLists.txt @@ -8,6 +8,6 @@ target_compile_definitions(web-eid-tests PRIVATE _CRT_SECURE_NO_WARNINGS) target_include_directories(web-eid-tests PRIVATE ${CMAKE_SOURCE_DIR}/lib/libelectronic-id/tests/mock ) -target_link_libraries(web-eid-tests controller mock-ui pcsc-mock Qt${QT_VERSION_MAJOR}::Test) +target_link_libraries(web-eid-tests controller mock-ui pcsc-mock Qt6::Test) add_test(web-eid-tests web-eid-tests)