merge-script
94bc3c4cc0
Merge bitcoin/bitcoin#30824 : cmake: decouple FORTIFY_SOURCE
check from Debug
build type
...
CI / test each commit (push) Waiting to run
CI / macOS 13 native, x86_64, no depends, sqlite only, gui (push) Waiting to run
CI / Win64 native, VS 2022 (push) Waiting to run
CI / ASan + LSan + UBSan + integer, no depends, USDT (push) Waiting to run
30803a35d5
cmake: decouple FORTIFY_SOURCE check from Debug build type (fanquake)
Pull request description:
`FORTIFY_SOURCE` should be used if `ENABLE_HARDENING=ON` and optimisations are being used. This should not be coupled to any particular build type, because even if the build type is `Debug`, optimisations might still be in use.
Fixes : #30800 .
Also somewhat of a followup to https://github.com/bitcoin/bitcoin/pull/30778#discussion_r1742257436 .
ACKs for top commit:
ryanofsky:
Code review ACK 30803a35d5
TheCharlatan:
ACK 30803a35d5
Tree-SHA512: 298f8805a5bb2f1ff54e51ea31324d712c2070cc3eba26561c31001ace4bfa37ae6d18531cbd45e2faf610a0a1b83b420fcde6e329e17f02b021d26563583913
2024-09-09 12:33:57 +01:00
fanquake
1f054eca4e
cmake: add USE_SOURCE_PERMISSIONS to all configure_file usage
...
`USE_SOURCE_PERMISSIONS` is the default, so this should not change
behaviour. However, being explicit makes it clear what we are doing.
Related to #30815 .
See
https://cmake.org/cmake/help/latest/command/configure_file.html#options .
2024-09-06 10:52:19 +01:00
fanquake
30803a35d5
cmake: decouple FORTIFY_SOURCE check from Debug build type
...
`FORTIFY_SOURCE` should be used if `ENABLE_HARDENING=ON` and optimisations
are being used. This should not be coupled to any particular build type,
because even if the build type is `Debug`, optimisations might still
be in use.
Fixes : #30800 .
2024-09-05 16:34:17 +01:00
Hennadii Stepanov
66dd1b4e58
build: Drop no longer needed workaround
2024-08-29 14:13:48 +01:00
MarcoFalke
fa053ab7c0
build: Add Centos Stream 9 EOL URL
...
To match the format of the previous section about the Ubuntu 22.04 EOL.
2024-08-28 15:05:52 +02:00
fanquake
680f05ee98
build: fix version number post CMake
...
CMake was merged after branching-off for 28.x.
2024-08-28 11:08:37 +01:00
Hennadii Stepanov
8b6f1c4353
cmake: Add Coverage
and CoverageFuzz
scripts
2024-08-16 21:19:12 +01:00
Hennadii Stepanov
65bdbc1ff2
cmake: Add docs
build target
2024-08-16 21:19:12 +01:00
Hennadii Stepanov
fb75ebbc33
cmake: Add compiler diagnostic flags
2024-08-16 21:19:12 +01:00
Hennadii Stepanov
747adb6ffe
cmake: Add Maintenance
module
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
1f60b30df0
cmake: Add APPEND_{CPP,C,CXX,LD}FLAGS
cache variables
...
The content of those variables is appended to the each target after the
flags added by the build system.
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
973a3b0c5d
cmake: Implement install
build target
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
84ac35cfd4
cmake: Add cross-compiling support
...
To configure CMake for cross-compiling, use
`--toolchain depends/${HOST}/toolchain.cmake` command-line option.
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
90cec4d251
cmake: Add MULTIPROCESS
option
2024-08-16 21:19:10 +01:00
Hennadii Stepanov
bb1a450dcb
cmake: Build bitcoin-chainstate
executable
2024-08-16 21:19:09 +01:00
Hennadii Stepanov
aed38ea58c
cmake: Build bitcoinkernel
library
...
Co-authored-by: TheCharlatan <seb.kung@gmail.com>
2024-08-16 21:19:09 +01:00
Hennadii Stepanov
975d67369b
cmake: Build test_bitcoin-qt
executable
2024-08-16 19:28:59 +01:00
Hennadii Stepanov
10fcc668a3
cmake: Add WITH_DBUS
option
2024-08-16 19:27:42 +01:00
Hennadii Stepanov
5bb5a4bc75
cmake: Add libqrencode
optional package support
2024-08-16 19:27:42 +01:00
Hennadii Stepanov
57a6e2ef4a
cmake: Build bitcoin-qt
executable
2024-08-16 19:27:42 +01:00
Hennadii Stepanov
30f642952c
cmake: Add WERROR
option
2024-08-16 19:27:42 +01:00
Hennadii Stepanov
c98d4a4c34
cmake: Add REDUCE_EXPORTS
option
2024-08-16 19:27:42 +01:00
Hennadii Stepanov
a01cb6e63f
cmake: Add HARDENING
option
2024-08-16 19:27:42 +01:00
Hennadii Stepanov
a8a2e364ac
cmake: Add Python-based tests
2024-08-16 19:27:41 +01:00
Hennadii Stepanov
3d85379570
cmake: Add fuzzing options
2024-08-16 19:27:41 +01:00
Hennadii Stepanov
908530e312
cmake: Add SANITIZERS
option
2024-08-16 19:27:41 +01:00
Hennadii Stepanov
8bb0e85631
cmake: Build bench_bitcoin
executable
2024-08-16 19:27:41 +01:00
Hennadii Stepanov
801735163a
cmake: Add external signer support
2024-08-16 19:27:41 +01:00
Hennadii Stepanov
353e0c9e96
cmake: Add systemtap-sdt
optional package support
2024-08-16 19:27:41 +01:00
Hennadii Stepanov
d2fda82b49
cmake: Add libzmq
optional package support
2024-08-16 19:27:40 +01:00
Hennadii Stepanov
ae7b39a0e1
cmake: Add libminiupnpc
optional package support
2024-08-16 19:27:40 +01:00
Hennadii Stepanov
6480e1dcdb
cmake: Add libnatpmp
optional package support
2024-08-16 19:27:40 +01:00
Hennadii Stepanov
e73e9304a1
cmake: Build bitcoin-util
executable
2024-08-16 19:27:40 +01:00
Hennadii Stepanov
027c6d7caa
cmake: Build bitcoin-tx
executable
2024-08-16 19:27:40 +01:00
Hennadii Stepanov
d10c5c34c3
cmake: Add wallet functionality
2024-08-16 19:27:40 +01:00
Hennadii Stepanov
ab2e99b0d9
cmake: Create test suite for ctest
2024-08-16 19:27:39 +01:00
Hennadii Stepanov
959370bd76
cmake: Build test_bitcoin
executable
2024-08-16 19:27:39 +01:00
Hennadii Stepanov
b27bf9700d
cmake: Build bitcoin-cli
executable
2024-08-16 19:27:39 +01:00
Hennadii Stepanov
a9813df826
cmake: Build bitcoind
executable
2024-08-16 19:27:39 +01:00
Hennadii Stepanov
1f0a78edf3
cmake: Build minisketch
static library
2024-08-16 19:27:38 +01:00
Hennadii Stepanov
12bfbc8154
cmake: Build leveldb
static library
...
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
2024-08-16 19:27:38 +01:00
Hennadii Stepanov
51985c5304
cmake: Build crc32c
static library
2024-08-16 19:27:37 +01:00
Hennadii Stepanov
dbb7ed14e8
cmake: Add ccache
support
2024-08-16 19:27:37 +01:00
Hennadii Stepanov
cedfdf6c72
cmake: Redefine/adjust per-configuration flags
2024-08-16 19:27:37 +01:00
Hennadii Stepanov
b6b5e732c8
cmake: Add global compiler and linker flags
2024-08-16 19:27:37 +01:00
Hennadii Stepanov
35cffc497d
cmake: Add POSIX threads support
2024-08-16 19:27:36 +01:00
Hennadii Stepanov
fd72d00ffe
cmake: Add position independent code support
2024-08-16 19:27:36 +01:00
Hennadii Stepanov
07069e2bb0
cmake: Add introspection module
...
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
2024-08-16 19:27:36 +01:00
Hennadii Stepanov
27d687fc1f
cmake: Add config/bitcoin-config.h
support
2024-08-16 19:27:36 +01:00
Hennadii Stepanov
fe5cdace5f
cmake: Print compiler and linker flags in summary
2024-08-16 19:27:36 +01:00