Files
sqlitebrowser/src/src.pro
Martin Kleusberg d1621e31b8 Fix qmake build
2019-05-07 22:17:27 +02:00

287 lines
7.9 KiB
Prolog

TEMPLATE = app
QT += core gui network widgets printsupport concurrent xml
macx: QT += opengl
TARGET = sqlitebrowser
CONFIG += debug_and_release
CONFIG += qt
CONFIG += warn_on
QMAKE_CXXFLAGS += -std=c++11
# create a unittest option
CONFIG(unittest) {
QT += testlib
HEADERS += tests/testsqlobjects.h tests/TestImport.h tests/TestRegex.h tests/TestRowCache.h
SOURCES += tests/testsqlobjects.cpp tests/TestImport.cpp tests/TestRegex.cpp tests/TestRowCache.cpp
} else {
SOURCES += main.cpp
}
HEADERS += \
sqlitedb.h \
MainWindow.h \
EditIndexDialog.h \
AboutDialog.h \
EditTableDialog.h \
AddRecordDialog.h \
Settings.h \
PreferencesDialog.h \
EditDialog.h \
ExportDataDialog.h \
ImportCsvDialog.h \
sqltextedit.h \
sql/sqlitetypes.h \
csvparser.h \
ExtendedTableWidget.h \
grammar/Sqlite3Lexer.hpp \
grammar/Sqlite3Parser.hpp \
grammar/sqlite3TokenTypes.hpp \
sqlitetablemodel.h \
RowCache.h \
RowLoader.h \
FilterTableHeader.h \
version.h \
SqlExecutionArea.h \
VacuumDialog.h \
DbStructureModel.h \
Application.h \
sqlite.h \
CipherDialog.h \
ExportSqlDialog.h \
SqlUiLexer.h \
FileDialog.h \
ColumnDisplayFormatDialog.h \
FilterLineEdit.h \
RemoteDatabase.h \
ForeignKeyEditorDelegate.h \
PlotDock.h \
RemoteDock.h \
RemoteModel.h \
RemotePushDialog.h \
docktextedit.h \
FindReplaceDialog.h \
ExtendedScintilla.h \
FileExtensionManager.h \
CondFormatManager.h \
Data.h \
CipherSettings.h \
DotenvFormat.h \
Palette.h \
CondFormat.h \
sql/Query.h \
RunSql.h \
sql/ObjectIdentifier.h
SOURCES += \
sqlitedb.cpp \
MainWindow.cpp \
EditIndexDialog.cpp \
EditTableDialog.cpp \
AddRecordDialog.cpp \
Settings.cpp \
PreferencesDialog.cpp \
AboutDialog.cpp \
EditDialog.cpp \
ExportDataDialog.cpp \
ImportCsvDialog.cpp \
sqltextedit.cpp \
sql/sqlitetypes.cpp \
csvparser.cpp \
ExtendedTableWidget.cpp \
grammar/Sqlite3Lexer.cpp \
grammar/Sqlite3Parser.cpp \
sqlitetablemodel.cpp \
RowLoader.cpp \
FilterTableHeader.cpp \
SqlExecutionArea.cpp \
VacuumDialog.cpp \
DbStructureModel.cpp \
Application.cpp \
CipherDialog.cpp \
ExportSqlDialog.cpp \
SqlUiLexer.cpp \
FileDialog.cpp \
ColumnDisplayFormatDialog.cpp \
FilterLineEdit.cpp \
RemoteDatabase.cpp \
ForeignKeyEditorDelegate.cpp \
PlotDock.cpp \
RemoteDock.cpp \
RemoteModel.cpp \
RemotePushDialog.cpp \
docktextedit.cpp \
FindReplaceDialog.cpp \
ExtendedScintilla.cpp \
FileExtensionManager.cpp \
CondFormatManager.cpp \
Data.cpp \
CipherSettings.cpp \
DotenvFormat.cpp \
Palette.cpp \
CondFormat.cpp \
sql/Query.cpp \
RunSql.cpp \
sql/ObjectIdentifier.cpp
RESOURCES += icons/icons.qrc \
translations/flags/flags.qrc \
translations/translations.qrc \
certs/CaCerts.qrc \
qdarkstyle/style.qrc
FORMS += \
MainWindow.ui \
EditIndexDialog.ui \
AboutDialog.ui \
EditTableDialog.ui \
AddRecordDialog.ui \
PreferencesDialog.ui \
EditDialog.ui \
ExportDataDialog.ui \
ImportCsvDialog.ui \
SqlExecutionArea.ui \
VacuumDialog.ui \
CipherDialog.ui \
ExportSqlDialog.ui \
ColumnDisplayFormatDialog.ui \
PlotDock.ui \
RemoteDock.ui \
RemotePushDialog.ui \
FindReplaceDialog.ui \
FileExtensionManager.ui \
CondFormatManager.ui
TRANSLATIONS += \
translations/sqlb_ar_SA.ts \
translations/sqlb_cs.ts \
translations/sqlb_zh.ts \
translations/sqlb_zh_TW.ts \
translations/sqlb_de.ts \
translations/sqlb_es_ES.ts \
translations/sqlb_fr.ts \
translations/sqlb_ru.ts \
translations/sqlb_pl.ts \
translations/sqlb_pt_BR.ts \
translations/sqlb_en_GB.ts \
translations/sqlb_ko_KR.ts \
translations/sqlb_tr.ts \
translations/sqlb_uk_UA.ts \
translations/sqlb_it.ts
# SQLite / SQLCipher switch pieces
CONFIG(sqlcipher) {
QMAKE_CXXFLAGS += -DENABLE_SQLCIPHER
LIBS += -lsqlcipher
# Add the paths for Homebrew installed SQLCipher
mac {
INCLUDEPATH += /usr/local/opt/sqlcipher/include
LIBS += -L/usr/local/opt/sqlcipher/lib
}
} else {
LIBS += -lsqlite3
# Add the paths for Homebrew installed SQLite
mac {
INCLUDEPATH += /usr/local/opt/sqlite/include
LIBS += -L/usr/local/opt/sqlite/lib
}
}
LIBPATH_QHEXEDIT=$$OUT_PWD/../libs/qhexedit
LIBPATH_ANTLR=$$OUT_PWD/../libs/antlr-2.7.7
LIBPATH_QCUSTOMPLOT=$$OUT_PWD/../libs/qcustomplot-source
LIBPATH_QSCINTILLA=$$OUT_PWD/../libs/qscintilla/Qt4Qt5
LIBPATH_JSON=$$OUT_PWD/../libs/json
unix {
LIBS += -ldl
}
os2 {
RC_FILE = os2app.rc
}
win32 {
TARGET = "DB Browser for SQLite"
RC_FILE = winapp.rc
INCLUDEPATH += $$PWD
CONFIG(debug,debug|release) {
LIBPATH_QHEXEDIT = $$LIBPATH_QHEXEDIT/debug
LIBPATH_ANTLR = $$LIBPATH_ANTLR/debug
LIBPATH_QCUSTOMPLOT = $$LIBPATH_QCUSTOMPLOT/debug
LIBPATH_QSCINTILLA = $$LIBPATH_QSCINTILLA/debug
LIBPATH_JSON = $$LIBPATH_JSON/debug
}
CONFIG(release,debug|release) {
LIBPATH_QHEXEDIT = $$LIBPATH_QHEXEDIT/release
LIBPATH_ANTLR = $$LIBPATH_ANTLR/release
LIBPATH_QCUSTOMPLOT = $$LIBPATH_QCUSTOMPLOT/release
LIBPATH_QSCINTILLA = $$LIBPATH_QSCINTILLA/release
LIBPATH_JSON = $$LIBPATH_JSON/release
}
QMAKE_CXXFLAGS += -DCHECKNEWVERSION
# Added SQLite installation path variables, matching our setup guide
LIBS += -L$$PWD/../../../dev/SQLite/ -lsqlite3
INCLUDEPATH += $$PWD/../../../dev/SQLite
DEPENDPATH += $$PWD/../../../dev/SQLite
}
mac {
TARGET = "DB Browser for SQLite"
RC_FILE = macapp.icns
QT+= macextras
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib -framework Carbon
QMAKE_INFO_PLIST = app.plist
QMAKE_CXXFLAGS += -DCHECKNEWVERSION
}
CONFIG(all_warnings) {
QMAKE_CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion
QMAKE_CXXFLAGS += -Wnull-dereference -Wdouble-promotion -Wformat=2 -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wuseless-cast
}
UI_DIR = .ui
INCLUDEPATH += $$PWD/../libs/antlr-2.7.7 $$PWD/../libs/qhexedit/src $$PWD/../libs/qcustomplot-source $$PWD/../libs/qscintilla/Qt4Qt5 $$PWD/../libs/json $$PWD/..
LIBS += -L$$LIBPATH_QHEXEDIT -L$$LIBPATH_ANTLR -L$$LIBPATH_QCUSTOMPLOT -L$$LIBPATH_QSCINTILLA -lantlr -lqhexedit -lqcustomplot -lqscintilla2
DEPENDPATH += $$PWD/../libs/antlr-2.7.7 $$PWD/../libs/qhexedit $$PWD/../libs/qcustomplot-source $$PWD/../libs/qscintilla/Qt4Qt5 $$PWD/../libs/json
unix {
# Below, the user can specify where all generated file can be placed
# through a set of variables, being them:
#
# PREFIX -> the root directory where the files will be placed
# BINDIR -> where executables accessible by the user resides
# DATADIR -> where data files and resources should be placed
#
# The values of each variable changes between supported platforms and are describe as follow
# Default configuration for package sqlitebrowser.
# The default prefix is /usr/local
!defined(PREFIX, var): PREFIX = /usr/local
!defined(BINDIR, var): BINDIR = $$PREFIX/bin
!defined(DATADIR, var): DATADIR = $$PREFIX/share
# The executable
target.path = $$BINDIR
INSTALLS += target
# Icon
icon.path = $$DATADIR/icons/hicolor/256x256/apps/
icon.files = icons/sqlitebrowser.png
INSTALLS += icon
# Desktop metadata
desktop.path = $$DATADIR/applications/
desktop.files = ../distri/sqlitebrowser.desktop
INSTALLS += desktop
appdata.path = $$DATADIR/appdata/
appdata.files = ../distri/sqlitebrowser.desktop.appdata.xml
INSTALLS += appdata
}
# Rules for creating/updating {ts|qm}-files
include(i18n.pri)