Remove defunct qmake support

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-06-20 06:23:48 -07:00
parent 900071d607
commit 70d4421cd0
4 changed files with 0 additions and 853 deletions

View file

@ -1,201 +0,0 @@
#
# Global settings
#
# Set some C constructs to be diagnosed as errors:
# - calling implicit functions
# - casting from integers to pointers or vice-versa without an explicit cast
# Also turn on C99 mode with GNU extensions
*-g++*: QMAKE_CFLAGS += -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=implicit-int
# these warnings are in general just wrong and annoying - but should be
# turned on every once in a while in case they do show the occasional
# actual bug
# turns out the gcc 4.2 (as used on MacOS 10.6) doesn't have no-unused-result, yet
*-clang*: QMAKE_CFLAGS += -Wno-unused-result -Wno-pointer-sign -fno-strict-overflow
*-g++*: {
system( g++ --version | grep -e "4\\.2\\." > /dev/null ) {
QMAKE_CFLAGS += -Wno-pointer-sign -fno-strict-overflow
} else {
QMAKE_CFLAGS += -Wno-unused-result -Wno-pointer-sign -fno-strict-overflow
}
}
*-clang*: QMAKE_CFLAGS += -Wno-format-security
*-g++*: QMAKE_CXXFLAGS += -fno-strict-overflow
!win32: !mac: {
*-g++*: QMAKE_CXXFLAGS += -Wno-maybe-uninitialized
*-g++*: QMAKE_CFLAGS += -Wno-maybe-uninitialized
}
mac: QMAKE_CLAGS += -mmacosx-version-min=10.5
mac: QMAKE_CXXLAGS += -mmacosx-version-min=10.5
!win32-msvc*: QMAKE_CFLAGS += -std=gnu99
# Don't turn warnings on (but don't suppress them either)
CONFIG -= warn_on warn_off
# Turn exceptions off
!win32-msvc*: QMAKE_CXXFLAGS += -fno-exceptions
CONFIG += exceptions_off
# Check if we have pkg-config
isEmpty(PKG_CONFIG):PKG_CONFIG=pkg-config
equals($$QMAKE_HOST.os, "Windows"):NUL=NUL
else:NUL=/dev/null
PKG_CONFIG_OUT = $$system($$PKG_CONFIG --version 2> $$NUL)
!isEmpty(PKG_CONFIG_OUT) {
CONFIG += link_pkgconfig
} else {
message("pkg-config not found, no detection performed. See README for details")
}
#
# Find libdivecomputer
#
equals(LIBDCDEVEL, "1") {
# find it next to our sources
INCLUDEPATH += ../libdivecomputer/include $$OUT_PWD/../libdivecomputer/include
LIBS += ../libdivecomputer/src/.libs/libdivecomputer.a
LIBDC_LA = ../libdivecomputer/src/libdivecomputer.la
} else:!isEmpty(LIBDCDEVEL) {
# find it next to our sources
INCLUDEPATH += $$LIBDCDEVEL/include $$OUT_PWD/$$LIBDCDEVEL/include
LIBS += $$LIBDCDEVEL/src/.libs/libdivecomputer.a
LIBDC_LA = $$LIBDCDEVEL/src/libdivecomputer.la
} else:!isEmpty(CROSS_PATH):exists($${CROSS_PATH}"/lib/libdivecomputer.a"):exists($${CROSS_PATH}"/lib/libusb-1.0.a") {
LIBS += $${CROSS_PATH}"/lib/libdivecomputer.a" $${CROSS_PATH}"/lib/libusb-1.0.a"
} else:exists(/usr/local/lib/libdivecomputer.a) {
LIBS += /usr/local/lib/libdivecomputer.a
LIBDC_LA = /usr/local/lib/libdivecomputer.la
} else:exists(/usr/local/lib64/libdivecomputer.a) {
LIBS += /usr/local/lib64/libdivecomputer.a
LIBDC_LA = /usr/local/lib64/libdivecomputer.la
} else:link_pkgconfig {
# find it via pkg-config, but we need to pass the --static flag,
# so we can't use the PKGCONFIG variable.
LIBS += $$system($$PKG_CONFIG --static --libs libdivecomputer)
LIBDC_CFLAGS = $$system($$PKG_CONFIG --static --cflags libdivecomputer)
QMAKE_CFLAGS += $$LIBDC_CFLAGS
QMAKE_CXXFLAGS += $$LIBDC_CFLAGS
unset(LIBDC_CFLAGS)
}
!isEmpty(LIBDC_LA):exists($$LIBDC_LA) {
# Source the libtool .la file to get the dependent libs
LIBS += $$system(". $$LIBDC_LA && echo \$dependency_libs")
unset(LIBDC_LA)
}
#
# Find libxml2 and libxslt
#
# They come with shell scripts that contain the information we need, so we just
# run them. They also come with pkg-config files, but those are missing on
# Mac (where they are part of the XCode-supplied tools).
#
link_pkgconfig {
isEmpty(XML2_CFLAGS)|isEmpty(XML2_LIBS) {
XML2_CFLAGS = $$system($$PKG_CONFIG --cflags libxml2 2> $$NUL)
XML2_LIBS = $$system($$PKG_CONFIG --libs libxml2 2> $$NUL)
}
isEmpty(XML2_CFLAGS)|isEmpty(XML2_LIBS) {
XML2_CFLAGS = $$system($$PKG_CONFIG --cflags libxml-2.0 2> $$NUL)
XML2_LIBS = $$system($$PKG_CONFIG --libs libxml-2.0 2> $$NUL)
}
isEmpty(XSLT_CFLAGS)|isEmpty(XSLT_LIBS) {
XSLT_CFLAGS = $$system($$PKG_CONFIG --cflags libxslt 2> $$NUL)
XSLT_LIBS = $$system($$PKG_CONFIG --libs libxslt 2> $$NUL)
}
}
isEmpty(XML2_CFLAGS)|isEmpty(XML2_LIBS) {
XML2_CFLAGS = $$system(xml2-config --cflags 2>$$NUL)
XML2_LIBS = $$system(xml2-config --libs 2>$$NUL)
}
isEmpty(XSLT_CFLAGS)|isEmpty(XSLT_LIBS) {
XSLT_CFLAGS = $$system(xslt-config --cflags 2>$$NUL)
XSLT_LIBS = $$system(xslt-config --libs 2>$$NUL)
}
isEmpty(XML2_CFLAGS)|isEmpty(XML2_LIBS): \
error("Could not find libxml2. Did you forget to install it?")
isEmpty(XSLT_CFLAGS)|isEmpty(XSLT_LIBS): \
error("Could not find libxslt. Did you forget to install it?")
QMAKE_CFLAGS *= $$XML2_CFLAGS $$XSLT_CFLAGS
QMAKE_CXXFLAGS *= $$XML2_CFLAGS $$XSLT_CFLAGS
LIBS *= $$XSLT_LIBS $$XML2_LIBS
#
# Find other pkg-config-based projects
# We're searching for:
# libzip
# sqlite3
link_pkgconfig: PKGCONFIG += libzip sqlite3
isEmpty(LIBGIT2DEVEL) {
PKGCONFIG += libgit2
} else {
INCLUDEPATH += $$LIBGIT2DEVEL/include
isEmpty(LIBGIT2STATIC) {
setRpath: QMAKE_RPATHDIR += $$LIBGIT2DEVEL/build
LIBS += -L$$LIBGIT2DEVEL/build -lgit2 -lz -lcrypto
} else {
contains(LIBGIT2STATIC, "full") {
LIBS += $$LIBGIT2DEVEL/build/libgit2.a -Wl,-Bstatic -lz -lssl -lcrypto -Wl,-Bdynamic -ldl
} else {
LIBS += $$LIBGIT2DEVEL/build/libgit2.a -lz -lssl -lcrypto
}
}
}
# Add libiconv if needed
link_pkgconfig: packagesExist(libiconv): PKGCONFIG += libiconv
# disable things when were on android
contains(QMAKE_PLATFORM, android): DEFINES += NO_MARBLE NO_USERMANUAL NO_PRINTING
#
# Find libmarble
#
!isEmpty(LIBMARBLEDEVEL) {
# find it next to our sources
INCLUDEPATH += $$LIBMARBLEDEVEL/include
setRpath: QMAKE_RPATHDIR += $$LIBMARBLEDEVEL/lib
LIBS += -L$$LIBMARBLEDEVEL/lib
}
!contains(DEFINES, NO_MARBLE) {
win32: CONFIG(debug, debug|release): LIBS += -lmarblewidgetd
else: !isEmpty(SPECIAL_MARBLE_PREFIX) {
LIBS += -lssrfmarblewidget
} else {
LIBS += -lmarblewidget
}
}
libgit21-api {
DEFINES += USE_LIBGIT21_API
}
win32: console {
DEFINES += WIN32_CONSOLE_APP
}
#
# Platform-specific changes
#
win32 {
LIBS += -lwsock32
DEFINES -= UNICODE
}
mac {
LIBS += -framework CoreServices
}
#
# misc
#
!equals(V, 1): !equals(QMAKE_HOST.os, "Windows"): CONFIG += silent
MOC_DIR = .moc
UI_DIR = .uic
RCC_DIR = .rcc
OBJECTS_DIR = .obj

View file

@ -1,23 +0,0 @@
# Generate the ssrf-version.h file
macx: VER_OS = darwin
unix: !macx: VER_OS = linux
win32: VER_OS = win
# use a compiler target that has a phony input and is forced on each `make` invocation
# the resulted file is not a link target and is cleared with `make clean`
PHONY_DEPS = .
version_h.input = PHONY_DEPS
version_h.depends = FORCE
version_h.output = $$VERSION_FILE
version_h.commands = cd $$PWD && sh $$PWD/scripts/write-version $$VERSION_FILE $$VERSION $$VER_OS
silent: version_h.commands = @echo Checking $$VERSION_FILE && $$version_h.commands
version_h.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += version_h
QMAKE_CLEAN += $$VERSION_FILE
# some qmake-time variables needed by subsurface-install.pri
VERSION_SCRIPT = sh scripts/get-version
FULL_VERSION = $$system("$$VERSION_SCRIPT linux")
VERSION = $$system("$$VERSION_SCRIPT full || echo $${VERSION}")
PRODVERSION_STRING = $$system("$$VERSION_SCRIPT win $$FULL_VERSION || echo $${VERSION}.0.0-git")
VERSION_STRING = $$system("$$VERSION_SCRIPT linux $$FULL_VERSION || echo $${VERSION}-git")

View file

@ -1,206 +0,0 @@
marbledir.files = $$MARBLEDIR
doc.files = $$DOC_FILES
theme.files = $$THEME_FILES
translation.files = $$replace(TRANSLATIONS, .ts, .qm)
exists($$[QT_INSTALL_TRANSLATIONS]) {
qt_translation_dir = $$[QT_INSTALL_TRANSLATIONS]
} else: exists(/usr/share/qt5/translations) {
# On some cross-compilation environments, the translations are either missing or not
# where they're expected to be. In such cases, try copying from the system.
qt_translation_dir = /usr/share/qt5/translations
}
# Prepend the Qt translation dir so we can actually find the files
qttranslation.files =
for(translation, QTTRANSLATIONS): \
qttranslation.files += $${qt_translation_dir}/$$translation
nltab = $$escape_expand(\\n\\t)
mac {
# OS X bundling rules
# "make mac-deploy" deploys the external libs (Qt, libdivecomputer, libusb, etc.) into the bundle
# "make install" installs the bundle to /Applications
# "make mac-create-dmg" creates Subsurface.dmg
mac_bundle.path = /Applications
mac_bundle.files = Subsurface.app
mac_bundle.CONFIG += no_check_exist directory
INSTALLS += mac_bundle
install.depends += mac-deploy
datadir = Contents/Resources/share
marbledir.path = Contents/Resources/data
theme.path = Contents/Resources
doc.path = $$datadir/Documentation
translation.path = Contents/Resources/translations
qttranslation.path = Contents/Resources/translations
QMAKE_BUNDLE_DATA += marbledir doc translation qttranslation theme
mac_deploy.target = mac-deploy
mac_deploy.commands += $$[QT_INSTALL_BINS]/macdeployqt $${TARGET}.app
!isEmpty(V):mac_deploy.commands += -verbose=1
mac_dmg.target = mac-create-dmg
mac_dmg.commands = $$mac_deploy.commands -dmg
mac_dmg.commands += $${nltab}$(MOVE) $${TARGET}.dmg $${TARGET}-$${FULL_VERSION}.dmg
QMAKE_EXTRA_TARGETS += mac_deploy mac_dmg
} else: win32 {
# Windows bundling rules
# We don't have a helpful tool like macdeployqt for Windows, so we hardcode
# which libs we need.
# The only target is "make install", which copies everything into packaging/windows
WINDOWSSTAGING = $$OUT_PWD/staging
WINDOWSPACKAGING = $$PWD/packaging/windows
NSIFILE = $$WINDOWSSTAGING/subsurface.nsi
NSIINPUTFILE = $$WINDOWSPACKAGING/subsurface.nsi.in
isEmpty(MAKENSIS) MAKENSIS = /usr/bin/makensis
doc.path = $$WINDOWSSTAGING/Documentation
CONFIG -= copy_dir_files
deploy.path = $$WINDOWSSTAGING
deploy.CONFIG += no_check_exist
target.path = $$WINDOWSSTAGING
marbledir.path = $$WINDOWSSTAGING/data
theme.path = $$WINDOWSSTAGING
INSTALLS += deploy marbledir target doc theme
translation.path = $$WINDOWSSTAGING/translations
qttranslation.path = $$WINDOWSSTAGING/translations
package.files = $$PWD/gpl-2.0.txt $$WINDOWSPACKAGING/subsurface.ico
package.path = $$WINDOWSSTAGING
INSTALLS += translation qttranslation package
qt_conf.commands = echo \'[Paths]\' > $@
qt_conf.commands += $${nltab}echo \'Prefix=.\' >> $@
qt_conf.target = $$WINDOWSSTAGING/qt.conf
install.depends += qt_conf
# Plugin code
defineTest(deployPlugin) {
plugin = $$1
plugintype = $$dirname(1)
CONFIG(debug, debug|release): plugin = $${plugin}d4.dll
else: plugin = $${plugin}4.dll
abs_plugin = $$[QT_INSTALL_PLUGINS]/$$plugin
ABS_DEPLOYMENT_PLUGIN += $$abs_plugin
export(ABS_DEPLOYMENT_PLUGIN)
safe_name = $$replace(1, /, _)
INSTALLS += $$safe_name
# Work around qmake bug in Qt4 that it can't handle $${xx}.yy properly
eval(safe_name_files = $${safe_name}.files)
eval(safe_name_path = $${safe_name}.path)
$$safe_name_files = $$abs_plugin
$$safe_name_path = $$WINDOWSSTAGING/plugins/$$plugintype
export($$safe_name_files)
export($$safe_name_path)
export(INSTALLS)
}
# Convert plugin names to the relative DLL path
for(plugin, $$list($$DEPLOYMENT_PLUGIN)) {
deployPlugin($$plugin)
}
!win32-msvc* {
#!equals($$QMAKE_HOST.os, "Windows"): dlls.commands += OBJDUMP=`$$QMAKE_CC -dumpmachine`-objdump
dlls.commands += PATH=\$\$PATH:`$$QMAKE_CC -print-search-dirs | sed -nE \'/^libraries: =/{s///;s,/lib/?(:|\$\$),/bin\\1,g;p;q;}\'`
dlls.commands += perl $$PWD/scripts/win-ldd.pl
# equals(QMAKE_HOST.os, "Windows"): EXE_SUFFIX = .exe
EXE_SUFFIX = .exe
CONFIG(debug, debug|release): dlls.commands += $$OUT_PWD/debug/subsurface$$EXE_SUFFIX
else: dlls.commands += $$OUT_PWD/release/$$TARGET$$EXE_SUFFIX
dlls.commands += $$ABS_DEPLOYMENT_PLUGIN $$LIBS
dlls.commands += | while read name; do $(INSTALL_FILE) \$\$name $$WINDOWSSTAGING; done
dlls.depends += $(DESTDIR_TARGET)
nsis.commands += $(CHK_DIR_EXISTS) $$WINDOWSSTAGING;
win64target {
nsis.commands += cat $$NSIINPUTFILE | sed -e \'s/VERSIONTOKEN/$$VERSION_STRING/;s/PRODVTOKEN/$${PRODVERSION_STRING}/;s/64BITBUILDTOKEN/1 == 1/\' > $$NSIFILE
} else {
nsis.commands += cat $$NSIINPUTFILE | sed -e \'s/VERSIONTOKEN/$$VERSION_STRING/;s/PRODVTOKEN/$${PRODVERSION_STRING}/;s/64BITBUILDTOKEN/1 == 0/\' > $$NSIFILE
}
nsis.depends += $$NSIINPUTFILE
nsis.target = $$NSISFILE
#
# FIXME HACK HACK FIXME -- this is needed to create working daily builds...
#
brokenQt532win {
installer.commands += cp Qt531/*.dll staging;
}
installer.commands += $$MAKENSIS $$NSIFILE
installer.target = installer
installer.depends = nsis install
QMAKE_EXTRA_TARGETS = installer nsis
install.depends += dlls
}
} else: android {
# Android install rules
QMAKE_BUNDLE_DATA += translation qttranslation
# Android template directory
ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/android
} else {
# Linux install rules
# On Linux, we can count on packagers doing the right thing
# We just need to drop a few files here and there
# This is a fake rule just to create some rules in the target file
dummy.target = dummy-only-for-var-expansion
dummy.commands = $$escape_expand(\\n)prefix = /usr
QMAKE_EXTRA_VARIABLES = BINDIR DATADIR DOCDIR DESKTOPDIR ICONPATH ICONDIR MANDIR
BINDIR = $(prefix)/bin
DATADIR = $(prefix)/share
DOCDIR = $(EXPORT_DATADIR)/subsurface/Documentation
DESKTOPDIR = $(EXPORT_DATADIR)/applications
ICONPATH = $(EXPORT_DATADIR)/icons/hicolor
ICONDIR = $(EXPORT_ICONPATH)/scalable/apps
MANDIR = $(EXPORT_DATADIR)/man/man1
QMAKE_EXTRA_TARGETS += dummy
target.path = /$(EXPORT_BINDIR)
target.files = $$TARGET
!isEmpty(SPECIAL_MARBLE_PREFIX) {
ourmarble.path = /$(prefix)/lib
ourmarble.files = marble-build/src/lib/marble/libssrfmarblewidget.so*
}
desktop.path = /$(EXPORT_DESKTOPDIR)
desktop.files = $$DESKTOP_FILE
manpage.path = /$(EXPORT_MANDIR)
manpage.files = $$MANPAGE
icon.path = /$(EXPORT_ICONDIR)
icon.files = $$ICON
marbledir.path = /$(EXPORT_DATADIR)/subsurface/data
doc.path = /$(EXPORT_DOCDIR)
theme.path = /$(EXPORT_DATADIR)/subsurface
doc.CONFIG += no_check_exist
translation.path = /$(EXPORT_DATADIR)/subsurface/translations
translation.CONFIG += no_check_exist
INSTALLS += target desktop manpage doc marbledir translation icon theme
!isEmpty(SPECIAL_MARBLE_PREFIX) : INSTALLS += ourmarble
install.target = install
}
!isEmpty(TRANSLATIONS) {
isEmpty(QMAKE_LRELEASE) {
win32: QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
else: QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
}
isEmpty(TS_DIR):TS_DIR = translations
TSQM.input = TRANSLATIONS
TSQM.output = $$TS_DIR/${QMAKE_FILE_BASE}.qm
TSQM.CONFIG += no_link target_predeps
TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm $$TS_DIR/${QMAKE_FILE_BASE}.qm
QMAKE_EXTRA_COMPILERS += TSQM
}
QMAKE_EXTRA_TARGETS += install $$install.depends

View file

@ -1,423 +0,0 @@
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)