Skip to content

Commit

Permalink
Add revision: v1.12.3
Browse files Browse the repository at this point in the history
  • Loading branch information
GovernikusAusweisApp2 committed Sep 15, 2017
1 parent c916899 commit 3e6bc68
Show file tree
Hide file tree
Showing 294 changed files with 3,965 additions and 927 deletions.
13 changes: 11 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0)
CMAKE_MINIMUM_REQUIRED(VERSION 3.3.0)

IF(POLICY CMP0020)
CMAKE_POLICY(SET CMP0020 NEW)
Expand All @@ -20,6 +20,10 @@ IF(POLICY CMP0063)
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF()

IF(POLICY CMP0071)
CMAKE_POLICY(SET CMP0071 NEW)
ENDIF()

# "tools.only" can be defined to disable the normal build and enable
# cmdline "tools" only. For example: "make format" or "make package_source"
IF(tools.only)
Expand All @@ -29,7 +33,7 @@ ELSE()
ENDIF()


PROJECT(AusweisApp2 VERSION 1.12.2 LANGUAGES ${LANGUAGES})
PROJECT(AusweisApp2 VERSION 1.12.3 LANGUAGES ${LANGUAGES})

# Set TWEAK if not defined in PROJECT_VERSION above to
# have a valid tweak version without propagating it
Expand Down Expand Up @@ -63,6 +67,11 @@ MESSAGE(STATUS "VENDOR: ${VENDOR}")
MESSAGE(STATUS "VERSION: ${PROJECT_VERSION}")

IF(ANDROID)
IF(NOT BUILD_PREVIEW)
SET(BUILD_PREVIEW false)
ENDIF()
MESSAGE(STATUS "BUILD_PREVIEW: ${BUILD_PREVIEW}")

IF(NOT ANDROID_VERSION_CODE)
SET(ANDROID_VERSION_CODE 0)
ENDIF()
Expand Down
5 changes: 2 additions & 3 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ Lizenz
Wir benötigen eine persönliche CLA (contributor license agreement) für
die eingereichten Änderungen.

Siehe `LICENSE.AusweisApp2.German.txt`_ oder `LICENSE.AusweisApp2.English.txt`_ für Details.
Siehe `Governikus_CLA.pdf`_ für Details.

.. _`LICENSE.AusweisApp2.German.txt`: LICENSE.AusweisApp2.German.txt
.. _`LICENSE.AusweisApp2.English.txt`: LICENSE.AusweisApp2.English.txt
.. _`Governikus_CLA.pdf`: Governikus_CLA.pdf
Binary file added Governikus_CLA.pdf
Binary file not shown.
686 changes: 686 additions & 0 deletions LICENSE.officially.txt

Large diffs are not rendered by default.

52 changes: 1 addition & 51 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,56 +1,6 @@
Nutzungsbedingungen

Allgemeines zur Installation

Bitte lesen Sie zunächst die Allgemeinen Geschäftsbedingungen so wie die Lizenzbedingungen für die Überlassung und Nutzung der AusweisApp2 durch. Nachdem Sie zugestimmt haben, können Sie die Installation fortsetzen.


Allgemeine Geschäftsbedingungen

§ 1 Nutzungsbedingungen und Datenschutzhinweis
(1) Diese Allgemeine Geschäftsbedingungen (AGB) des Bundes, vertreten durch das Bundesministerium des Innern (nachfolgend "Bund") und dem Nutzer gelten für die Überlassung und Nutzung der Software AusweisApp2 (nachfolgend AusweisApp2) und deren neue Versionen, die auf der Grundlage dieser Bedingungen überlassen werden.
(2) "Nutzer" im Sinne dieses Vertrages sind natürliche Personen.

§ 2 Vertragsgegenstand und Unentgeltlichkeit
(1) Die AusweisApp2 wird regelmäßig hinsichtlich ihrer Konformität zu den Technischen Richtlinien des Bundesamtes für Sicherheit in der Informationstechnik [TR-03124-2] zertifiziert sowie hinsichtlich ihrer Nutzerfreundlichkeit [EN ISO 9241 Teil 110 Ergonomie Mensch-System-Integration zur Prüfung der Benutzbarkeit und Funktionalität und Trusted Design Guidelines zur Prüfung der Vertrauenswürdigkeit] und auf Barrierefreiheit [BITV 2.0] überprüft.
(2) Die AusweisApp2 wird in maschinenlesbarer Form unentgeltlich überlassen. Der Quellcode der AusweisApp2 wird ebenfalls unentgeltlich veröffentlicht. Eine Auflistung der verwendeten Open Source-Bestandteile der AusweisApp2 findet sich im Anhang.
(3) Die AusweisApp2 wird von der Governikus GmbH & Co. KG (Governikus) als Erfüllungsgehilfe des Bundes überlassen.

§ 3 Verwendungszweck
Die AusweisApp2 und alle ihre Bestandteile dienen ausschließlich dazu, im Zusammenhang mit der Nutzung der Online-Ausweisfunktion des Personalausweises bzw. des elektronischen Aufenthaltstitels und der Übermittlung der damit verbundenen Daten gemäß den gesetzlichen Vorgaben verwendet zu werden.

§ 4 Pflichten und Obliegenheiten des Nutzers
(1) Der Nutzer verpflichtet sich, die AusweisApp2 entsprechend des in § 3 genannten Verwendungszweckes zu nutzen. Es liegt in seinem Interesse, dass in Verbindung mit der AusweisApp2 genutzte Hard- und Software des Nutzers immer auf dem neuesten Stand der Sicherheitstechnik (System- und Firmware Update, Virenscanner, Firewall usw.) sind.
(2) Es liegt im eigenen Interesse des Nutzers aber auch des Bundes, dass stets nur die neueste Version der AusweisApp2 (siehe § 5) verwendet wird.

§ 5 Pflege und Support
(1) Der Bund bietet nach eigenem Ermessen und ohne hierzu verpflichtet zu sein für Teile der AusweisApp2 zusätzliche kostenfreie Supportleistungen in Form von Dokumentationen und online Hilfen auf dem AusweisApp2-Portal im Internet unter der Adresse www.ausweisapp.bund.de an, sowie über die Hotline des Herstellers Governikus unter der E-Mail-Adresse: [email protected] und der Tel.-Nr.: +49 1805 348 743. Auch stellt er verfügbare neue Versionen der AusweisApp2 zur Verfügung. Hieraus erwächst jedoch kein zusätzlicher Anspruch auf Mängelbeseitigung, auf Zertifizierung, auf Beibehaltung der Supportleistungen oder der Hotline und auf Überlassung neuer Versionen.
(2) Verfügbare neue Versionen der AusweisApp2 können im Internet kostenfrei auf dem AusweisApp2-Portal unter der Adresse www.ausweisapp.bund.de sowie über allgemein zugängliche AppStore heruntergeladen werden.
(3) Eventuelle Mängel der AusweisApp2 werden grundsätzlich dadurch behoben, dass der Bund jeweils eine neue Version der AusweisApp2 zum Herunterladen zur Verfügung stellt (siehe § 5 Absatz 1). Eine Pflicht zur Bereitstellung von neuen Versionen ergibt sich daraus grundsätzlich nicht.

§ 6 Hinweis auf gewerbliche und urheberrechtliche Schutzrechte
Die Zeichen AusweisApp2 und die entsprechenden Grafiken sowie das Signet zur Online-Ausweisfunktion sind für den Bund als Marken geschützt.

§ 7 Datenschutzhinweis
(1) Mit dieser Software werden personenbezogene Daten im Sinne des § 3 Absatz 1 des Bundesdatenschutzgesetzes (BDSG) zum Zwecke der Verarbeitung grundsätzlich nicht erhoben.
(2) Personenbezogene Daten aus dem Ausweischip werden ausschließlich zum Zweck des elektronischen Identitätsnachweises im Umfang der erteilten Berechtigung nach Einwilligung des Nutzers mit seiner Ausweis-PIN-Eingabe und auf dem Transportweg zwischen dem Ausweischip und dem Diensteanbieter sicher verschlüsselt und auch für Governikus nicht lesbar übertragen.
(3) Neben den reinen Daten, die zur Identifizierung/ Authentisierung benötigt werden, erhebt die Software nur mit Einverständnis des Nutzers Daten über die Art und Version der Anwendungsumgebung (Betriebssystem, Lesegeräte usw.) des Nutzers. Diese Daten kann der Nutzer bei Bedarf an Governikus übermitteln, um die ordnungsgemäße Verarbeitung prüfen zu lassen und Fehlern im Verarbeitungsprozess vorzubeugen. Die Nutzung der Daten erfolgt dann im Rahmen des § 14 BDSG durch Governikus im Auftrag des Bundes und nur für den genannten Zweck.
(4) Die in der AusweisApp2 enthaltene Selbstauskunft über die im Chip gespeicherten Daten, ist ein Dienst der durch Governikus über das Internet erbracht wird. Die Ausweisdaten werden dabei nur zur Anzeige des Nutzers gebracht und nicht dauerhaft bei Governikus gespeichert oder für andere Zwecke verwendet.

§ 8 Deutsches Recht
Auf diese Nutzungsbedingungen ist ausschließlich deutsches Recht unter Ausschluss des Übereinkommens der Vereinten Nationen über Verträge über den internationalen Warenkauf (CISG) anwendbar.


Anhang

Eingearbeitete Open Source-Komponenten
Qt, OpenSSL und http_parser.



Lizenzbedingungen

Die AusweisApp2 und ihr Quellcode werden unter der EUPL v1.2 bereitgestellt, mit Ausnahme der Open-Source-Bibliothek OpenSSL, die unter der OpenSSL License / SSLeay License lizensiert ist.
Der Quellcode der AusweisApp2 wird unter der EUPL v1.2 bereitgestellt, mit Ausnahme der Bibliothek OpenSSL, die unter der OpenSSL License / SSLeay License lizensiert ist.



Expand Down
97 changes: 18 additions & 79 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ Kontakt
| [email protected]

Lizenz
------
Der vorliegende Quellcode wird unter der EUPL v1.2 bereitgestellt, mit
Ausnahme der Bibliothek OpenSSL, die unter der OpenSSL License / SSLeay License
lizensiert ist. Die Datei ``LICENSE.officially.txt`` gilt ausschließlich für
die offizielle Version der AusweisApp2, welche von der Governikus GmbH & Co. KG
im Auftrag des Bundes unter https://www.ausweisapp.bund.de bereitgestellt wird.


Toolchain / Bibliotheken
------------------------
Die Einrichtung der Toolchain wird im Unterordner ``./libs``
Expand All @@ -22,8 +31,8 @@ Derzeit ist es leider noch nicht möglich, die AusweisApp2 ohne Patches
an OpenSSL und Qt voll funktionsfähig auszuliefern.
Dies liegt unter anderem an dem notwendigen RSA-PSK-Patch für
OpenSSL 1.0.2, welcher mit OpenSSL 1.1.0 nicht mehr notwendig ist.
Diese OpenSSL-Version wird allerdings voraussichtlich erst mit Qt 5.10
bzw. 5.9.2 unterstützt. (siehe https://bugreports.qt.io/browse/QTBUG-52905)
Diese OpenSSL-Version wird allerdings erst mit Qt 5.10 unterstützt.
(siehe https://bugreports.qt.io/browse/QTBUG-52905)

OpenSSL 1.1.0 wird mit der AusweisApp2 1.14.0 unterstützt.
LibreSSL wird auf Grund des fehlenden RSA-PSK nicht unterstützt.
Expand All @@ -40,8 +49,8 @@ Dazu kann die Variable *CMAKE_PREFIX_PATH* verwendet werden um die Toolchain CMa
bekannt zu machen. Alternativ zu %PATH% bzw. $PATH können alle Ordner, die dort
für den Build eingetragen wurden, über diesen Mechanismus an CMake übergeben werden.

Als Generator für Makefiles sollte eine Variante von "MinGW Makefiles" gewählt
werden.
Als Generator für Makefiles sollte unter Windows eine Variante von "MinGW Makefiles"
gewählt werden.

Beim Generieren des Makefiles ist zu beachten, dass die AusweisApp2 nur sogenannte
"out of source tree"-Builds erlaubt. Daher ist die empfohlene Variante von CMake
Expand Down Expand Up @@ -76,7 +85,6 @@ Beispiel über die CLI:
-- BUILD_SHARED_LIBS: OFF
-- Found OpenSSL: C:/Toolchain/lib/libssl.dll.a;C:/Toolchain/lib/libcrypto.dll.a (found suitable version "1.0.1i", minimum required is "1.0.1")
-- Found Hg: C:/Program Files/TortoiseHg/hg.exe (found version "3.1.1")
-- PLATFORM_WIDGETS: WINDOWS
-- Configuring done
-- Generating done
-- Build files have been written to: C:/build
Expand Down Expand Up @@ -124,19 +132,19 @@ eingebettet werden kann. Zu beachten ist vor allem, dass in der Umgebungsvariabl
eingerichtet ist. Im Ordner "~/Library/MobileDevice/Provisioning Profiles"
sind diese ebenfalls einsehbar.
Unter Umständen kann es zu Berechtigungsproblemen mit XCode und den Zugriff auf
die Keys kommen. Dabei ist es oft hilfreich die Keys im MacOS-Schlüsselbund
die Keys kommen. Dabei ist es oft hilfreich die Keys im macOS-Schlüsselbund
freizuschalten bzw. den Schlüsselbund freizugeben.

security unlock-keychain -pPASSWORD ${HOME}/Library/Keychains/login.keychain

Unter iOS wird die AusweisApp2 mittels XCode gebaut!
Für iOS wird die AusweisApp2 mittels XCode gebaut!

::

$ cd build
$ cmake -DCMAKE_PREFIX_PATH=/Users/governikus/Toolchain/dist -DCMAKE_TOOLCHAIN_FILE=../AusweisApp2/cmake/iOS.toolchain.cmake -DCMAKE_BUILD_TYPE=release ../AusweisApp2 -GXcode
$ cmakexbuild install -configuration Release
$ cmakexbuild -target ipa
$ xcodebuild -target install -configuration Release
$ xcodebuild -target ipa -configuration Release


Im Build-Ordner befindet sich nun eine "AusweisApp2-x.y.z.ipa" Datei, welches das
Expand All @@ -152,7 +160,7 @@ Nachdem die Build-Umgebung eingerichtet ist, kann je nach System ein Package ers
notwendig.
Mittels "mingw32-make package" wird die AusweisApp2 gebaut und ein MSI Paket bereitgestellt.

- Unter MacOS wird mittels "make package" die AusweisApp2 gebaut und ein DMG bereitgestellt.
- Unter macOS wird mittels "make package" die AusweisApp2 gebaut und ein DMG bereitgestellt.

- Um ein APK für Android zu bauen, sind zwei Schritte notwendig, da CMake das Format bisher
nicht unterstützt. Daher sind nach der Konfiguration des Projektes folgende Befehle notwendig
Expand All @@ -162,72 +170,3 @@ Nachdem die Build-Umgebung eingerichtet ist, kann je nach System ein Package ers

$ make install
$ make apk



Release
-------
Folgende Schritte sind notwendig um ein Tag bzw. Release zu bauen.


Tag anbringen
^^^^^^^^^^^^^

#. Mittels "hg update -r stable" auf das jeweilige Changeset wechseln, welches mit einem
Tag versehen werden soll.

#. Mittels "hg status" überprüfen, dass keine weiteren Änderungen in der Working-Copy
vorhanden sind.

#. In der Datei CMakeLists.txt die PROJECT_VERSION im PROJECT entsprechend anpassen.

#. Mittels "hg tag x.y.z" (Beispiel: hg tag 1.0.0) den Tag anbringen.

#. Mittels "hg bookmark -r x.y.z release" das Bookmark verschieben, damit der Jenkins beim
Release-Build den aktuellen Tag findet.

#. Mittels "hg push" ins Main-Repository übertragen.



Tag bauen
^^^^^^^^^
Wichtig: Der Jenkins erstellt das Release anhand des Bookmarks "release".
Die Jobs müssen nach dem Setzen manuell gestartet werden!
Nachdem die Jobs für Windows und MacOS durchgelaufen sind, muss
der Job für den AppCast gestartet werden.

Für einen sauberen Build sollte folgendes Vorgehen angewandt werden.
Beim Durchlauf von CMake wird, sofern die Versionsverwaltung vorhanden ist, der Mercurial-Tag
angezeigt.

#. Mittels "hg clone -r x.y.z http://mercurial/AusweisApp2" den Tag ausschecken.

- **Wichtig:** Wenn ein bestehender Clone mittels "hg update -r x.y.z" benutzt wird,
sollte mit "hg status -i" geprüft werden, ob die Working-Copy vollständig sauber ist!

#. Einen build-Ordner erstellen und in den Ordner wechseln. Zum Beispiel /tmp/buildTagXYZ

#. cmake -DCMAKE_BUILD_TYPE=release ../AusweisApp2

#. make package_source

#. make package



Probleme & Lösungen
^^^^^^^^^^^^^^^^^^^

- Das gebaute Package beinhaltet einen Hashwert im Namen
- CMake hat erkannt, dass sich die aktuelle Working-Copy nicht auf dem Tag befindet und hängt
somit den Hashwert des Changesets an. Mittels "hg id -t" kann man überprüfen, ob man sich auf
dem Tag befindet.

- Mittels "hg update -r x.y.z" sollte man auf den Tag wechseln.

- Hinter dem Hashwert ist ein +
- Das bedeutet, dass "uncommitted changes" während des Builds in der Working-Copy enthalten waren.

- Dies kann man mittels "hg status" überprüfen.

49 changes: 49 additions & 0 deletions Releasing.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
Release
=======
Folgende Schritte sind notwendig um ein Tag bzw. Release zu bauen.


Tag anbringen
-------------
#. Mittels "hg update -r stable" auf das jeweilige Changeset wechseln, welches mit einem
Tag versehen werden soll.

#. Mittels "hg status" überprüfen, dass keine weiteren Änderungen in der Working-Copy
vorhanden sind.

#. In der Datei CMakeLists.txt die PROJECT_VERSION im PROJECT entsprechend anpassen.

#. Mittels "hg tag x.y.z" (Beispiel: hg tag 1.0.0) den Tag anbringen.

#. Mittels "hg push" ins Main-Repository übertragen.



Tag bauen
---------
Die Release-Jobs müssen nach dem Tag manuell gestartet werden!

Jenkins erstellt das Release anhand des Bookmarks "release" oder des tags/changesets,
welcher als Parameter übergeben wird.
Nachdem die notwendigen Jobs (Windows/macOS/Docs/...) durchgelaufen sind, muss der Job
für den AppCast gestartet werden.

Im Ordner ``resources/jenkins/dsl`` sind die jeweiligen Konfigurationen der Jenkins-Jobs
hinterlegt.



Probleme & Lösungen
-------------------
- Das gebaute Package beinhaltet einen Hashwert im Namen
- CMake hat erkannt, dass sich die aktuelle Working-Copy nicht auf dem Tag befindet und hängt
somit den Hashwert des Changesets an. Mittels "hg id -t" kann man überprüfen, ob man sich auf
dem Tag befindet.

- Mittels "hg update -r x.y.z" sollte man auf den Tag wechseln.

- Hinter dem Hashwert ist ein +
- Das bedeutet, dass "uncommitted changes" während des Builds in der Working-Copy enthalten waren.

- Dies kann man mittels "hg status" überprüfen.

6 changes: 3 additions & 3 deletions cmake/DVCS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ MACRO(CHECK_DVCS)
IF(HG_FOUND)
DVCS_CALL("tag" "" id -t)
ELSEIF(GIT_FOUND)
DVCS_CALL("tag" "" name-rev --tags --name-only HEAD)
DVCS_CALL("tag" "" tag -l --points-at HEAD)
ENDIF()
IF(NOT "${dvcs_tag}" STREQUAL "tip" AND NOT "${dvcs_tag}" STREQUAL "" AND NOT "${dvcs_tag}" STREQUAL "undefined")
IF(NOT dvcs_tag STREQUAL PROJECT_VERSION)
Expand Down Expand Up @@ -93,8 +93,8 @@ MACRO(GET_DVCS_INFO)
DVCS_CALL("revision" "-" id -i)
ELSEIF(GIT_FOUND)
DVCS_CALL("revision" "-" rev-parse --verify --short HEAD)
DVCS_EXECUTE(dvcs_dirty_wc diff --shortstat)
IF(DEFINED dvcs_dirty_wc)
DVCS_EXECUTE(dvcs_clean_wc diff-index --quiet HEAD)
IF(NOT DEFINED dvcs_clean_wc)
MESSAGE(STATUS "DVCS: dirty working copy")
SET(dvcs_revision ${dvcs_revision}+)
SET(VERSION_DVCS ${VERSION_DVCS}+)
Expand Down
7 changes: 5 additions & 2 deletions cmake/Install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,12 @@ ELSEIF(ANDROID)
INSTALL(TARGETS AusweisApp DESTINATION ${ANDROID_DEST} ${PERMISSIONS} COMPONENT Application)

SET(RESOURCES_IMG_ANDROID_DIR ${RESOURCES_DIR}/images/android)
IF(IS_DEVELOPER_VERSION)
SET(ANDROID_LAUNCHER_ICON "npa_beta.png")
IF(BUILD_PREVIEW)
SET(ANDROID_LAUNCHER_ICON "npa_preview.png")
SET(ANDROID_PACKAGE_NAME "com.governikus.ausweisapp2.dev")
ELSEIF(IS_DEVELOPER_VERSION)
SET(ANDROID_LAUNCHER_ICON "npa_beta.png")
SET(ANDROID_PACKAGE_NAME "com.governikus.ausweisapp2")
ELSE()
SET(ANDROID_LAUNCHER_ICON "npa.png")
SET(ANDROID_PACKAGE_NAME "com.governikus.ausweisapp2")
Expand Down
17 changes: 10 additions & 7 deletions cmake/Packaging.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,12 @@ SET(CPACK_PACKAGE_CONTACT "[email protected]")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Governikus AusweisApp2")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.rst")
SET(CPACK_PACKAGE_FILE_NAME ${FILENAME})
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")

IF(VENDOR_GOVERNIKUS)
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.officially.txt")
ELSE()
SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
ENDIF()

IF(APPLE AND NOT IOS)
FIND_PROGRAM(ICONV iconv)
Expand All @@ -55,6 +60,7 @@ SET(CPACK_SOURCE_GENERATOR TGZ)
SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${FILENAME} CACHE INTERNAL "tarball basename")

SET(CPACK_SOURCE_IGNORE_FILES "\\\\.hgignore" "\\\\.hgtags" "/\\\\.hg/")
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "\\\\.gitignore" "/\\\\.git/")
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "vendor.txt")
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "${CMAKE_CURRENT_BINARY_DIR}")
LIST(APPEND CPACK_SOURCE_IGNORE_FILES "CMakeCache.txt")
Expand Down Expand Up @@ -90,11 +96,6 @@ IF(WIN32)
ENDIF()

ELSEIF(IOS)
FIND_PROGRAM(xcrun xcrun CMAKE_FIND_ROOT_PATH_BOTH)
IF(NOT xcrun)
MESSAGE(FATAL_ERROR "Cannot find xcrun to create IPAs")
ENDIF()

FILE(WRITE ${PROJECT_BINARY_DIR}/ipa.cmake "
SET(BUNDLE_DIRS \"\${CONFIG}-iphoneos;UninstalledProducts;UninstalledProducts/iphoneos\")
Expand All @@ -112,7 +113,9 @@ ELSEIF(IOS)
MESSAGE(FATAL_ERROR \"Bundle directory does not exist\")
ENDIF()
EXECUTE_PROCESS(COMMAND ${xcrun} -sdk iphoneos PackageApplication \${BundleDir} -o ${PROJECT_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.ipa)
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_directory \${BundleDir} Payload/AusweisApp2.app)
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar cf \"${CPACK_PACKAGE_FILE_NAME}.ipa\" --format=zip Payload)
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E remove_directory Payload)
")

ADD_CUSTOM_TARGET(ipa COMMAND ${CMAKE_COMMAND} -DCONFIG=$<CONFIGURATION> -P ${CMAKE_BINARY_DIR}/ipa.cmake)
Expand Down
Loading

0 comments on commit 3e6bc68

Please sign in to comment.