message(" ") message(" ") message("qmake support will soon be removed from Subsurface") message("if you haven't switched to cmake, yet, please consider doing so") message("if this isn't possible for some reason, please let the mailing list know") message(" ") message(" ") message(" ") message(" ") message("you can still use qmake by removing the error statement below") message("simply edit $${PWD}/subsurface.pro") # # remove the following if you still need to use qmake # error(1) CODECFORTR = UTF-8 CODECFORSRC = UTF-8 include(subsurface-configure.pri) QT_CONFIG -= no-pkg-config QT = core gui network svg lessThan(QT_MAJOR_VERSION, 5) { QT += webkit } else { QT += printsupport concurrent !android: QT += webkitwidgets webkit android: QT += androidextras } INCLUDEPATH += qt-ui $$PWD DEPENDPATH += qt-ui mac: TARGET = Subsurface else: TARGET = subsurface QMAKE_CLEAN += $$TARGET VERSION = 4.4.2 VERSION_FILE = $$OUT_PWD/ssrf-version.h # create a blank VERSION_FILE if missing system(cat $$VERSION_FILE > /dev/null 2>&1 || touch $$VERSION_FILE) HEADERS = \ $$VERSION_FILE \ version.h \ cochran.h \ color.h \ deco.h \ device.h \ display.h \ dive.h \ divelist.h \ divesite.h \ file.h \ gettextfromc.h \ gettext.h \ helpers.h \ libdivecomputer.h \ planner.h \ save-html.h \ worldmap-save.h \ worldmap-options.h \ pref.h \ profile.h \ gaspressures.h \ qt-gui.h \ qthelper.h \ units.h \ divecomputer.h \ templatelayout.h \ printer.h \ qt-ui/about.h \ qt-ui/completionmodels.h \ qt-ui/divecomputermanagementdialog.h \ qt-ui/divelistview.h \ qt-ui/divepicturewidget.h \ qt-ui/diveplanner.h \ qt-ui/downloadfromdivecomputer.h \ qt-ui/globe.h \ qt-ui/graphicsview-common.h \ qt-ui/kmessagewidget.h \ qt-ui/maintab.h \ qt-ui/mainwindow.h \ qt-ui/modeldelegates.h \ qt-ui/models.h \ qt-ui/metrics.h \ qt-ui/preferences.h \ qt-ui/printdialog.h \ qt-ui/printlayout.h \ qt-ui/printoptions.h \ qt-ui/simplewidgets.h \ qt-ui/starwidget.h \ qt-ui/subsurfacewebservices.h \ qt-ui/tableview.h \ exif.h \ sha1.h \ statistics.h \ subsurfacestartup.h \ uemis.h \ webservice.h \ qt-ui/divelogimportdialog.h \ qt-ui/tagwidget.h \ qt-ui/groupedlineedit.h \ qt-ui/usermanual.h \ qt-ui/profile/profilewidget2.h \ qt-ui/profile/diverectitem.h \ qt-ui/profile/divepixmapitem.h \ qt-ui/profile/divelineitem.h \ qt-ui/profile/divetextitem.h \ qt-ui/profile/animationfunctions.h \ qt-ui/profile/divecartesianaxis.h \ qt-ui/profile/diveplotdatamodel.h \ qt-ui/profile/diveprofileitem.h \ qt-ui/profile/diveeventitem.h \ qt-ui/profile/divetooltipitem.h \ qt-ui/profile/ruleritem.h \ qt-ui/profile/tankitem.h \ qt-ui/updatemanager.h \ qt-ui/divelogexportdialog.h \ qt-ui/usersurvey.h \ subsurfacesysinfo.h \ qt-ui/configuredivecomputerdialog.h \ configuredivecomputer.h \ configuredivecomputerthreads.h \ devicedetails.h \ datatrak.h \ qt-ui/statistics/monthstatistics.h \ qt-ui/statistics/statisticswidget.h \ qt-ui/statistics/statisticsbar.h \ qt-ui/statistics/yearstatistics.h \ qt-ui/diveshareexportdialog.h \ qt-ui/filtermodels.h \ qt-ui/undocommands.h \ qt-ui/notificationwidget.h android: HEADERS -= \ qt-ui/usermanual.h \ qt-ui/printdialog.h \ qt-ui/printlayout.h \ qt-ui/printoptions.h SOURCES = \ version.c \ cochran.c \ datatrak.c \ deco.c \ device.c \ dive.c \ divelist.c \ divesite.c \ equipment.c \ file.c \ gettextfromc.cpp \ git-access.c \ libdivecomputer.c \ liquivision.c \ load-git.c \ main.cpp \ membuffer.c \ parse-xml.c \ planner.c \ profile.c \ gaspressures.c \ divecomputer.cpp \ templatelayout.cpp \ printer.cpp \ worldmap-save.c \ save-html.c \ qt-gui.cpp \ qthelper.cpp \ qt-ui/about.cpp \ qt-ui/completionmodels.cpp \ qt-ui/divecomputermanagementdialog.cpp \ qt-ui/divelistview.cpp \ qt-ui/divepicturewidget.cpp \ qt-ui/diveplanner.cpp \ qt-ui/downloadfromdivecomputer.cpp \ qt-ui/globe.cpp \ qt-ui/graphicsview-common.cpp \ qt-ui/kmessagewidget.cpp \ qt-ui/maintab.cpp \ qt-ui/mainwindow.cpp \ qt-ui/modeldelegates.cpp \ qt-ui/models.cpp \ qt-ui/metrics.cpp \ qt-ui/preferences.cpp \ qt-ui/printdialog.cpp \ qt-ui/printlayout.cpp \ qt-ui/printoptions.cpp \ qt-ui/simplewidgets.cpp \ qt-ui/starwidget.cpp \ qt-ui/subsurfacewebservices.cpp \ qt-ui/tableview.cpp \ exif.cpp \ save-git.c \ save-xml.c \ sha1.c \ statistics.c \ strtod.c \ subsurfacestartup.c \ time.c \ uemis.c \ uemis-downloader.c \ qt-ui/divelogimportdialog.cpp \ qt-ui/tagwidget.cpp \ qt-ui/groupedlineedit.cpp \ qt-ui/usermanual.cpp \ qt-ui/profile/profilewidget2.cpp \ qt-ui/profile/diverectitem.cpp \ qt-ui/profile/divepixmapitem.cpp \ qt-ui/profile/divelineitem.cpp \ qt-ui/profile/divetextitem.cpp \ qt-ui/profile/animationfunctions.cpp \ qt-ui/profile/divecartesianaxis.cpp \ qt-ui/profile/diveplotdatamodel.cpp \ qt-ui/profile/diveprofileitem.cpp \ qt-ui/profile/diveeventitem.cpp \ qt-ui/profile/divetooltipitem.cpp \ qt-ui/profile/ruleritem.cpp \ qt-ui/profile/tankitem.cpp \ qt-ui/updatemanager.cpp \ qt-ui/divelogexportdialog.cpp \ qt-ui/usersurvey.cpp \ subsurfacesysinfo.cpp \ qt-ui/configuredivecomputerdialog.cpp \ configuredivecomputer.cpp \ configuredivecomputerthreads.cpp \ devicedetails.cpp \ qt-ui/statistics/statisticswidget.cpp \ qt-ui/statistics/yearstatistics.cpp \ qt-ui/statistics/statisticsbar.cpp \ qt-ui/statistics/monthstatistics.cpp \ qt-ui/diveshareexportdialog.cpp \ qt-ui/filtermodels.cpp \ qt-ui/undocommands.cpp \ qt-ui/notificationwidget.cpp \ ostctools.c android: SOURCES += android.cpp else: win32: SOURCES += windows.c else: mac: SOURCES += macos.c else: SOURCES += linux.c # All other Unix, really android: SOURCES -= \ qt-ui/usermanual.cpp \ qt-ui/printdialog.cpp \ qt-ui/printlayout.cpp \ qt-ui/printoptions.cpp FORMS = \ qt-ui/about.ui \ qt-ui/divecomputermanagementdialog.ui \ qt-ui/diveplanner.ui \ qt-ui/downloadfromdivecomputer.ui \ qt-ui/maintab.ui \ qt-ui/mainwindow.ui \ qt-ui/preferences.ui \ qt-ui/printoptions.ui \ qt-ui/renumber.ui \ qt-ui/setpoint.ui \ qt-ui/shifttimes.ui \ qt-ui/shiftimagetimes.ui \ qt-ui/webservices.ui \ qt-ui/tableview.ui \ qt-ui/divelogimportdialog.ui \ qt-ui/searchbar.ui \ qt-ui/divelogexportdialog.ui \ qt-ui/plannerSettings.ui \ qt-ui/usersurvey.ui \ qt-ui/divecomponentselection.ui \ qt-ui/configuredivecomputerdialog.ui \ qt-ui/listfilter.ui \ qt-ui/diveshareexportdialog.ui \ qt-ui/filterwidget.ui \ qt-ui/plannerDetails.ui \ qt-ui/urldialog.ui \ qt-ui/locationInformation.ui # Nether usermanual or printing is supported on android right now android: FORMS -= qt-ui/printoptions.ui greaterThan(QT_MAJOR_VERSION, 4) { FORMS += qt-ui/socialnetworksdialog.ui SOURCES += qt-ui/socialnetworks.cpp HEADERS += qt-ui/socialnetworks.h DEFINES += FBSUPPORT } RESOURCES = subsurface.qrc TRANSLATIONS = \ translations/subsurface_source.ts \ translations/subsurface_bg_BG.ts \ translations/subsurface_cs.ts \ translations/subsurface_da_DK.ts \ translations/subsurface_de_CH.ts \ translations/subsurface_de_DE.ts \ translations/subsurface_en_GB.ts \ translations/subsurface_es_ES.ts \ translations/subsurface_et_EE.ts \ translations/subsurface_fi_FI.ts \ translations/subsurface_fr_FR.ts \ translations/subsurface_it_IT.ts \ translations/subsurface_lv_LV.ts \ translations/subsurface_nb_NO.ts \ translations/subsurface_nl_NL.ts \ translations/subsurface_pl_PL.ts \ translations/subsurface_pt_BR.ts \ translations/subsurface_pt_PT.ts \ translations/subsurface_ru_RU.ts \ translations/subsurface_sk_SK.ts \ translations/subsurface_sv_SE.ts \ translations/subsurface_tr.ts \ translations/subsurface_zh_TW.ts # disabled translations as they are below 50%: # translations/subsurface_el_GR.ts \ # translations/subsurface_he.ts \ # translations/subsurface_hu.ts \ # translations/subsurface_ro_RO.ts \ QTTRANSLATIONS = \ qt_da.qm \ qt_de.qm \ qt_es.qm \ qt_fr.qm \ qt_he.qm \ qt_hu.qm \ qt_pl.qm \ qt_pt.qm \ qt_ru.qm \ qt_sk.qm \ qt_sv.qm \ qt_zh_TW.qm greaterThan(QT_MAJOR_VERSION, 4) { QTRANSLATIONS += \ qtbase_de.qm \ qt_fi.qm \ qtbase_fi.qm \ qtbase_hu.qm \ qtbase_ru.qm \ qtbase_sk.qm } USERMANUALS = \ user-manual.html \ user-manual_es.html \ user-manual_fr.html \ user-manual_ru.html doc.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/Documentation || $(MKDIR) $$OUT_PWD/Documentation $$escape_expand(\\n\\t)$(MAKE) -C $$PWD/Documentation OUT=$$OUT_PWD/Documentation/ doc all.depends += usermanual usermanual.depends += doc usermanual.target = $$OUT_PWD/Documentation/user-manual.html QMAKE_EXTRA_TARGETS += doc usermanual all # add the generated user manual HTML files to the list of files to remove # when running make clean for(MANUAL,USERMANUALS) QMAKE_CLEAN += $$OUT_PWD/Documentation/$$MANUAL marbledata.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/marbledata || $(COPY_DIR) $$PWD/marbledata $$OUT_PWD all.depends += marbledata QMAKE_EXTRA_TARGETS += marbledata theme.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/theme || $(COPY_DIR) $$PWD/theme $$OUT_PWD all.depends += theme QMAKE_EXTRA_TARGETS += theme android { android.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/android || $(COPY_DIR) $$PWD/android $$OUT_PWD all.depends += android QMAKE_EXTRA_TARGETS += android } DESKTOP_FILE = subsurface.desktop mac: ICON = packaging/macosx/Subsurface.icns else: ICON = subsurface-icon.svg MANPAGE = subsurface.1 XSLT_FILES = xslt ICONS_FILES = icons DOC_FILES = Documentation/images README ReleaseNotes/ReleaseNotes.txt SupportedDivecomputers.txt for(MANUAL,USERMANUALS) DOC_FILES += $$OUT_PWD/Documentation/$$MANUAL THEME_FILES = theme MARBLEDIR = marbledata/maps marbledata/bitmaps #DEPLOYMENT_PLUGIN += bearer/qnativewifibearer DEPLOYMENT_PLUGIN += codecs/qcncodecs codecs/qjpcodecs codecs/qkrcodecs codecs/qtwcodecs DEPLOYMENT_PLUGIN += imageformats/qgif imageformats/qjpeg imageformats/qsvg DEPLOYMENT_PLUGIN += iconengines/qsvgicon #DEPLOYMENT_PLUGIN += sqldrivers/qsqlite # This information will go into the Windows .rc file and linked into the .exe QMAKE_TARGET_COMPANY = Subsurface Team QMAKE_TARGET_DESCRIPTION = Subsurface Dive Log QMAKE_TARGET_COPYRIGHT = Linus Torvalds, Dirk Hohndel, Tomaz Canabrava and others # And this is the Mac Info.plist file # qmake automatically generates sed rules to replace: # token qmake expansion # @ICON@ $$ICON # @TYPEINFO@ first 4 chars of $$QMAKE_PKGINFO_TYPEINFO # @EXECUTABLE@ $$QMAKE_ORIG_TARGET # @LIBRARY@ $$QMAKE_ORIG_TARGET # @SHORT_VERSION@ $$VER_MAJ.$$VER_MIN QMAKE_INFO_PLIST = packaging/macosx/Info.plist.in OTHER_FILES += $$DESKTOPFILE $$ICON $$MANPAGE $$XSLT_FILES $$DOC_FILES $$MARBLEDIR \ $$QMAKE_INFO_PLIST include(subsurface-gen-version.pri) include(subsurface-install.pri) # to debug planner issues #QMAKE_CFLAGS += -DDEBUG_PLAN=31 #QMAKE_CXXFLAGS += -DDEBUG_PLAN=31 # to build debuggable binaries on Windows, you need something like this #QMAKE_CFLAGS_RELEASE=$$QMAKE_CFLAGS_DEBUG -O0 -g #QMAKE_CXXFLAGS_RELEASE=$$QMAKE_CXXFLAGS_DEBUG -O0 -g QMAKE_CXXFLAGS += $$(CXXFLAGS) QMAKE_CFLAGS += $$(CFLAGS) QMAKE_LFLAGS += $$(LDFLAGS) QMAKE_CPPFLAGS += $$(CPPFLAGS)