diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2020-11-18 19:18:09 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-11-19 17:18:33 -0800 |
commit | e73a82cd706ba5ffee9ea57d86016a251dc4ab61 (patch) | |
tree | 630255a8c7efc2f51db7ebeea53be8b635ae5ea4 /Subsurface-mobile.pro | |
parent | 64913bba475ae04cd3300e73f7de8b81b1021e38 (diff) | |
download | subsurface-e73a82cd706ba5ffee9ea57d86016a251dc4ab61.tar.gz |
build-system: combine iOS and Android Subsurface-mobile.pro
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'Subsurface-mobile.pro')
-rw-r--r-- | Subsurface-mobile.pro | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/Subsurface-mobile.pro b/Subsurface-mobile.pro new file mode 100644 index 000000000..f24e1d8f2 --- /dev/null +++ b/Subsurface-mobile.pro @@ -0,0 +1,377 @@ +TEMPLATE = app + +QT += qml quick quickcontrols2 widgets positioning concurrent svg bluetooth + +DEFINES += SUBSURFACE_MOBILE BT_SUPPORT BLE_SUPPORT + +CONFIG += c++17 +CONFIG += qtquickcompiler + +SOURCES += subsurface-mobile-main.cpp \ + subsurface-helper.cpp \ + map-widget/qmlmapwidgethelper.cpp \ + commands/command_base.cpp \ + commands/command.cpp \ + commands/command_device.cpp \ + commands/command_divelist.cpp \ + commands/command_divesite.cpp \ + commands/command_edit.cpp \ + commands/command_edit_trip.cpp \ + commands/command_event.cpp \ + commands/command_filter.cpp \ + commands/command_pictures.cpp \ + core/cloudstorage.cpp \ + core/configuredivecomputerthreads.cpp \ + core/devicedetails.cpp \ + core/gpslocation.cpp \ + core/downloadfromdcthread.cpp \ + core/qtserialbluetooth.cpp \ + core/plannernotes.c \ + core/uemis-downloader.c \ + core/applicationstate.cpp \ + core/qthelper.cpp \ + core/checkcloudconnection.cpp \ + core/color.cpp \ + core/configuredivecomputer.cpp \ + core/divelogexportlogic.cpp \ + core/divesitehelpers.cpp \ + core/errorhelper.c \ + core/exif.cpp \ + core/format.cpp \ + core/gettextfromc.cpp \ + core/metrics.cpp \ + core/qt-init.cpp \ + core/subsurfacesysinfo.cpp \ + core/windowtitleupdate.cpp \ + core/file.c \ + core/fulltext.cpp \ + core/subsurfacestartup.c \ + core/profile.c \ + core/device.cpp \ + core/dive.c \ + core/divecomputer.c \ + core/divefilter.cpp \ + core/event.c \ + core/filterconstraint.cpp \ + core/filterpreset.cpp \ + 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/picture.c \ + core/pictureobj.cpp \ + core/sample.c \ + core/import-suunto.c \ + core/import-shearwater.c \ + core/import-seac.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/gas.c \ + core/membuffer.c \ + core/selection.cpp \ + core/sha1.c \ + core/strtod.c \ + core/tag.c \ + core/taxonomy.c \ + core/time.c \ + core/trip.c \ + core/units.c \ + core/uemis.c \ + core/btdiscovery.cpp \ + core/connectionlistmodel.cpp \ + core/qt-ble.cpp \ + core/uploadDiveShare.cpp \ + core/uploadDiveLogsDE.cpp \ + core/save-profiledata.c \ + core/xmlparams.cpp \ + core/settings/qPref.cpp \ + core/settings/qPrefCloudStorage.cpp \ + core/settings/qPrefDisplay.cpp \ + core/settings/qPrefDiveComputer.cpp \ + core/settings/qPrefDivePlanner.cpp \ + core/settings/qPrefGeneral.cpp \ + core/settings/qPrefGeocoding.cpp \ + core/settings/qPrefLanguage.cpp \ + core/settings/qPrefLocationService.cpp \ + core/settings/qPrefPartialPressureGas.cpp \ + core/settings/qPrefPrivate.cpp \ + core/settings/qPrefProxy.cpp \ + core/settings/qPrefTechnicalDetails.cpp \ + core/settings/qPrefUnit.cpp \ + core/settings/qPrefEquipment.cpp \ + core/settings/qPrefLog.cpp \ + core/settings/qPrefMedia.cpp \ + core/settings/qPrefUpdateManager.cpp \ + core/subsurface-qt/cylinderobjecthelper.cpp \ + core/subsurface-qt/diveobjecthelper.cpp \ + core/subsurface-qt/divelistnotifier.cpp \ + backend-shared/exportfuncs.cpp \ + backend-shared/plannershared.cpp \ + mobile-widgets/qmlinterface.cpp \ + mobile-widgets/qmlmanager.cpp \ + mobile-widgets/themeinterface.cpp \ + qt-models/divesummarymodel.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 \ + qt-models/diveplannermodel.cpp \ + qt-models/divetripmodel.cpp \ + qt-models/mobilelistmodel.cpp \ + qt-models/cylindermodel.cpp \ + qt-models/cleanertablemodel.cpp \ + qt-models/tankinfomodel.cpp \ + qt-models/models.cpp \ + qt-models/weightsysteminfomodel.cpp \ + qt-models/filterconstraintmodel.cpp \ + qt-models/filterpresetmodel.cpp \ + profile-widget/qmlprofile.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 + +HEADERS += \ + commands/command_base.h \ + commands/command.h \ + commands/command_device.h \ + commands/command_divelist.h \ + commands/command_divesite.h \ + commands/command_edit.h \ + commands/command_edit_trip.h \ + commands/command_event.h \ + commands/command_filter.h \ + commands/command_pictures.h \ + core/interpolate.h \ + core/libdivecomputer.h \ + core/cloudstorage.h \ + core/configuredivecomputerthreads.h \ + core/device.h \ + core/devicedetails.h \ + core/dive.h \ + core/divecomputer.h \ + core/event.h \ + core/extradata.h \ + core/git-access.h \ + core/gpslocation.h \ + core/pref.h \ + core/profile.h \ + core/qthelper.h \ + core/save-html.h \ + core/statistics.h \ + core/units.h \ + core/version.h \ + core/picture.h \ + core/pictureobj.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/divefilter.h \ + core/filterconstraint.h \ + core/filterpreset.h \ + core/divelist.h \ + core/divelogexportlogic.h \ + core/divesitehelpers.h \ + core/exif.h \ + core/file.h \ + core/fulltext.h \ + core/gaspressures.h \ + core/gettext.h \ + core/gettextfromc.h \ + core/membuffer.h \ + core/metrics.h \ + core/qt-gui.h \ + core/sample.h \ + core/selection.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/save-profiledata.h \ + core/uploadDiveShare.h \ + core/uploadDiveLogsDE.h \ + core/xmlparams.h \ + core/settings/qPref.h \ + core/settings/qPrefCloudStorage.h \ + core/settings/qPrefDisplay.h \ + core/settings/qPrefDiveComputer.h \ + core/settings/qPrefDivePlanner.h \ + core/settings/qPrefGeneral.h \ + core/settings/qPrefGeocoding.h \ + core/settings/qPrefLanguage.h \ + core/settings/qPrefLocationService.h \ + core/settings/qPrefPartialPressureGas.h \ + core/settings/qPrefPrivate.h \ + core/settings/qPrefProxy.h \ + core/settings/qPrefTechnicalDetails.h \ + core/settings/qPrefUnit.h \ + core/settings/qPrefEquipment.h \ + core/settings/qPrefLog.h \ + core/settings/qPrefMedia.h \ + core/settings/qPrefUpdateManager.h \ + core/subsurface-qt/cylinderobjecthelper.h \ + core/subsurface-qt/diveobjecthelper.h \ + core/subsurface-qt/divelistnotifier.h \ + backend-shared/exportfuncs.h \ + backend-shared/plannershared.h \ + mobile-widgets/qmlinterface.h \ + mobile-widgets/qmlmanager.h \ + mobile-widgets/themeinterface.h \ + map-widget/qmlmapwidgethelper.h \ + qt-models/divesummarymodel.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 \ + qt-models/diveplannermodel.h \ + qt-models/divetripmodel.h \ + qt-models/mobilelistmodel.h \ + qt-models/cylindermodel.h \ + qt-models/cleanertablemodel.h \ + qt-models/tankinfomodel.h \ + qt-models/models.h \ + qt-models/weightsysteminfomodel.h \ + qt-models/filterconstraintmodel.h \ + qt-models/filterpresetmodel.h \ + profile-widget/qmlprofile.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 + +include(mobile-widgets/qml/kirigami/kirigami.pri) + +RESOURCES += mobile-widgets/qml/mobile-resources.qrc \ + map-widget/qml/map-widget.qrc + +android { + SOURCES += core/android.cpp \ + core/serial_usb_android.cpp + RESOURCES += packaging/android/translations.qrc + QT += androidextras + ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android-mobile + ANDROID_VERSION_CODE = $$BUILD_NR + ANDROID_VERSION_NAME = $$BUILD_VERSION_NAME + + DISTFILES += \ + android-build/AndroidManifest.xml \ + android-build/build.gradle \ + android-build/res/values/libs.xml + + # at link time our CWD is parallel to the install-root + LIBS += ../install-root-$${QT_ARCH}/lib/libdivecomputer.a \ + ../install-root-$${QT_ARCH}/lib/libgit2.a \ + ../install-root-$${QT_ARCH}/lib/libzip.a \ + ../install-root-$${QT_ARCH}/lib/libxslt.a \ + ../install-root-$${QT_ARCH}/lib/libxml2.a \ + ../install-root-$${QT_ARCH}/lib/libsqlite3.a \ + ../install-root-$${QT_ARCH}/lib/libssl_1_1.so \ + ../install-root-$${QT_ARCH}/lib/libcrypto_1_1.so \ + ../googlemaps-build/libqtgeoservices_googlemaps_$${QT_ARCH}.so + + # ensure that the openssl libraries are bundled into the app + ANDROID_EXTRA_LIBS += \ + ../install-root-$${QT_ARCH}/lib/libcrypto_1_1.so \ + ../install-root-$${QT_ARCH}/lib/libssl_1_1.so + + INCLUDEPATH += ../install-root-$${QT_ARCH}/include/ \ + ../install-root/lib/libzip/include \ + ../install-root-$${QT_ARCH}/include/libxstl \ + ../install-root-$${QT_ARCH}/include/libxml2 \ + ../install-root-$${QT_ARCH}/include/libexstl \ + ../install-root-$${QT_ARCH}/include/openssl \ + . \ + core \ + mobile-widgets/qml/kirigami/src/libkirigami +} + +ios { + SOURCES += core/ios.cpp + RESOURCES += packaging/ios/translations.qrc + QMAKE_IOS_DEPLOYMENT_TARGET = 10.0 + QMAKE_TARGET_BUNDLE_PREFIX = org.subsurface-divelog + QMAKE_BUNDLE = subsurface-mobile + QMAKE_INFO_PLIST = packaging/ios/Info.plist + QMAKE_ASSET_CATALOGS += packaging/ios/storeIcon.xcassets + app_launch_images.files = packaging/ios/SubsurfaceMobileLaunch.xib $$files(packaging/ios/SubsurfaceMobileLaunchImage*.png) + images.files = icons/subsurface-mobile-icon.png + QMAKE_BUNDLE_DATA += app_launch_images images + + LIBS += ../install-root/ios/lib/libdivecomputer.a \ + ../install-root/ios/lib/libgit2.a \ + ../install-root/ios/lib/libzip.a \ + ../install-root/ios/lib/libxslt.a \ + ../googlemaps/build-ios/libqtgeoservices_googlemaps.a \ + -liconv \ + -lsqlite3 \ + -lxml2 + + INCLUDEPATH += ../install-root/ios/include/ \ + ../install-root/lib/libzip/include \ + ../install-root/ios/include/libxstl \ + ../install-root/ios/include/libexstl \ + ../install-root/ios/include/openssl \ + . \ + ./core \ + ./mobile-widgets/qml/kirigami/src/libkirigami \ + /usr/include/libxml2 + +} |