monero-gui/monero-wallet-gui.pro

304 lines
8.3 KiB
Prolog
Raw Normal View History

2014-07-07 17:08:30 +00:00
TEMPLATE = app
QT += qml quick widgets
WALLET_ROOT=$$PWD/monero
2016-05-17 13:03:59 +00:00
CONFIG += c++11
2016-02-23 15:59:26 +00:00
# cleaning "auto-generated" bitmonero directory on "make distclean"
QMAKE_DISTCLEAN += -r $$WALLET_ROOT
2017-01-12 19:53:27 +00:00
INCLUDEPATH += $$WALLET_ROOT/include \
$$PWD/src/libwalletqt \
$$PWD/src/QR-Code-generator \
2017-01-01 04:55:49 +00:00
$$PWD/src \
$$WALLET_ROOT/src
2016-05-17 13:03:59 +00:00
HEADERS += \
filter.h \
clipboardAdapter.h \
2016-02-23 15:59:26 +00:00
oscursor.h \
2016-06-03 14:30:19 +00:00
src/libwalletqt/WalletManager.h \
2016-06-08 10:53:24 +00:00
src/libwalletqt/Wallet.h \
src/libwalletqt/PendingTransaction.h \
src/libwalletqt/TransactionHistory.h \
src/libwalletqt/TransactionInfo.h \
src/libwalletqt/QRCodeImageProvider.h \
2016-12-03 11:06:57 +00:00
src/libwalletqt/Transfer.h \
oshelper.h \
TranslationManager.h \
2016-10-07 20:05:51 +00:00
src/model/TransactionHistoryModel.h \
src/model/TransactionHistorySortFilterModel.h \
src/QR-Code-generator/BitBuffer.hpp \
src/QR-Code-generator/QrCode.hpp \
2016-11-25 20:08:39 +00:00
src/QR-Code-generator/QrSegment.hpp \
2016-12-10 01:01:04 +00:00
src/daemon/DaemonManager.h \
src/model/AddressBookModel.h \
2016-12-15 23:47:53 +00:00
src/libwalletqt/AddressBook.h \
2017-01-12 19:53:27 +00:00
src/zxcvbn-c/zxcvbn.h \
src/libwalletqt/UnsignedTransaction.h
2014-07-07 17:08:30 +00:00
SOURCES += main.cpp \
filter.cpp \
clipboardAdapter.cpp \
2016-02-23 15:59:26 +00:00
oscursor.cpp \
2016-06-03 14:30:19 +00:00
src/libwalletqt/WalletManager.cpp \
2016-06-08 10:53:24 +00:00
src/libwalletqt/Wallet.cpp \
src/libwalletqt/PendingTransaction.cpp \
src/libwalletqt/TransactionHistory.cpp \
src/libwalletqt/TransactionInfo.cpp \
src/libwalletqt/QRCodeImageProvider.cpp \
oshelper.cpp \
TranslationManager.cpp \
2016-10-07 20:05:51 +00:00
src/model/TransactionHistoryModel.cpp \
src/model/TransactionHistorySortFilterModel.cpp \
src/QR-Code-generator/BitBuffer.cpp \
src/QR-Code-generator/QrCode.cpp \
2016-11-25 20:08:39 +00:00
src/QR-Code-generator/QrSegment.cpp \
2016-12-10 01:01:04 +00:00
src/daemon/DaemonManager.cpp \
src/model/AddressBookModel.cpp \
2016-12-15 23:47:53 +00:00
src/libwalletqt/AddressBook.cpp \
2017-01-12 19:53:27 +00:00
src/zxcvbn-c/zxcvbn.c \
src/libwalletqt/UnsignedTransaction.cpp
2014-07-07 17:08:30 +00:00
2016-01-29 19:01:52 +00:00
lupdate_only {
SOURCES = *.qml \
components/*.qml \
pages/*.qml \
wizard/*.qml \
wizard/*js
2016-01-29 19:01:52 +00:00
}
LIBS += -L$$WALLET_ROOT/lib \
2016-09-03 10:06:44 +00:00
-lwallet_merged \
2017-01-22 20:00:34 +00:00
$$WALLET_ROOT/build/release/contrib/epee/src/libepee.a \
2016-09-03 10:06:44 +00:00
-lunbound
2016-07-04 15:17:26 +00:00
# currently we only support x86 build as qt.io only provides prebuilt qt for x86 mingw
2016-07-04 15:17:26 +00:00
win32 {
2016-12-13 20:57:14 +00:00
# Win64 Host settings
contains(QMAKE_HOST.arch, x86_64) {
message("Host is 64bit")
MSYS_PATH=c:/msys64/mingw32
2016-12-13 20:57:14 +00:00
# boost root path
2016-12-14 17:53:32 +00:00
BOOST_PATH=c:/msys64/mingw64/boost
2016-12-13 20:57:14 +00:00
# WIN32 Host settings
} else {
message("Host is 32bit")
MSYS_PATH=c:/msys32/mingw32
2016-12-13 20:57:14 +00:00
# boost root path
2016-12-18 13:07:02 +00:00
BOOST_PATH=c:/msys32/mingw32/boost
2016-12-04 19:03:24 +00:00
}
LIBS+=-L$$MSYS_PATH/lib
2016-12-04 19:03:24 +00:00
LIBS+=-L$$BOOST_PATH/lib
2016-12-13 20:57:14 +00:00
2016-07-04 15:17:26 +00:00
LIBS+= \
-Wl,-Bstatic \
2016-12-04 19:03:24 +00:00
-lboost_serialization-mt-s \
-lboost_thread-mt-s \
-lboost_system-mt-s \
-lboost_date_time-mt-s \
-lboost_filesystem-mt-s \
-lboost_regex-mt-s \
-lboost_chrono-mt-s \
-lboost_program_options-mt-s \
2016-07-04 15:17:26 +00:00
-lssl \
-lcrypto \
-Wl,-Bdynamic \
-lws2_32 \
-lwsock32 \
-lIphlpapi \
-lgdi32
2016-12-13 20:57:14 +00:00
!contains(QMAKE_TARGET.arch, x86_64) {
message("Target is 32bit")
## Windows x86 (32bit) specific build here
## there's 2Mb stack in libwallet allocated internally, so we set stack=4Mb
## this fixes app crash for x86 Windows build
QMAKE_LFLAGS += -Wl,--stack,4194304
} else {
message("Target is 64bit")
}
2016-07-04 15:17:26 +00:00
}
linux {
CONFIG(static) {
message("using static libraries")
LIBS+= -Wl,-Bstatic
}
2016-07-04 15:17:26 +00:00
LIBS+= \
-lboost_serialization \
-lboost_thread \
-lboost_system \
-lboost_date_time \
-lboost_filesystem \
2016-07-04 15:17:26 +00:00
-lboost_regex \
-lboost_chrono \
-lboost_program_options \
-lssl \
-lcrypto \
-Wl,-Bdynamic \
-ldl
# currently monero has an issue with "static" build and linunwind-dev,
# so we link libunwind-dev only for non-Ubuntu distros
CONFIG(libunwind_off) {
message(Building without libunwind)
} else {
message(Building with libunwind)
LIBS += -Wl,-Bdynamic -lunwind
}
2016-12-22 17:23:25 +00:00
QMAKE_LFLAGS_RPATH=
QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/libs\'"
2016-07-04 15:17:26 +00:00
}
macx {
# mixing static and shared libs are not supported on mac
# CONFIG(static) {
# message("using static libraries")
# LIBS+= -Wl,-Bstatic
# }
LIBS+= \
-L/usr/local/lib \
-L/usr/local/opt/openssl/lib \
-L/usr/local/opt/boost/lib \
-lboost_serialization \
2016-07-21 13:29:37 +00:00
-lboost_thread-mt \
-lboost_system \
-lboost_date_time \
-lboost_filesystem \
-lboost_regex \
-lboost_chrono \
-lboost_program_options \
-lssl \
-lcrypto \
-ldl
}
2016-07-27 19:32:33 +00:00
# translation stuff
TRANSLATIONS = \ # English is default language, no explicit translation file
$$PWD/translations/monero-core_ar.ts \ # Arabic
2016-07-27 19:32:33 +00:00
$$PWD/translations/monero-core_de.ts \ # Deutsch
$$PWD/translations/monero-core_es.ts \ # Spanish
$$PWD/translations/monero-core_fr.ts \ # French
$$PWD/translations/monero-core_hr.ts \ # Croatian
$$PWD/translations/monero-core_in.ts \ # Hindi
2016-07-27 19:32:33 +00:00
$$PWD/translations/monero-core_it.ts \ # Italian
$$PWD/translations/monero-core_ja.ts \ # Japanese
2016-07-27 19:32:33 +00:00
$$PWD/translations/monero-core_pl.ts \ # Polish
$$PWD/translations/monero-core_ru.ts \ # Russian
$$PWD/translations/monero-core_zh.ts \ # Chineese
2016-07-27 19:32:33 +00:00
CONFIG(release, debug|release) {
2016-08-03 12:59:42 +00:00
DESTDIR = release/bin
2016-07-27 19:32:33 +00:00
LANGUPD_OPTIONS = -locations relative -no-ui-lines
LANGREL_OPTIONS = -compress -nounfinished -removeidentical
} else {
2016-08-03 12:59:42 +00:00
DESTDIR = debug/bin
2016-07-27 19:32:33 +00:00
LANGUPD_OPTIONS =
LANGREL_OPTIONS = -markuntranslated "MISS_TR "
}
2016-07-27 19:32:33 +00:00
TARGET_FULL_PATH = $$OUT_PWD/$$DESTDIR
2016-08-03 12:59:42 +00:00
TRANSLATION_TARGET_DIR = $$TARGET_FULL_PATH/translations
2016-07-27 19:32:33 +00:00
macx {
TARGET_FULL_PATH = $$sprintf("%1/%2/%3.app", $$OUT_PWD, $$DESTDIR, $$TARGET)
2016-08-03 12:59:42 +00:00
TRANSLATION_TARGET_DIR = $$TARGET_FULL_PATH/Contents/Resources/translations
2016-07-27 19:32:33 +00:00
}
2016-08-03 12:59:42 +00:00
2016-01-29 19:01:52 +00:00
2016-07-27 19:32:33 +00:00
isEmpty(QMAKE_LUPDATE) {
win32:LANGUPD = $$[QT_INSTALL_BINS]\lupdate.exe
else:LANGUPD = $$[QT_INSTALL_BINS]/lupdate
}
2016-07-27 19:32:33 +00:00
isEmpty(QMAKE_LRELEASE) {
win32:LANGREL = $$[QT_INSTALL_BINS]\lrelease.exe
else:LANGREL = $$[QT_INSTALL_BINS]/lrelease
}
2016-07-27 19:32:33 +00:00
langupd.command = \
$$LANGUPD $$LANGUPD_OPTIONS $$shell_path($$_PRO_FILE) -ts $$_PRO_FILE_PWD/$$TRANSLATIONS
2016-07-27 19:32:33 +00:00
langrel.depends = langupd
langrel.input = TRANSLATIONS
langrel.output = $$TRANSLATION_TARGET_DIR/${QMAKE_FILE_BASE}.qm
langrel.commands = \
$$LANGREL $$LANGREL_OPTIONS ${QMAKE_FILE_IN} -qm $$TRANSLATION_TARGET_DIR/${QMAKE_FILE_BASE}.qm
langrel.CONFIG += no_link
2016-08-04 10:56:49 +00:00
QMAKE_EXTRA_TARGETS += langupd deploy deploy_win
2016-07-27 19:32:33 +00:00
QMAKE_EXTRA_COMPILERS += langrel
# Update: no issues with the "slow link process" anymore,
# for development, just build debug version of libwallet_merged lib
# by invoking 'get_libwallet_api.sh Debug'
# so we update translations everytime even for debug build
PRE_TARGETDEPS += langupd compiler_langrel_make_all
2014-07-07 17:08:30 +00:00
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Default rules for deployment.
include(deployment.pri)
2016-07-27 19:32:33 +00:00
macx {
2016-07-27 20:17:21 +00:00
deploy.commands += macdeployqt $$sprintf("%1/%2/%3.app", $$OUT_PWD, $$DESTDIR, $$TARGET) -qmldir=$$PWD
2016-07-27 19:32:33 +00:00
}
win32 {
2016-10-11 15:58:58 +00:00
deploy.commands += windeployqt $$sprintf("%1/%2/%3.exe", $$OUT_PWD, $$DESTDIR, $$TARGET) -release -qmldir=$$PWD
2016-12-13 20:57:14 +00:00
# Win64 msys2 deploy settings
contains(QMAKE_HOST.arch, x86_64) {
deploy.commands += $$escape_expand(\n\t) $$PWD/windeploy_helper.sh $$DESTDIR
}
2016-07-27 19:32:33 +00:00
}
2017-01-01 04:55:49 +00:00
linux:!android {
2016-12-20 15:44:01 +00:00
deploy.commands += $$escape_expand(\n\t) $$PWD/linuxdeploy_helper.sh $$DESTDIR $$TARGET
}
2017-01-01 04:55:49 +00:00
android{
deploy.commands += make install INSTALL_ROOT=$$DESTDIR && androiddeployqt --input android-libmonero-wallet-gui.so-deployment-settings.json --output $$DESTDIR --deployment bundled --android-platform android-21 --jdk /usr/lib/jvm/java-8-openjdk-amd64 -qmldir=$$PWD
}
2014-07-07 17:08:30 +00:00
2016-02-06 16:19:54 +00:00
OTHER_FILES += \
.gitignore \
$$TRANSLATIONS
2016-02-23 15:59:26 +00:00
DISTFILES += \
2017-01-12 19:53:27 +00:00
notes.txt \
monero/src/wallet/CMakeLists.txt
2016-08-04 11:16:38 +00:00
2016-08-04 11:52:33 +00:00
# windows application icon
2016-08-04 11:16:38 +00:00
RC_FILE = monero-core.rc
2016-08-04 11:52:33 +00:00
# mac application icon
ICON = $$PWD/images/appicon.icns