Skip to content

Commit

Permalink
Merge branch 'Governikus:community' into csprng-fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
thillux authored Sep 13, 2024
2 parents 3076429 + 98faadb commit d5a9f7c
Show file tree
Hide file tree
Showing 88 changed files with 932 additions and 376 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ if(isMultiConfig)
endif()
endif()

project(AusweisApp VERSION 2.2.0 LANGUAGES ${LANGUAGES})
project(AusweisApp VERSION 2.2.1 LANGUAGES ${LANGUAGES})

if(ANDROID AND NOT GOVERNIKUS_TOOLCHAIN_FILE)
message(FATAL_ERROR "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_DIR}/android.toolchain.cmake is required")
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@ USER ausweisapp
VOLUME ["/home/ausweisapp/.config"]
ENTRYPOINT ["/sbin/tini", "--"]
EXPOSE 24727
CMD ["AusweisApp", "--address", "0.0.0.0"]
CMD ["AusweisApp", "--address", "0.0.0.0", "--no-logfile"]
2 changes: 1 addition & 1 deletion LICENSE.officially.txt
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ Die verwendeten Open-Source-Bibliotheken unterliegen den folgenden Nutzungsbedin

OpenSSL
Lizenz: Apache 2.0
Version: 3.3.1
Version: 3.3.2
Adresse: https://www.openssl.org/

Qt
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ Die verwendeten Open-Source-Bibliotheken unterliegen den folgenden Nutzungsbedin

OpenSSL
Lizenz: Apache 2.0
Version: 3.3.1
Version: 3.3.2
Adresse: https://www.openssl.org/

Qt
Expand Down
5 changes: 5 additions & 0 deletions cmake/CompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,11 @@ else()

if(ANDROID)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
if(CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a" OR CMAKE_ANDROID_ARCH_ABI STREQUAL "x86_64")
set(ANDROID_PAGE_SIZE_FLAGS "-Wl,-z,max-page-size=16384")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${ANDROID_PAGE_SIZE_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${ANDROID_PAGE_SIZE_FLAGS}")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffunction-sections -fdata-sections")
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -finline-limit=64")
Expand Down
2 changes: 1 addition & 1 deletion cmake/Helper.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ include(CheckCXXCompilerFlag)
# group multiple flags or to indicate the usage.
# LINK: Use these linker flags to try the compiler flag. The linker
# flags won't be added unless LINK_GLOBAL is enabled. Otherwise they are for testing only.
# LINK_VAR: Checked link flags will be added to these variables. (default: CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
# LINK_VAR: Checked link flags will be added to these variables. (default: CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS)
# VAR: Checked compiler flags will be added to these variables. (default: CMAKE_CXX_FLAGS)
# It is possible to add multiple VAR parameter.
# If VAR parameter is a cmake TARGET the compiler flag will be added
Expand Down
50 changes: 41 additions & 9 deletions cmake/Packaging.android.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ endif()

if(INTEGRATED_SDK)
set(ANDROID_MANIFEST AndroidManifest.xml.aar.in)
set(JAVA_FILES network/WifiInfo* ui/aidl/AidlBinder* android/LogHandler* android/BootstrapHelper* android/AusweisApp2Service* android/AusweisApp2LocalIfdServiceConnection*)
configure_files("${SRC_DIR}" "${JAVA_FILES}" "${ANDROID_PACKAGE_SRC_DIR}/src" FLATTEN)
set(JAVA_FILES network/WifiInfo.java ui/aidl/AidlBinder.java android/LogHandler.java android/BootstrapHelper.java android/AusweisApp2Service.java android/AusweisApp2LocalIfdServiceConnection.java)

configure_file(${PACKAGING_DIR}/android/res/values/strings.xml ${ANDROID_PACKAGE_SRC_DIR}/res/values/strings.xml COPYONLY)
else()
set(ANDROID_MANIFEST AndroidManifest.xml.apk.in)
set(JAVA_FILES *.java)

if(USE_SMARTEID)
set(LOCAL_IFD_SERVICE_ENABLED true)
Expand All @@ -33,9 +33,9 @@ else()
endforeach()

configure_files("${PACKAGING_DIR}/android" "res/*" "${ANDROID_PACKAGE_SRC_DIR}")
configure_files("${SRC_DIR}" "*.java" "${ANDROID_PACKAGE_SRC_DIR}/src" FLATTEN)
endif()

configure_files(${SRC_DIR} "${JAVA_FILES}" ${ANDROID_PACKAGE_SRC_DIR}/src/com/governikus/ausweisapp2 FLATTEN)
configure_file(${PACKAGING_DIR}/android/IAusweisApp2Sdk.aidl ${ANDROID_PACKAGE_SRC_DIR}/src/com/governikus/ausweisapp2/IAusweisApp2Sdk.aidl COPYONLY)
configure_file(${PACKAGING_DIR}/android/IAusweisApp2SdkCallback.aidl ${ANDROID_PACKAGE_SRC_DIR}/src/com/governikus/ausweisapp2/IAusweisApp2SdkCallback.aidl COPYONLY)

Expand Down Expand Up @@ -102,7 +102,11 @@ if(INTEGRATED_SDK)
configure_file("${PACKAGING_DIR}/android/consumer-rules.pro" "${ANDROID_BUILD_DIR}/consumer-rules.pro" COPYONLY)
else()
set(ANDROID_FILE_EXT apk)
configure_file("${PACKAGING_DIR}/android/lint.apk.xml" "${ANDROID_BUILD_DIR}/lint.xml" COPYONLY)
if(USE_SMARTEID)
configure_file("${PACKAGING_DIR}/android/lint.apk.smarteid.xml" "${ANDROID_BUILD_DIR}/lint.xml" COPYONLY)
else()
configure_file("${PACKAGING_DIR}/android/lint.apk.xml" "${ANDROID_BUILD_DIR}/lint.xml" COPYONLY)
endif()
endif()
configure_file(${PACKAGING_DIR}/android/gradle.properties.in ${ANDROID_BUILD_DIR}/gradle.properties @ONLY)

Expand All @@ -114,6 +118,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
else()
set(ANDROID_FILE ${ANDROID_BUILD_NAME}-debug.${ANDROID_FILE_EXT})
endif()
set(ANDROID_FILE_AAB ${ANDROID_BUILD_NAME}-debug.aab)
else()
if(INTEGRATED_SDK)
set(DEPLOY_CMD_SIGN --release)
Expand All @@ -125,19 +130,26 @@ else()
set(ANDROID_FILE ${ANDROID_BUILD_NAME}-release-unsigned.apk)
message(WARNING "Cannot sign release build! Set environment like QT_ANDROID_KEYSTORE_PATH")
endif()
set(ANDROID_FILE_AAB ${ANDROID_BUILD_NAME}-release.aab)
endif()

set(SOURCE_ANDROID_FILE ${ANDROID_BUILD_DIR}/build/outputs/${ANDROID_FILE_EXT})
set(SOURCE_ANDROID_FILE_OUTPUT ${ANDROID_BUILD_DIR}/build/outputs)
set(SOURCE_ANDROID_FILE ${SOURCE_ANDROID_FILE_OUTPUT}/${ANDROID_FILE_EXT})
if(NOT INTEGRATED_SDK)
set(SOURCE_ANDROID_FILE_AAB ${SOURCE_ANDROID_FILE_OUTPUT}/bundle)
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
set(SOURCE_ANDROID_FILE ${SOURCE_ANDROID_FILE}/debug)
set(SOURCE_ANDROID_FILE_AAB ${SOURCE_ANDROID_FILE_AAB}/debug)
else()
set(SOURCE_ANDROID_FILE ${SOURCE_ANDROID_FILE}/release)
set(SOURCE_ANDROID_FILE_AAB ${SOURCE_ANDROID_FILE_AAB}/release)
endif()
endif()
set(SOURCE_ANDROID_FILE ${SOURCE_ANDROID_FILE}/${ANDROID_FILE})
set(SOURCE_ANDROID_FILE_AAB ${SOURCE_ANDROID_FILE_AAB}/${ANDROID_FILE_AAB})

set(DESTINATION_ANDROID_FILE ${PROJECT_BINARY_DIR}/dist/${CPACK_PACKAGE_FILE_NAME}.${ANDROID_FILE_EXT})
set(DESTINATION_ANDROID_FILE_BASE ${PROJECT_BINARY_DIR}/dist/${CPACK_PACKAGE_FILE_NAME})
set(DESTINATION_ANDROID_FILE ${DESTINATION_ANDROID_FILE_BASE}.${ANDROID_FILE_EXT})
if(INTEGRATED_SDK)
find_program(androiddeployqt androiddeployqt HINTS "${QT_HOST_PATH}/bin" CMAKE_FIND_ROOT_PATH_BOTH)
if(NOT androiddeployqt)
Expand All @@ -149,12 +161,29 @@ if(INTEGRATED_SDK)
COMMAND ${DEPLOY_CMD}
DEPENDS AusweisAppBinary
USES_TERMINAL)

add_custom_command(TARGET ${ANDROID_FILE_EXT} POST_BUILD
COMMAND ${ANDROID_BUILD_DIR}/gradlew sourcesJar
COMMAND ${CMAKE_COMMAND} -E copy_if_different "build/libs/${ANDROID_BUILD_NAME}-sources.jar" "${PROJECT_BINARY_DIR}/dist/${CPACK_PACKAGE_FILE_NAME}-sources.jar"
WORKING_DIRECTORY ${ANDROID_BUILD_DIR}
USES_TERMINAL)
else()
add_custom_command(TARGET aab POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SOURCE_ANDROID_FILE_AAB}" "${DESTINATION_ANDROID_FILE_BASE}.aab"
WORKING_DIRECTORY ${ANDROID_BUILD_DIR}
USES_TERMINAL)

if(QT_ANDROID_SIGN_APK)
add_custom_command(TARGET apk POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SOURCE_ANDROID_FILE}.idsig" "${DESTINATION_ANDROID_FILE}.idsig"
WORKING_DIRECTORY ${ANDROID_BUILD_DIR}
USES_TERMINAL)
endif()
endif()

add_custom_command(TARGET ${ANDROID_FILE_EXT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SOURCE_ANDROID_FILE}" "${DESTINATION_ANDROID_FILE}"
COMMAND ${ANDROID_BUILD_DIR}/gradlew sourcesJar lint
COMMAND ${CMAKE_COMMAND} -E copy_if_different "build/libs/${ANDROID_BUILD_NAME}-sources.jar" "${PROJECT_BINARY_DIR}/dist/${CPACK_PACKAGE_FILE_NAME}-sources.jar"
COMMAND ${ANDROID_BUILD_DIR}/gradlew lint
WORKING_DIRECTORY ${ANDROID_BUILD_DIR}
USES_TERMINAL)

Expand All @@ -165,7 +194,10 @@ if(INTEGRATED_SDK)
else()
find_program(apksigner apksigner HINTS ${ANDROID_SDK_ROOT}/build-tools/${ANDROID_BUILD_TOOLS_REVISION} CMAKE_FIND_ROOT_PATH_BOTH)
if(apksigner)
add_custom_target(verify.signature COMMAND ${apksigner} verify --verbose --print-certs -Werr ${DESTINATION_ANDROID_FILE})
if(QT_ANDROID_SIGN_APK)
set(APKSIGNER_PARAM -v4-signature-file ${DESTINATION_ANDROID_FILE}.idsig)
endif()
add_custom_target(verify.signature COMMAND ${apksigner} verify --verbose --print-certs -Werr ${APKSIGNER_PARAM} ${DESTINATION_ANDROID_FILE})
endif()

find_program(aapt NAMES aapt2 aapt HINTS ${ANDROID_SDK_ROOT}/build-tools/${ANDROID_BUILD_TOOLS_REVISION} CMAKE_FIND_ROOT_PATH_BOTH)
Expand Down
13 changes: 12 additions & 1 deletion cmake/android.toolchain.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,13 @@ set(QT_ENABLE_VERBOSE_DEPLOYMENT ON)

if(DEFINED ENV{QT_ANDROID_KEYSTORE_PATH} AND NOT INTEGRATED_SDK)
set(QT_ANDROID_SIGN_APK ON)
set(QT_ANDROID_SIGN_AAB ON)
endif()

set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang)
set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 28)
set(ANDROID_TARGET_SDK_VERSION 34)
set(ANDROID_TARGET_SDK_VERSION 35)
set(CMAKE_ANDROID_STL_TYPE c++_shared)

if(NOT CMAKE_ANDROID_ARCH_ABI)
Expand All @@ -86,6 +87,16 @@ if(NOT CMAKE_ANDROID_ARCH_ABI)
endif()
endif()

# Only required by CMake < 3.30.3 with Android NDK 27 when
# CMAKE_ANDROID_ARCH_ABI is not set. Will be fixed with Android NDK 27b.
# https://bugreports.qt.io/browse/QTBUG-127468
if(ANDROID_NDK_REVISION VERSION_EQUAL "27.0.12077973" AND CMAKE_VERSION VERSION_LESS "3.30.3")
set(NDK_PROC_aarch64_ABI "DUMMY")
set(NDK_PROC_armv7-a_ABI "DUMMY")
set(NDK_PROC_i686_ABI "DUMMY")
set(NDK_PROC_x86_64_ABI "DUMMY")
endif()

if(CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a")
set(CMAKE_ANDROID_ARM_MODE ON)
set(CMAKE_ANDROID_ARM_NEON ON)
Expand Down
12 changes: 6 additions & 6 deletions cmake/prepare_sonarqube_env.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ message(STATUS "Use PACKAGES_DIR: ${PACKAGES_DIR}")
set(BUILDWRAPPER_ZIP_NAME build-wrapper-linux-x86.zip)
set(BUILDWRAPPER_URL https://sonar.govkg.de/static/cpp/${BUILDWRAPPER_ZIP_NAME})

set(SONARSCANNERCLI_VERSION 5.0.1.3006-linux) # https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/
set(SONARSCANNERCLI_VERSION 6.1.0.4477-linux-x64) # https://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli/
set(SONARSCANNERCLI_ZIP_NAME sonar-scanner-cli-${SONARSCANNERCLI_VERSION}.zip)
set(SONARSCANNERCLI_URL https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/${SONARSCANNERCLI_ZIP_NAME})
set(SONARSCANNERCLI_HASH 350dbdb517c10fcb3ce70425db95c415b313cad7296c407d416d88f3d50121f8)
set(SONARSCANNERCLI_HASH aa985eacaa4155a064647370b62fc82d1b0e06caf1d493e04c2389dd5ac74fcb)

set(DEPENDENCYCHECK_VERSION 8.4.0) # https://github.com/jeremylong/DependencyCheck/releases
set(DEPENDENCYCHECK_VERSION 10.0.3) # https://github.com/jeremylong/DependencyCheck/releases
set(DEPENDENCYCHECK_ZIP_NAME dependency-check-${DEPENDENCYCHECK_VERSION}-release.zip)
set(DEPENDENCYCHECK_URL https://github.com/jeremylong/DependencyCheck/releases/download/v${DEPENDENCYCHECK_VERSION}/${DEPENDENCYCHECK_ZIP_NAME})
set(DEPENDENCYCHECK_HASH 937a6bf8ced9d8494767082c1f588f26ea379324cb089dabb045321e8b0ab01a)
set(DEPENDENCYCHECK_HASH 5263fbafb15010823364274b83e9a2219b654d00a557d92941c37736d4076ba4)

set(MARIADB_CONNECTOR_VERSION 3.2.0)
set(MARIADB_CONNECTOR_VERSION 3.4.1)
set(MARIADB_CONNECTOR_ZIP_NAME mariadb-java-client-${MARIADB_CONNECTOR_VERSION}.jar)
set(MARIADB_CONNECTOR_URL https://downloads.mariadb.com/Connectors/java/connector-java-${MARIADB_CONNECTOR_VERSION}/${MARIADB_CONNECTOR_ZIP_NAME})
set(MARIADB_CONNECTOR_HASH adf9df10bc9b2a137def36d6a495812258f430d4a8f7946727c61558e6c73941)
set(MARIADB_CONNECTOR_HASH f60e4b282f1f4bdb74f0a26436ba7078a5e480b6f6702f6a7b45d9ba5e604a24)

set(SONARQUBETOOLS_DIR ${CMAKE_BINARY_DIR}/sonarqubetools)

Expand Down
33 changes: 33 additions & 0 deletions docs/releasenotes/2.2.1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
AusweisApp 2.2.1
^^^^^^^^^^^^^^^^

**Releasedatum:** 11. September 2024


Anwender
""""""""
- Visuelle Anpassungen und Optimierungen der grafischen Oberfläche.

- Optimierung der Barrierearmut und Tastaturbedienbarkeit.

- Verhinderung der Anzeige externer Inhalte in der grafischen Oberfläche.

- Unterstützung von Smartphones mit Android 15, bei denen
eine optimierte Speicherverwaltung aktiviert wurde.


Entwickler
""""""""""
- Unterstützung von 16 KB Page Sizes unter Android.

- Stabilisierung des iOS SDK bei schnellen Neustarts.

- Korrektur des Verhaltens bei der Verwendung von Qt 6.6.3.

- Vermeidung einer Logdatei innerhalb des Containers im Container-SDK.

- Aktualisierung vom Android NDK auf r27b (27.1.12297006).

- Aktualisierung der Android SDK Platform auf Android 15 (API-Level 35).

- Aktualisierung von OpenSSL auf die Version 3.3.2.
2 changes: 2 additions & 0 deletions docs/releasenotes/announce.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Mit der Version 2.3.0 der AusweisApp wird die Unterstützung
folgender Systeme eingestellt.

- macOS Monterey 12
- iOS 14
- iOS 15


Mit der Version 2.2.0 der AusweisApp wurde die Unterstützung
Expand Down
1 change: 1 addition & 0 deletions docs/releasenotes/appcast.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Release Notes
.. toctree::
:maxdepth: 1

2.2.1
2.2.0
announce
issues
2 changes: 0 additions & 2 deletions docs/releasenotes/issues.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ Barrierearmut

- Unter Android werden unsichtbare Inhalte vom Screenreader vorgelesen.

- Unter iOS kann der sichtbare Bereich vom Systemfokus abweichen.

- Die angeforderten Rechte während eines Ausweisvorgangs werden nicht optimal vom
Screenreader ausgegeben.

Expand Down
1 change: 1 addition & 0 deletions docs/releasenotes/versions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Versionszweig 2.2
.. toctree::
:maxdepth: 1

2.2.1
2.2.0


Expand Down
14 changes: 10 additions & 4 deletions libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ if("${OPENSSL}" MATCHES "SNAP")
list(APPEND OPENSSL_URLS ${OPENSSL_SOURCE}/snapshot/${OPENSSL_FILE})
else()
string(SUBSTRING ${OPENSSL} 0 5 OPENSSL_SUBVERSION)
list(APPEND OPENSSL_URLS ${OPENSSL_SOURCE}/${OPENSSL_FILE})
list(APPEND OPENSSL_URLS https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL}/${OPENSSL_FILE})
list(APPEND OPENSSL_URLS ${OPENSSL_SOURCE}/old/${OPENSSL_SUBVERSION}/${OPENSSL_FILE})
endif()

Expand All @@ -150,7 +150,7 @@ list(APPEND ENABLED_TARGETS openssl)
set(OPENSSL_CONFIGURE_FLAGS no-camellia no-bf no-aria no-seed no-poly1305 no-srp no-gost no-idea no-mdc2 no-rc2 no-rc4 no-rc5 no-srtp no-sm2 no-sm3 no-sm4)
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} no-ct no-dgram no-cast no-chacha no-blake2 no-rmd160 no-scrypt no-siphash no-whirlpool no-md4 no-des no-ec2m)
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-tls1_3 no-ssl3 no-ssl3-method no-dtls no-dtls1-method no-dtls1_2-method)
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} no-deprecated no-engine no-async no-dso no-comp no-ts no-makedepend no-tests no-legacy shared)
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} no-deprecated no-engine no-async no-dso no-comp no-ts no-makedepend no-tests no-legacy)

if(${CMAKE_BUILD_TYPE} STREQUAL "DEBUG")
set(OPENSSL_CONFIGURE_FLAGS --debug ${OPENSSL_CONFIGURE_FLAGS})
Expand All @@ -175,15 +175,15 @@ else()
endif()

if(IOS)
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} no-asm)
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} no-asm no-shared)
if(CMAKE_OSX_SYSROOT MATCHES "iphonesimulator")
set(OPENSSL_ARCH iossimulator-xcrun)
if (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
set(OPENSSL_CONFIGURE_FLAGS ${OPENSSL_CONFIGURE_FLAGS} "-arch arm64")
endif()
set(OPENSSL_COMPILER_FLAGS ${OPENSSL_COMPILER_FLAGS} -mios-simulator-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET})
else()
set(OPENSSL_ARCH ios64-cross)
set(OPENSSL_ARCH ios64-xcrun)
string(REGEX REPLACE "/SDKs/.*" "" CROSS_TOP_DEV_ROOT "${CMAKE_OSX_SYSROOT}")
set(OPENSSL_ENV CROSS_TOP=${CROSS_TOP_DEV_ROOT} CROSS_SDK=iPhoneOS.sdk)
set(OPENSSL_COMPILER_FLAGS ${OPENSSL_COMPILER_FLAGS} -mios-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET})
Expand Down Expand Up @@ -232,12 +232,14 @@ elseif(ANDROID)
elseif(CMAKE_ANDROID_ARCH_ABI STREQUAL "x86_64")
set(OPENSSL_ARCH android-x86_64)
set(OPENSSL_NDK_PREFIX x86_64)
ADD_FLAG(-Wl,-z,max-page-size=16384 NOQUOTES VAR OPENSSL_COMPILER_FLAGS USE_SAME_FOR_LINKER USE_LINKER_ONLY)
elseif(CMAKE_ANDROID_ARCH_ABI STREQUAL "x86")
set(OPENSSL_ARCH android-x86)
set(OPENSSL_NDK_PREFIX i686)
elseif(CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a")
set(OPENSSL_ARCH android-arm64)
set(OPENSSL_NDK_PREFIX aarch64)
ADD_FLAG(-Wl,-z,max-page-size=16384 NOQUOTES VAR OPENSSL_COMPILER_FLAGS USE_SAME_FOR_LINKER USE_LINKER_ONLY)
else()
message(FATAL_ERROR "CMAKE_ANDROID_ARCH_ABI not supported by openssl: ${CMAKE_ANDROID_ARCH_ABI}")
endif()
Expand Down Expand Up @@ -452,8 +454,12 @@ elseif(ANDROID)
# ANDROID_TARGET_SDK_VERSION cannot be passed here as Qt has it's own variable and uses the latest in "${ANDROID_SDK_ROOT}/platforms".
# https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/QtPlatformAndroid.cmake?h=6.4#n36

set(ANDROID_PAGE_SIZE_FLAGS "-Wl,-z,max-page-size=16384")
if(CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a")
set(QT_CONFIGURE_FLAGS ${QT_CONFIGURE_FLAGS} -no-use-gold-linker)
set(ADDITIONAL_QT_DEFINES ${ADDITIONAL_QT_DEFINES} -DCMAKE_SHARED_LINKER_FLAGS=${ANDROID_PAGE_SIZE_FLAGS} -DCMAKE_MODULE_LINKER_FLAGS=${ANDROID_PAGE_SIZE_FLAGS})
elseif(CMAKE_ANDROID_ARCH_ABI STREQUAL "x86_64")
set(ADDITIONAL_QT_DEFINES ${ADDITIONAL_QT_DEFINES} -DCMAKE_SHARED_LINKER_FLAGS=${ANDROID_PAGE_SIZE_FLAGS} -DCMAKE_MODULE_LINKER_FLAGS=${ANDROID_PAGE_SIZE_FLAGS})
endif()
elseif(BSD)
set(QT_CONFIGURE_FLAGS ${QT_CONFIGURE_FLAGS} ${QT_CONFIGURE_FLAGS_OTHER} -no-libudev)
Expand Down
2 changes: 1 addition & 1 deletion libs/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ Komponenten vorhanden sein:

- Android SDK (cmdline) mit gesetztem ANDROID_SDK_ROOT

- https://developer.android.com/studio#cmdline-tools
- https://developer.android.com/tools#tools-sdk

- Getestet: 12.0

Expand Down
4 changes: 2 additions & 2 deletions libs/Versions.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
set(QT 6.7.2)
set(QT_HASH 0aaea247db870193c260e8453ae692ca12abc1bd841faa1a6e6c99459968ca8a)

set(OPENSSL 3.3.1)
set(OPENSSL_HASH 777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e)
set(OPENSSL 3.3.2)
set(OPENSSL_HASH 2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281)
2 changes: 1 addition & 1 deletion libs/patches/openssl-0001-android-shlib_variant.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 550be844ea2eae755ff693681c18c3394b2f8ad1 Mon Sep 17 00:00:00 2001
From fec417d3241ec474e90a8eba23f91864eb0c8860 Mon Sep 17 00:00:00 2001
From: Lars Schmertmann <[email protected]>
Date: Tue, 19 Jan 2021 17:07:51 +0100
Subject: android shlib_variant
Expand Down
Loading

0 comments on commit d5a9f7c

Please sign in to comment.