diff --git a/.gitignore b/.gitignore index b1aa57221..fcdc4eeb1 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,7 @@ Subsurface.app !android/**/*.xml build* mobile-widgets/qml/kirigami -packaging/ios/Subsurface-mobile/translations/ +packaging/ios/translations/ packaging/ios/googlemaps* packaging/ios/install-root* packaging/ios/libdivecomputer-* diff --git a/packaging/ios/Subsurface-mobile.pro b/packaging/ios/Subsurface-mobile.pro new file mode 100644 index 000000000..c693c448d --- /dev/null +++ b/packaging/ios/Subsurface-mobile.pro @@ -0,0 +1,230 @@ +TEMPLATE = app + +QT += qml quick quickcontrols2 widgets positioning concurrent svg bluetooth + +DEFINES += SUBSURFACE_MOBILE BT_SUPPORT BLE_SUPPORT + +CONFIG += c++11 + +SOURCES += ../../subsurface-mobile-main.cpp \ + ../../subsurface-mobile-helper.cpp \ + ../../map-widget/qmlmapwidgethelper.cpp \ + ../../core/cloudstorage.cpp \ + ../../core/configuredivecomputerthreads.cpp \ + ../../core/devicedetails.cpp \ + ../../core/gpslocation.cpp \ + ../../core/imagedownloader.cpp \ + ../../core/downloadfromdcthread.cpp \ + ../../core/qtserialbluetooth.cpp \ + ../../core/plannernotes.c \ + ../../core/uemis-downloader.c \ + ../../core/qthelper.cpp \ + ../../core/checkcloudconnection.cpp \ + ../../core/color.cpp \ + ../../core/configuredivecomputer.cpp \ + ../../core/divecomputer.cpp \ + ../../core/divelogexportlogic.cpp \ + ../../core/divesitehelpers.cpp \ + ../../core/errorhelper.c \ + ../../core/exif.cpp \ + ../../core/format.cpp \ + ../../core/gettextfromc.cpp \ + ../../core/isocialnetworkintegration.cpp \ + ../../core/metrics.cpp \ + ../../core/pluginmanager.cpp \ + ../../core/qt-init.cpp \ + ../../core/subsurfacesysinfo.cpp \ + ../../core/windowtitleupdate.cpp \ + ../../core/file.c \ + ../../core/subsurfacestartup.c \ + ../../core/ios.cpp \ + ../../core/profile.c \ + ../../core/device.c \ + ../../core/dive.c \ + ../../core/divelist.c \ + ../../core/gas-model.c \ + ../../core/gaspressures.c \ + ../../core/git-access.c \ + ../../core/liquivision.c \ + ../../core/load-git.c \ + ../../core/parse-xml.c \ + ../../core/parse.c \ + ../../core/import-suunto.c \ + ../../core/import-shearwater.c \ + ../../core/import-cobalt.c \ + ../../core/import-divinglog.c \ + ../../core/import-csv.c \ + ../../core/save-html.c \ + ../../core/statistics.c \ + ../../core/worldmap-save.c \ + ../../core/libdivecomputer.c \ + ../../core/version.c \ + ../../core/save-git.c \ + ../../core/datatrak.c \ + ../../core/ostctools.c \ + ../../core/planner.c \ + ../../core/save-xml.c \ + ../../core/cochran.c \ + ../../core/deco.c \ + ../../core/divesite.c \ + ../../core/equipment.c \ + ../../core/membuffer.c \ + ../../core/sha1.c \ + ../../core/strtod.c \ + ../../core/taxonomy.c \ + ../../core/time.c \ + ../../core/uemis.c \ + ../../core/btdiscovery.cpp \ + ../../core/connectionlistmodel.cpp \ + ../../core/qt-ble.cpp \ + ../../core/subsurface-qt/CylinderObjectHelper.cpp \ + ../../core/subsurface-qt/DiveObjectHelper.cpp \ + ../../core/subsurface-qt/SettingsObjectWrapper.cpp \ + ../../mobile-widgets/qmlmanager.cpp \ + ../../mobile-widgets/qmlprofile.cpp \ + ../../qt-models/divelistmodel.cpp \ + ../../qt-models/diveplotdatamodel.cpp \ + ../../qt-models/gpslistmodel.cpp \ + ../../qt-models/completionmodels.cpp \ + ../../qt-models/divelocationmodel.cpp \ + ../../qt-models/maplocationmodel.cpp \ + ../../qt-models/diveimportedmodel.cpp \ + ../../qt-models/messagehandlermodel.cpp \ + ../../profile-widget/divecartesianaxis.cpp \ + ../../profile-widget/diveeventitem.cpp \ + ../../profile-widget/diveprofileitem.cpp \ + ../../profile-widget/profilewidget2.cpp \ + ../../profile-widget/ruleritem.cpp \ + ../../profile-widget/animationfunctions.cpp \ + ../../profile-widget/divepixmapitem.cpp \ + ../../profile-widget/divetooltipitem.cpp \ + ../../profile-widget/tankitem.cpp \ + ../../profile-widget/divelineitem.cpp \ + ../../profile-widget/diverectitem.cpp \ + ../../profile-widget/divetextitem.cpp + +RESOURCES += ./qml.qrc ../../subsurface.qrc ../../mobile-widgets/qml/mobile-resources.qrc ./translations.qrc + +LIBS += ./install-root/lib/libdivecomputer.a \ + ./install-root/lib/libgit2.a \ + ./install-root/lib/libzip.a \ + ./install-root/lib/libxslt.a \ + ./googlemaps-build/libqtgeoservices_googlemaps.a \ + -liconv \ + -lsqlite3 \ + -lxml2 + +INCLUDEPATH += ./install-root/include/ \ + ./install-root/lib/libzip/include \ + ./install-root/include/libxstl \ + ./install-root/include/libexstl \ + ./install-root/include/openssl \ + ../.. \ + ../../core \ + ../../mobile-widgets/qml/kirigami/src/libkirigami \ + /usr/include/libxml2 + +HEADERS += \ + ../../core/libdivecomputer.h \ + ../../core/cloudstorage.h \ + ../../core/configuredivecomputerthreads.h \ + ../../core/device.h \ + ../../core/devicedetails.h \ + ../../core/dive.h \ + ../../core/git-access.h \ + ../../core/gpslocation.h \ + ../../core/helpers.h \ + ../../core/imagedownloader.h \ + ../../core/pref.h \ + ../../core/profile.h \ + ../../core/qthelper.h \ + ../../core/save-html.h \ + ../../core/statistics.h \ + ../../core/units.h \ + ../../core/version.h \ + ../../core/planner.h \ + ../../core/divesite.h \ + ../../core/checkcloudconnection.h \ + ../../core/cochran.h \ + ../../core/color.h \ + ../../core/configuredivecomputer.h \ + ../../core/datatrak.h \ + ../../core/deco.h \ + ../../core/display.h \ + ../../core/divecomputer.h \ + ../../core/divelist.h \ + ../../core/divelogexportlogic.h \ + ../../core/divesitehelpers.h \ + ../../core/exif.h \ + ../../core/file.h \ + ../../core/gaspressures.h \ + ../../core/gettext.h \ + ../../core/gettextfromc.h \ + ../../core/isocialnetworkintegration.h \ + ../../core/membuffer.h \ + ../../core/metrics.h \ + ../../core/pluginmanager.h \ + ../../core/prefs-macros.h \ + ../../core/qt-gui.h \ + ../../core/sha1.h \ + ../../core/strndup.h \ + ../../core/subsurfacestartup.h \ + ../../core/subsurfacesysinfo.h \ + ../../core/taxonomy.h \ + ../../core/uemis.h \ + ../../core/webservice.h \ + ../../core/windowtitleupdate.h \ + ../../core/worldmap-options.h \ + ../../core/worldmap-save.h \ + ../../core/downloadfromdcthread.h \ + ../../core/btdiscovery.h \ + ../../core/connectionlistmodel.h \ + ../../core/qt-ble.h \ + ../../core/subsurface-qt/CylinderObjectHelper.h \ + ../../core/subsurface-qt/DiveObjectHelper.h \ + ../../core/subsurface-qt/SettingsObjectWrapper.h \ + ../../mobile-widgets/qmlmanager.h \ + ../../mobile-widgets/qmlprofile.h \ + ../../map-widget/qmlmapwidgethelper.h \ + ../../qt-models/divelistmodel.h \ + ../../qt-models/diveplotdatamodel.h \ + ../../qt-models/gpslistmodel.h \ + ../../qt-models/divelocationmodel.h \ + ../../qt-models/completionmodels.h \ + ../../qt-models/weightsysteminfomodel.h \ + ../../qt-models/maplocationmodel.h \ + ../../qt-models/diveimportedmodel.h \ + ../../qt-models/messagehandlermodel.h \ + ../../profile-widget/diveprofileitem.h \ + ../../profile-widget/profilewidget2.h \ + ../../profile-widget/ruleritem.h \ + ../../profile-widget/diveeventitem.h \ + ../../profile-widget/divetooltipitem.h \ + ../../profile-widget/tankitem.h \ + ../../profile-widget/animationfunctions.h \ + ../../profile-widget/divecartesianaxis.h \ + ../../profile-widget/divelineitem.h \ + ../../profile-widget/divepixmapitem.h \ + ../../profile-widget/diverectitem.h \ + ../../profile-widget/divetextitem.h + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Default rules for deployment. +include(./deployment.pri) + +include(../../mobile-widgets/qml/kirigami/kirigami.pri) + +# Supress some warnings +QMAKE_CXXFLAGS += -w +QMAKE_CFLAGS += -w + +ios { + QMAKE_ASSET_CATALOGS += ./storeIcon.xcassets + app_launch_images.files = ./SubsurfaceMobileLaunch.xib $$files(./SubsurfaceMobileLaunchImage*.png) + images.files = ../../icons/subsurface-mobile-icon.png + QMAKE_BUNDLE_DATA += app_launch_images images + QMAKE_INFO_PLIST = ./Info.plist + QMAKE_IOS_DEPLOYMENT_TARGET = 10.0 +} diff --git a/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro b/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro deleted file mode 100644 index 47d4b7629..000000000 --- a/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro +++ /dev/null @@ -1,230 +0,0 @@ -TEMPLATE = app - -QT += qml quick quickcontrols2 widgets positioning concurrent svg bluetooth - -DEFINES += SUBSURFACE_MOBILE BT_SUPPORT BLE_SUPPORT - -CONFIG += c++11 - -SOURCES += ../../../subsurface-mobile-main.cpp \ - ../../../subsurface-mobile-helper.cpp \ - ../../../map-widget/qmlmapwidgethelper.cpp \ - ../../../core/cloudstorage.cpp \ - ../../../core/configuredivecomputerthreads.cpp \ - ../../../core/devicedetails.cpp \ - ../../../core/gpslocation.cpp \ - ../../../core/imagedownloader.cpp \ - ../../../core/downloadfromdcthread.cpp \ - ../../../core/qtserialbluetooth.cpp \ - ../../../core/plannernotes.c \ - ../../../core/uemis-downloader.c \ - ../../../core/qthelper.cpp \ - ../../../core/checkcloudconnection.cpp \ - ../../../core/color.cpp \ - ../../../core/configuredivecomputer.cpp \ - ../../../core/divecomputer.cpp \ - ../../../core/divelogexportlogic.cpp \ - ../../../core/divesitehelpers.cpp \ - ../../../core/errorhelper.c \ - ../../../core/exif.cpp \ - ../../../core/format.cpp \ - ../../../core/gettextfromc.cpp \ - ../../../core/isocialnetworkintegration.cpp \ - ../../../core/metrics.cpp \ - ../../../core/pluginmanager.cpp \ - ../../../core/qt-init.cpp \ - ../../../core/subsurfacesysinfo.cpp \ - ../../../core/windowtitleupdate.cpp \ - ../../../core/file.c \ - ../../../core/subsurfacestartup.c \ - ../../../core/ios.cpp \ - ../../../core/profile.c \ - ../../../core/device.c \ - ../../../core/dive.c \ - ../../../core/divelist.c \ - ../../../core/gas-model.c \ - ../../../core/gaspressures.c \ - ../../../core/git-access.c \ - ../../../core/liquivision.c \ - ../../../core/load-git.c \ - ../../../core/parse-xml.c \ - ../../../core/parse.c \ - ../../../core/import-suunto.c \ - ../../../core/import-shearwater.c \ - ../../../core/import-cobalt.c \ - ../../../core/import-divinglog.c \ - ../../../core/import-csv.c \ - ../../../core/save-html.c \ - ../../../core/statistics.c \ - ../../../core/worldmap-save.c \ - ../../../core/libdivecomputer.c \ - ../../../core/version.c \ - ../../../core/save-git.c \ - ../../../core/datatrak.c \ - ../../../core/ostctools.c \ - ../../../core/planner.c \ - ../../../core/save-xml.c \ - ../../../core/cochran.c \ - ../../../core/deco.c \ - ../../../core/divesite.c \ - ../../../core/equipment.c \ - ../../../core/membuffer.c \ - ../../../core/sha1.c \ - ../../../core/strtod.c \ - ../../../core/taxonomy.c \ - ../../../core/time.c \ - ../../../core/uemis.c \ - ../../../core/btdiscovery.cpp \ - ../../../core/connectionlistmodel.cpp \ - ../../../core/qt-ble.cpp \ - ../../../core/subsurface-qt/CylinderObjectHelper.cpp \ - ../../../core/subsurface-qt/DiveObjectHelper.cpp \ - ../../../core/subsurface-qt/SettingsObjectWrapper.cpp \ - ../../../mobile-widgets/qmlmanager.cpp \ - ../../../mobile-widgets/qmlprofile.cpp \ - ../../../qt-models/divelistmodel.cpp \ - ../../../qt-models/diveplotdatamodel.cpp \ - ../../../qt-models/gpslistmodel.cpp \ - ../../../qt-models/completionmodels.cpp \ - ../../../qt-models/divelocationmodel.cpp \ - ../../../qt-models/maplocationmodel.cpp \ - ../../../qt-models/diveimportedmodel.cpp \ - ../../../qt-models/messagehandlermodel.cpp \ - ../../../profile-widget/divecartesianaxis.cpp \ - ../../../profile-widget/diveeventitem.cpp \ - ../../../profile-widget/diveprofileitem.cpp \ - ../../../profile-widget/profilewidget2.cpp \ - ../../../profile-widget/ruleritem.cpp \ - ../../../profile-widget/animationfunctions.cpp \ - ../../../profile-widget/divepixmapitem.cpp \ - ../../../profile-widget/divetooltipitem.cpp \ - ../../../profile-widget/tankitem.cpp \ - ../../../profile-widget/divelineitem.cpp \ - ../../../profile-widget/diverectitem.cpp \ - ../../../profile-widget/divetextitem.cpp - -RESOURCES += qml.qrc ../../../subsurface.qrc ../../../mobile-widgets/qml/mobile-resources.qrc translations.qrc - -LIBS += ../install-root/lib/libdivecomputer.a \ - ../install-root/lib/libgit2.a \ - ../install-root/lib/libzip.a \ - ../install-root/lib/libxslt.a \ - ../googlemaps-build/libqtgeoservices_googlemaps.a \ - -liconv \ - -lsqlite3 \ - -lxml2 - -INCLUDEPATH += ../install-root/include/ \ - ../install-root/lib/libzip/include \ - ../install-root/include/libxstl \ - ../install-root/include/libexstl \ - ../install-root/include/openssl \ - ../../.. \ - ../../../core \ - ../../../mobile-widgets/qml/kirigami/src/libkirigami \ - /usr/include/libxml2 - -HEADERS += \ - ../../../core/libdivecomputer.h \ - ../../../core/cloudstorage.h \ - ../../../core/configuredivecomputerthreads.h \ - ../../../core/device.h \ - ../../../core/devicedetails.h \ - ../../../core/dive.h \ - ../../../core/git-access.h \ - ../../../core/gpslocation.h \ - ../../../core/helpers.h \ - ../../../core/imagedownloader.h \ - ../../../core/pref.h \ - ../../../core/profile.h \ - ../../../core/qthelper.h \ - ../../../core/save-html.h \ - ../../../core/statistics.h \ - ../../../core/units.h \ - ../../../core/version.h \ - ../../../core/planner.h \ - ../../../core/divesite.h \ - ../../../core/checkcloudconnection.h \ - ../../../core/cochran.h \ - ../../../core/color.h \ - ../../../core/configuredivecomputer.h \ - ../../../core/datatrak.h \ - ../../../core/deco.h \ - ../../../core/display.h \ - ../../../core/divecomputer.h \ - ../../../core/divelist.h \ - ../../../core/divelogexportlogic.h \ - ../../../core/divesitehelpers.h \ - ../../../core/exif.h \ - ../../../core/file.h \ - ../../../core/gaspressures.h \ - ../../../core/gettext.h \ - ../../../core/gettextfromc.h \ - ../../../core/isocialnetworkintegration.h \ - ../../../core/membuffer.h \ - ../../../core/metrics.h \ - ../../../core/pluginmanager.h \ - ../../../core/prefs-macros.h \ - ../../../core/qt-gui.h \ - ../../../core/sha1.h \ - ../../../core/strndup.h \ - ../../../core/subsurfacestartup.h \ - ../../../core/subsurfacesysinfo.h \ - ../../../core/taxonomy.h \ - ../../../core/uemis.h \ - ../../../core/webservice.h \ - ../../../core/windowtitleupdate.h \ - ../../../core/worldmap-options.h \ - ../../../core/worldmap-save.h \ - ../../../core/downloadfromdcthread.h \ - ../../../core/btdiscovery.h \ - ../../../core/connectionlistmodel.h \ - ../../../core/qt-ble.h \ - ../../../core/subsurface-qt/CylinderObjectHelper.h \ - ../../../core/subsurface-qt/DiveObjectHelper.h \ - ../../../core/subsurface-qt/SettingsObjectWrapper.h \ - ../../../mobile-widgets/qmlmanager.h \ - ../../../mobile-widgets/qmlprofile.h \ - ../../../map-widget/qmlmapwidgethelper.h \ - ../../../qt-models/divelistmodel.h \ - ../../../qt-models/diveplotdatamodel.h \ - ../../../qt-models/gpslistmodel.h \ - ../../../qt-models/divelocationmodel.h \ - ../../../qt-models/completionmodels.h \ - ../../../qt-models/weightsysteminfomodel.h \ - ../../../qt-models/maplocationmodel.h \ - ../../../qt-models/diveimportedmodel.h \ - ../../../qt-models/messagehandlermodel.h \ - ../../../profile-widget/diveprofileitem.h \ - ../../../profile-widget/profilewidget2.h \ - ../../../profile-widget/ruleritem.h \ - ../../../profile-widget/diveeventitem.h \ - ../../../profile-widget/divetooltipitem.h \ - ../../../profile-widget/tankitem.h \ - ../../../profile-widget/animationfunctions.h \ - ../../../profile-widget/divecartesianaxis.h \ - ../../../profile-widget/divelineitem.h \ - ../../../profile-widget/divepixmapitem.h \ - ../../../profile-widget/diverectitem.h \ - ../../../profile-widget/divetextitem.h - -# Additional import path used to resolve QML modules in Qt Creator's code model -QML_IMPORT_PATH = - -# Default rules for deployment. -include(deployment.pri) - -include(../../../mobile-widgets/qml/kirigami/kirigami.pri) - -# Supress some warnings -QMAKE_CXXFLAGS += -w -QMAKE_CFLAGS += -w - -ios { - QMAKE_ASSET_CATALOGS += ../storeIcon.xcassets - app_launch_images.files = ../SubsurfaceMobileLaunch.xib $$files(../SubsurfaceMobileLaunchImage*.png) - images.files = ../../../icons/subsurface-mobile-icon.png - QMAKE_BUNDLE_DATA += app_launch_images images - QMAKE_INFO_PLIST = ../Info.plist - QMAKE_IOS_DEPLOYMENT_TARGET = 10.0 -} diff --git a/packaging/ios/build.sh b/packaging/ios/build.sh index 17471efa3..195bfeaf9 100755 --- a/packaging/ios/build.sh +++ b/packaging/ios/build.sh @@ -47,9 +47,9 @@ fi GITVERSION=$(git describe --abbrev=12) CANONICALVERSION=$(git describe --abbrev=12 | sed -e 's/-g.*$// ; s/^v//' | sed -e 's/-/./') MOBILEVERSION=$(grep MOBILE ../../cmake/Modules/version.cmake | cut -d\" -f 2) -echo "#define GIT_VERSION_STRING \"$GITVERSION\"" > subsurface-mobile/ssrf-version.h -echo "#define CANONICAL_VERSION_STRING \"$CANONICALVERSION\"" >> subsurface-mobile/ssrf-version.h -echo "#define MOBILE_VERSION_STRING \"$MOBILEVERSION\"" >> subsurface-mobile/ssrf-version.h +echo "#define GIT_VERSION_STRING \"$GITVERSION\"" > ssrf-version.h +echo "#define CANONICAL_VERSION_STRING \"$CANONICALVERSION\"" >> ssrf-version.h +echo "#define MOBILE_VERSION_STRING \"$MOBILEVERSION\"" >> ssrf-version.h BUNDLE=org.subsurface-divelog.subsurface-mobile if [ "${IOS_BUNDLE_PRODUCT_IDENTIFIER}" != "" ] ; then @@ -226,19 +226,17 @@ fi pushd ${SUBSURFACE_SOURCE}/translations SRCS=$(ls *.ts | grep -v source) popd -pushd Subsurface-mobile mkdir -p translations for src in $SRCS; do ${IOS_QT}/${QT_VERSION}/ios/bin/lrelease ${SUBSURFACE_SOURCE}/translations/$src -qm translations/${src/.ts/.qm} done -popd # in order to be able to use xcode without going through Qt Creator # call qmake directly mkdir -p build-Subsurface-mobile-Qt_$(echo ${QT_VERSION} | tr . _)_for_iOS-${DEBUGRELEASE} cd build-Subsurface-mobile-Qt_$(echo ${QT_VERSION} | tr . _)_for_iOS-${DEBUGRELEASE} -${IOS_QT}/${QT_VERSION}/ios/bin/qmake ../Subsurface-mobile/Subsurface-mobile.pro \ +${IOS_QT}/${QT_VERSION}/ios/bin/qmake ../Subsurface-mobile.pro \ -spec macx-ios-clang CONFIG+=$TARGET CONFIG+=$TARGET2 CONFIG+=$DRCONFIG make qmake_all diff --git a/packaging/ios/Subsurface-mobile/deployment.pri b/packaging/ios/deployment.pri similarity index 100% rename from packaging/ios/Subsurface-mobile/deployment.pri rename to packaging/ios/deployment.pri diff --git a/packaging/ios/Subsurface-mobile/dummy.qml b/packaging/ios/dummy.qml similarity index 100% rename from packaging/ios/Subsurface-mobile/dummy.qml rename to packaging/ios/dummy.qml diff --git a/packaging/ios/Subsurface-mobile/qml.qrc b/packaging/ios/qml.qrc similarity index 100% rename from packaging/ios/Subsurface-mobile/qml.qrc rename to packaging/ios/qml.qrc diff --git a/packaging/ios/Subsurface-mobile/translations.qrc b/packaging/ios/translations.qrc similarity index 100% rename from packaging/ios/Subsurface-mobile/translations.qrc rename to packaging/ios/translations.qrc