]>
Commit | Line | Data |
---|---|---|
aaa1c3c4 | 1 | TEMPLATE = app |
1f2e0df8 | 2 | TARGET = |
6ccff2cb | 3 | INCLUDEPATH += src src/json src/qt |
47c6215c | 4 | DEFINES += QT_GUI |
8fe2308b | 5 | CONFIG += no_include_pwd |
5363cb05 | 6 | |
99cec89c WL |
7 | # for boost 1.37, add -mt to the boost libraries |
8 | # use: qmake BOOST_LIB_SUFFIX=-mt | |
07e28823 | 9 | # or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-4.8 |
99cec89c WL |
10 | |
11 | # Dependency library locations can be customized with BOOST_INCLUDE_PATH, | |
12 | # BOOST_LIB_PATH, BDB_INCLUDE_PATH, BDB_LIB_PATH | |
13 | # OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively | |
1d7e321c | 14 | |
36eccc51 MC |
15 | OBJECTS_DIR = build |
16 | MOC_DIR = build | |
17 | UI_DIR = build | |
18 | ||
07e28823 | 19 | # use: qmake "USE_UPNP=0" (disable by default) or "USE_UPNP=1" (enable by default) |
0aca8577 WL |
20 | # miniupnpc (http://miniupnp.free.fr/files/) must be installed |
21 | count(USE_UPNP, 1) { | |
22 | message(Building with UPNP support) | |
23 | DEFINES += USE_UPNP=$$USE_UPNP | |
24 | LIBS += -lminiupnpc | |
25 | } | |
26 | ||
9b490f71 | 27 | # use: qmake "USE_DBUS=1" |
07e28823 | 28 | contains(USE_DBUS, 1) { |
cf9195c8 | 29 | message(Building with DBUS (Freedesktop notifications) support) |
010c4fc0 | 30 | DEFINES += USE_DBUS |
cf9195c8 WL |
31 | QT += dbus |
32 | } | |
33 | ||
07e28823 WL |
34 | # use: qmake "USE_SSL=1" |
35 | contains(USE_DBUS, 1) { | |
36 | message(Building with SSL support for RPC) | |
37 | DEFINES += USE_SSL | |
38 | } | |
39 | ||
ea8440d7 WL |
40 | # for extra security against potential buffer overflows |
41 | QMAKE_CXXFLAGS += -fstack-protector | |
c87cdc91 | 42 | QMAKE_LFLAGS += -fstack-protector |
ea8440d7 | 43 | |
5363cb05 | 44 | # disable quite some warnings because bitcoin core "sins" a lot |
1d7e321c WL |
45 | QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wno-invalid-offsetof -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-char-subscripts -Wno-unused-value -Wno-sequence-point -Wno-parentheses -Wno-unknown-pragmas -Wno-switch |
46 | ||
aaa1c3c4 | 47 | # Input |
6ccff2cb | 48 | DEPENDPATH += src/qt src src json/include |
ba4081c1 WL |
49 | HEADERS += src/qt/bitcoingui.h \ |
50 | src/qt/transactiontablemodel.h \ | |
51 | src/qt/addresstablemodel.h \ | |
52 | src/qt/optionsdialog.h \ | |
53 | src/qt/sendcoinsdialog.h \ | |
3479849d | 54 | src/qt/addressbookpage.h \ |
ba4081c1 WL |
55 | src/qt/aboutdialog.h \ |
56 | src/qt/editaddressdialog.h \ | |
57 | src/qt/bitcoinaddressvalidator.h \ | |
58 | src/base58.h \ | |
59 | src/bignum.h \ | |
60 | src/util.h \ | |
61 | src/uint256.h \ | |
62 | src/serialize.h \ | |
ba4081c1 WL |
63 | src/strlcpy.h \ |
64 | src/main.h \ | |
65 | src/net.h \ | |
66 | src/key.h \ | |
67 | src/db.h \ | |
68 | src/script.h \ | |
69 | src/noui.h \ | |
70 | src/init.h \ | |
71 | src/headers.h \ | |
72 | src/irc.h \ | |
73 | src/json/json_spirit_writer_template.h \ | |
74 | src/json/json_spirit_writer.h \ | |
75 | src/json/json_spirit_value.h \ | |
76 | src/json/json_spirit_utils.h \ | |
77 | src/json/json_spirit_stream_reader.h \ | |
78 | src/json/json_spirit_reader_template.h \ | |
79 | src/json/json_spirit_reader.h \ | |
80 | src/json/json_spirit_error_position.h \ | |
81 | src/json/json_spirit.h \ | |
ba4081c1 WL |
82 | src/qt/clientmodel.h \ |
83 | src/qt/guiutil.h \ | |
84 | src/qt/transactionrecord.h \ | |
85 | src/qt/guiconstants.h \ | |
86 | src/qt/optionsmodel.h \ | |
87 | src/qt/monitoreddatamapper.h \ | |
47c6215c | 88 | src/qtui.h \ |
ba4081c1 | 89 | src/qt/transactiondesc.h \ |
f193c57a | 90 | src/qt/transactiondescdialog.h \ |
e8ef3da7 WL |
91 | src/qt/bitcoinamountfield.h \ |
92 | src/wallet.h \ | |
ceb6d4e1 WL |
93 | src/keystore.h \ |
94 | src/qt/transactionfilterproxy.h \ | |
ef079e18 | 95 | src/qt/transactionview.h \ |
8fe2308b | 96 | src/qt/walletmodel.h \ |
64c8b699 | 97 | src/bitcoinrpc.h \ |
fbaee7a8 | 98 | src/qt/overviewpage.h \ |
0b814f9e | 99 | src/qt/csvmodelwriter.h \ |
a5e6d723 WL |
100 | src/crypter.h \ |
101 | src/qt/sendcoinsentry.h \ | |
e285ffcd | 102 | src/qt/qvalidatedlineedit.h \ |
ee014e5b | 103 | src/qt/bitcoinunits.h \ |
b7bcaf94 | 104 | src/qt/qvaluecombobox.h \ |
c5aa1b13 | 105 | src/qt/askpassphrasedialog.h \ |
cf9195c8 WL |
106 | src/protocol.h \ |
107 | src/qt/notificator.h | |
c5aa1b13 | 108 | |
ba4081c1 WL |
109 | SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ |
110 | src/qt/transactiontablemodel.cpp \ | |
111 | src/qt/addresstablemodel.cpp \ | |
112 | src/qt/optionsdialog.cpp \ | |
113 | src/qt/sendcoinsdialog.cpp \ | |
3479849d | 114 | src/qt/addressbookpage.cpp \ |
ba4081c1 WL |
115 | src/qt/aboutdialog.cpp \ |
116 | src/qt/editaddressdialog.cpp \ | |
117 | src/qt/bitcoinaddressvalidator.cpp \ | |
ba4081c1 WL |
118 | src/util.cpp \ |
119 | src/script.cpp \ | |
120 | src/main.cpp \ | |
121 | src/init.cpp \ | |
ba4081c1 WL |
122 | src/net.cpp \ |
123 | src/irc.cpp \ | |
124 | src/db.cpp \ | |
125 | src/json/json_spirit_writer.cpp \ | |
126 | src/json/json_spirit_value.cpp \ | |
127 | src/json/json_spirit_reader.cpp \ | |
128 | src/qt/clientmodel.cpp \ | |
129 | src/qt/guiutil.cpp \ | |
130 | src/qt/transactionrecord.cpp \ | |
131 | src/qt/optionsmodel.cpp \ | |
132 | src/qt/monitoreddatamapper.cpp \ | |
133 | src/qt/transactiondesc.cpp \ | |
6315130e | 134 | src/qt/transactiondescdialog.cpp \ |
f193c57a | 135 | src/qt/bitcoinstrings.cpp \ |
e8ef3da7 WL |
136 | src/qt/bitcoinamountfield.cpp \ |
137 | src/wallet.cpp \ | |
ceb6d4e1 WL |
138 | src/keystore.cpp \ |
139 | src/qt/transactionfilterproxy.cpp \ | |
ef079e18 | 140 | src/qt/transactionview.cpp \ |
8fe2308b | 141 | src/qt/walletmodel.cpp \ |
64c8b699 | 142 | src/bitcoinrpc.cpp \ |
fbaee7a8 | 143 | src/qt/overviewpage.cpp \ |
0b814f9e | 144 | src/qt/csvmodelwriter.cpp \ |
a5e6d723 WL |
145 | src/crypter.cpp \ |
146 | src/qt/sendcoinsentry.cpp \ | |
e285ffcd | 147 | src/qt/qvalidatedlineedit.cpp \ |
ee014e5b | 148 | src/qt/bitcoinunits.cpp \ |
b7bcaf94 | 149 | src/qt/qvaluecombobox.cpp \ |
c5aa1b13 | 150 | src/qt/askpassphrasedialog.cpp \ |
cf9195c8 WL |
151 | src/protocol.cpp \ |
152 | src/qt/notificator.cpp | |
13740b7e WL |
153 | |
154 | RESOURCES += \ | |
ba4081c1 | 155 | src/qt/bitcoin.qrc |
df577886 WL |
156 | |
157 | FORMS += \ | |
ba4081c1 | 158 | src/qt/forms/sendcoinsdialog.ui \ |
3479849d | 159 | src/qt/forms/addressbookpage.ui \ |
ba4081c1 WL |
160 | src/qt/forms/aboutdialog.ui \ |
161 | src/qt/forms/editaddressdialog.ui \ | |
64c8b699 | 162 | src/qt/forms/transactiondescdialog.ui \ |
a5e6d723 | 163 | src/qt/forms/overviewpage.ui \ |
b7bcaf94 WL |
164 | src/qt/forms/sendcoinsentry.ui \ |
165 | src/qt/forms/askpassphrasedialog.ui | |
ab2fe68f WL |
166 | |
167 | CODECFORTR = UTF-8 | |
59020408 | 168 | |
317c7335 WL |
169 | # for lrelease/lupdate |
170 | TRANSLATIONS = src/qt/locale/bitcoin_nl.ts src/qt/locale/bitcoin_de.ts \ | |
171 | src/qt/locale/bitcoin_ru.ts | |
2c1fd3c3 | 172 | |
59020408 WL |
173 | isEmpty(QMAKE_LRELEASE) { |
174 | win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe | |
175 | else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease | |
176 | } | |
177 | isEmpty(TS_DIR):TS_DIR = src/qt/locale | |
178 | # automatically build translations, so they can be included in resource file | |
179 | TSQM.name = lrelease ${QMAKE_FILE_IN} | |
180 | TSQM.input = TRANSLATIONS | |
181 | TSQM.output = $$TS_DIR/${QMAKE_FILE_BASE}.qm | |
182 | TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} | |
183 | TSQM.CONFIG = no_link | |
184 | QMAKE_EXTRA_COMPILERS += TSQM | |
07e28823 | 185 | PRE_TARGETDEPS += compiler_TSQM_make_all |
59020408 | 186 | |
f33a43ef | 187 | # "Other files" to show in Qt Creator |
2c1fd3c3 | 188 | OTHER_FILES += \ |
f33a43ef | 189 | doc/*.rst doc/*.txt doc/README README.md |
2c1fd3c3 | 190 | |
99cec89c WL |
191 | # platform specific defaults, if not overridden on command line |
192 | isEmpty(BOOST_LIB_SUFFIX) { | |
193 | macx:BOOST_LIB_SUFFIX = -mt | |
194 | windows:BOOST_LIB_SUFFIX = -mgw44-mt-1_43 | |
195 | } | |
196 | ||
197 | isEmpty(BDB_LIB_PATH) { | |
198 | macx:BDB_LIB_PATH = /opt/local/lib/db48 | |
199 | } | |
200 | ||
201 | isEmpty(BDB_INCLUDE_PATH) { | |
202 | macx:BDB_INCLUDE_PATH = /opt/local/include/db48 | |
203 | } | |
204 | ||
205 | isEmpty(BOOST_LIB_PATH) { | |
206 | macx:BOOST_LIB_PATH = /opt/local/lib | |
207 | } | |
208 | ||
209 | isEmpty(BOOST_INCLUDE_PATH) { | |
210 | macx:BOOST_INCLUDE_PATH = /opt/local/include | |
211 | } | |
212 | ||
213 | windows:LIBS += -lws2_32 -lgdi32 | |
9b490f71 WL |
214 | windows:DEFINES += __WXMSW__ |
215 | windows:RC_FILE = src/qt/res/bitcoin-qt.rc | |
216 | ||
99cec89c | 217 | macx:DEFINES += __WXMAC_OSX__ MSG_NOSIGNAL=0 BOOST_FILESYSTEM_VERSION=3 |
2c1fd3c3 | 218 | macx:ICON = src/qt/res/icons/bitcoin.icns |
219 | macx:TARGET = "Bitcoin Qt" | |
99cec89c WL |
220 | |
221 | # Set libraries and includes at end, to use platform-defined defaults if not overridden | |
222 | INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH | |
223 | LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) | |
07e28823 | 224 | LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX |
99cec89c | 225 | LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_LIB_SUFFIX |
07e28823 WL |
226 | |
227 | system($$QMAKE_LRELEASE -silent $$_PRO_FILE_) |