@@ -8,6 +8,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
8
8
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE
9
9
CONFIG += no_include_pwd
10
10
CONFIG += thread
11
+ CONFIG += static
11
12
12
13
# for boost 1.37, add -mt to the boost libraries
13
14
# use: qmake BOOST_LIB_SUFFIX=-mt
@@ -16,8 +17,24 @@ CONFIG += thread
16
17
# or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-4.8
17
18
18
19
# Dependency library locations can be customized with:
20
+ # SECP_INCLUDE_PATH, SECP_LIB_PATH, GMP_INCLUDE_PATH, GMP_LIB_PATH,
19
21
# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
20
22
# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
23
+ SECP_INCLUDE_PATH =c:/deps/secp256k1
24
+ SECP_LIB_PATH =c:/deps/secp256k1/.libs
25
+ GMP_INCLUDE_PATH =c:/deps/gmp-6.0.0
26
+ GMP_LIB_PATH =c:/deps/gmp-6.0.0/.libs
27
+ BOOST_LIB_SUFFIX =-mgw49-mt-s-1_52
28
+ BOOST_INCLUDE_PATH =C:/deps/boost_1_52_0
29
+ BOOST_LIB_PATH =C:/deps/boost_1_52_0/stage/lib
30
+ BDB_INCLUDE_PATH =C:/deps/db-4.8.30.NC/build_unix
31
+ BDB_LIB_PATH =C:/deps/db-4.8.30.NC/build_unix
32
+ OPENSSL_INCLUDE_PATH =C:/deps/openssl-1.0.1j/include
33
+ OPENSSL_LIB_PATH =C:/deps/openssl-1.0.1j
34
+ MINIUPNPC_INCLUDE_PATH =C:/deps/
35
+ MINIUPNPC_LIB_PATH =C:/deps/miniupnpc
36
+ QRENCODE_INCLUDE_PATH =C:/deps/qrencode-3.4.4
37
+ QRENCODE_LIB_PATH =C:/deps/qrencode-3.4.4/.libs
21
38
22
39
OBJECTS_DIR = build
23
40
MOC_DIR = build
@@ -43,13 +60,14 @@ contains(RELEASE, 1) {
43
60
# Exclude on Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable!
44
61
# This can be enabled for Windows, when we switch to MinGW >= 4.4.x.
45
62
}
63
+
46
64
# for extra security (see: https://wiki.debian.org/Hardening): this flag is GCC compiler-specific
47
65
QMAKE_CXXFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE =2 -std =c ++0x
48
66
# QMAKE_CXXFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
49
67
# for extra security on Windows: enable ASLR and DEP via GCC linker flags
50
68
win32 :QMAKE_LFLAGS *= -Wl ,--dynamicbase -Wl ,--nxcompat
51
69
# on Windows: enable GCC large address aware linker flag
52
- win32 :QMAKE_LFLAGS *= -Wl ,--large-address-aware
70
+ win32 :QMAKE_LFLAGS *= -Wl ,--large-address-aware -static
53
71
# i686-w64-mingw32
54
72
win32 :QMAKE_LFLAGS *= -static-libgcc -static-libstdc ++
55
73
@@ -113,7 +131,7 @@ LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a
113
131
QMAKE_RANLIB = $$replace (QMAKE_STRIP , strip , ranlib )
114
132
}
115
133
LIBS += -lshlwapi
116
- genleveldb.commands = cd $$PWD /src/leveldb && CC =$$QMAKE_CC CXX =$$QMAKE_CXX TARGET_OS =OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT =\ "$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a
134
+ # genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a
117
135
}
118
136
genleveldb.target = $$PWD /src/leveldb/libleveldb.a
119
137
genleveldb.depends = FORCE
@@ -449,9 +467,10 @@ macx:QMAKE_CXXFLAGS_THREAD += -pthread
449
467
macx:QMAKE_INFO_PLIST = share/qt/Info.plist
450
468
451
469
# Set libraries and includes at end, to use platform-defined defaults if not overridden
452
- INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH
470
+ INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH $$SECP_INCLUDE_PATH $$GMP_INCLUDE_PATH
453
471
LIBS += $$join (BOOST_LIB_PATH ,,-L ,) $$join (BDB_LIB_PATH ,,-L ,) $$join (OPENSSL_LIB_PATH ,,-L ,) $$join (QRENCODE_LIB_PATH ,,-L ,)
454
- LIBS += $$join (SECP_PATH ,,-L ,) -l secp256k1
472
+ LIBS += $$join (GMP_LIB_PATH ,,-L ,)
473
+ LIBS += $$join (SECP_LIB_PATH ,,-L ,) -l secp256k1
455
474
LIBS += -lssl -lcrypto -ldb_cxx $$BDB_LIB_SUFFIX -lgmp
456
475
# -lgdi32 has to happen after -lcrypto (see #681)
457
476
win32 :LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
0 commit comments