Commit graph

462 commits

Author SHA1 Message Date
mj-xmr
15e627569b CMake: new macro - finding all headers (extract from epee) 2021-04-16 09:28:43 +02:00
mj-xmr
19ed7abdf9 Test: Enable coverage for external repositories
Add monero_enable_coverage() for reuse in case C/CXX_FLAGS are overwritten.
2021-04-01 19:50:54 +02:00
luigi1111
0f2eea0a08
Merge pull request #7435
1ac7134 Mac: Enable on ARM, by not enforcing x86_64 (mj-xmr)
2021-03-29 22:38:16 -04:00
Nathan Dorfman
2d1fa5e0ba cmake: Don't default to -march=native on OpenBSD 2021-03-24 16:43:15 -06:00
mj-xmr
430b7586f6 Warnings: add warnings as errors: 'switch' & 'return-type' 2021-03-10 17:41:55 +01:00
mj-xmr
1ac7134832 Mac: Enable on ARM, by not enforcing x86_64 2021-03-07 07:42:27 +01:00
luigi1111
1cac8e92fa
Merge pull request #7270
e767561 cmake: Use CMAKE_COMMAND. (Daniel Wyatt)
2021-03-05 13:49:31 -05:00
luigi1111
ce5800a225
Merge pull request #7346
85db173 Remove unused variables in monero codebase (Kevin Barbour)
2021-02-18 14:03:31 -05:00
Kevin Barbour
85db1734e7
Remove unused variables in monero codebase
There are quite a few variables in the code that are no longer
(or perhaps never were) in use. These were discovered by enabling
compiler warnings for unused variables and cleaning them up.

In most cases where the unused variables were the result
of a function call the call was left but the variable
assignment removed, unless it was obvious that it was
a simple getter with no side effects.
2021-02-09 08:05:05 +01:00
xiphon
c66e8d92e4 build: omit '-pie' linker flag in native non static WIN32 GCC builds 2021-01-16 19:28:05 +00:00
Daniel Wyatt
e767561ab8 cmake: Use CMAKE_COMMAND.
The cmake executable name can vary across platforms.
2021-01-02 18:19:58 -05:00
luigi1111
b8e4b69915
Merge pull request #7074
9024622 add -framework AppKit for Apple (woodser)
2020-12-19 17:18:53 -06:00
Alexander Blair
e9c053eac6
Merge pull request #6977
e59134123 Clang-tidy integrated into CMakeLists.txt (mj-xmr)
2020-12-10 17:32:56 -08:00
mj-xmr
9f502108bf Add ClangBuildAnalyzer under utils/health for analyzing build times 2020-12-08 08:05:56 +01:00
woodser
90246223c9 add -framework AppKit for Apple 2020-12-04 11:48:41 -05:00
mj-xmr
e591341237 Clang-tidy integrated into CMakeLists.txt
Can be called from the source directory with:
utils/health/clang-tidy-run.sh
2020-12-02 20:42:38 +01:00
luigi1111
7a0334742a
Merge pull request #6937
8a282f6 Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr) Add monero_add_minimal_executable and use in tests (mj-xmr)
2020-11-29 01:49:39 -06:00
luigi1111
55a39f8e67
Merge pull request #6747
12a78e5 cmake: Use job pool feature to limit concurrent jobs (00-matt)
2020-11-28 21:32:58 -06:00
mj-xmr
8a282f64c9 Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr)
Add monero_add_minimal_executable and use in tests

This is done in order not to have to relink targets, when just an .so changed, but not its interface.
2020-10-28 20:08:26 +01:00
Alexander Blair
e6108b93d7
Merge pull request #6838
7fca814a6 build: ARM - disable stack trace due to segfault in libunwind (xiphon)
2020-09-27 16:16:21 -07:00
xiphon
7fca814a67 build: ARM - disable stack trace due to segfault in libunwind 2020-09-22 14:23:35 +00:00
moneromooo-monero
0b26d380cd
link libzmq against libgssapi_krb5 if found 2020-09-17 14:51:33 +00:00
Matt Smith
12a78e5e74
cmake: Use job pool feature to limit concurrent jobs
Add two new options, MONERO_PARALLEL_COMPILE_JOBS and
MONERO_PARALLEL_LINK_JOBS to try and prevent running out of memory when
building everything.

Requires >= cmake 3.0.0, and the use of the Ninja generator.

Useful links:

* https://cmake.org/cmake/help/latest/prop_gbl/JOB_POOLS.html
* https://reviews.llvm.org/D6304
2020-08-29 16:34:42 +01:00
Alexander Blair
79e93a8af8
Merge pull request #6691
6111689cf cmake: allow custom openssl path on macOS (selsta)
2020-08-16 12:48:07 -07:00
Alexander Blair
5d850dde99
Merge pull request #6586
40b73d2a6 cmake: insert CMAKE_CURRENT_SOURCE_DIR in CMAKE_MODULE_PATH (xiphon)
2020-07-19 03:43:07 -07:00
Alexander Blair
a0d179e528
Merge pull request #6512
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-07-19 03:32:59 -07:00
Alexander Blair
7cd0d7f324
Merge pull request #6501
3843a6ab Made ccache optional (opt out) and tidied up the FindCcache.cmake (mj-xmr)
2020-07-19 03:29:26 -07:00
selsta
6111689cfa
cmake: allow custom openssl path on macOS 2020-06-25 20:31:16 +02:00
moneromooo-monero
c4b74208c7
Do not use PIE with OSS-Fuzz 2020-06-14 14:03:18 +00:00
xiphon
40b73d2a6c cmake: insert CMAKE_CURRENT_SOURCE_DIR in CMAKE_MODULE_PATH 2020-05-24 16:47:06 +00:00
Lee Clagett
a11ec4ac1d Support for supercop ASM in wallet, and benchmark for supercop 2020-05-16 10:25:17 +00:00
moneromooo-monero
cb4edc1f45
cmake: ASAN and PIE don't mix
Binaries built with both crash on startup with maybe 25% probability
2020-05-15 17:18:50 +00:00
moneromooo-monero
81773f55a4
fuzz_tests: refactor and add OSS-Fuzz compatibility 2020-05-15 17:18:27 +00:00
SomaticFanatic
5ef0607da6 Update copyright year to 2020
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
mj-xmr
3843a6aba5 Made ccache optional (opt out) and tidied up the FindCcache.cmake 2020-05-04 09:46:31 +02:00
mj-xmr
d3e77ccb59 FindCcache automatically 2020-04-22 17:17:25 +02:00
iDunk5400
78b076c7f2
Windows: enable high-entropy ASLR where available 2019-10-25 01:22:56 +02:00
iDunk5400
3816ac24f0
build: fix building on Windows due to _FORTIFY_SOURCE changes in MSYS2
Also, enable other hardening options that work on Windows with GCC 9.x
2019-10-25 01:19:26 +02:00
Riccardo Spagni
b8643752c1
Merge pull request #5549
81c2ad6d RandomX integration (Howard Chu)
2019-09-25 17:52:16 -04:00
Howard Chu
81c2ad6d5b
RandomX integration
Support RandomX PoW algorithm
2019-09-25 21:29:42 +01:00
Riccardo Spagni
1b23c05299
Merge pull request #5930
fcfa6665 Don't set ARCH_ID if it's already set (Howard Chu)
2019-09-25 15:45:56 -04:00
Howard Chu
fcfa6665a9
Don't set ARCH_ID if it's already set
Usually it's unset, but depends toolchain files set it explicitly
for cross-compiling. Don't override preset values. But make sure
it's set for all x86 / x86_64 builds, not just Linux.

Also make sure -std=c++11 is set for Darwin builds, not all
submodules were getting it consistently before.
2019-09-25 20:10:57 +01:00
moneromooo-monero
31bf2e25c5
Revert "easylogging++: ensure it finds boost headers"
This reverts commit 9a95827ea7.
2019-09-24 20:09:33 +00:00
moneromooo-monero
9a95827ea7
easylogging++: ensure it finds boost headers 2019-09-24 18:22:37 +00:00
luigi1111
cb2bb1a9b8
Merge pull request #5907
3699544 cmake: add protolib to zmq dependency libs (stoffu)
2019-09-24 10:40:44 -05:00
luigi1111
cbec75ec31
Merge pull request #5892
ab2819a depends: attempt to fix readline (iDunk5400)
2019-09-24 10:34:59 -05:00
luigi1111
353debe119
Merge pull request #5884
7de6671 Add the iwyu target to get information on unused headers (omartijn)
2019-09-24 10:28:52 -05:00
luigi1111
06bee964a8
Merge pull request #5878
f9b3f6e Removed Berkeley DB and db switching logic (JesusRami)
2019-09-24 10:10:28 -05:00
Jesus Ramirez
f9b3f6ef3b Removed Berkeley DB and db switching logic 2019-09-16 16:18:05 +02:00
luigi1111
d663e1e3db
Merge pull request #5818
f91a06c Dropping cppzmq dependency; adding some zmq utils (vtnerd)
2019-09-14 13:25:14 -05:00
stoffu
369954496b
cmake: add protolib to zmq dependency libs
Needed for Ubuntu 19.04:
https://ubuntu.pkgs.org/19.04/ubuntu-universe-amd64/libnorm-dev_1.5.8+dfsg2-1_amd64.deb.html
2019-09-11 14:04:55 +09:00
iDunk5400
ab2819a365
depends: attempt to fix readline
Make readline actually compile, and make ncurses use existing terminfo data (if available).
2019-09-07 22:02:11 +02:00
Martijn Otto
7de6671dc2
Add the iwyu target to get information on unused headers
With this change, building the iwyu target will provide information
on unused headers, which can be removed to reduce compilation times.
2019-09-05 17:27:12 +02:00
moneromooo-monero
6e46b06308
cmake: ensure PYTHON_EXECUTABLE is set 2019-08-28 15:56:32 +00:00
luigi1111
5fd91463a2
Merge pull request #5773
441f318 fix building on OpenBSD, simplify Readme section (mrme0w/The-King-of-Toasters)
2019-08-19 17:35:26 -05:00
luigi1111
6dcd57342e
Merge pull request #5679
7fb4edc cmake: fix tests generator (ston1th)
2019-08-15 17:25:47 -05:00
Mr. Me0w
441f318180 fix building on OpenBSD, simplify Readme section
Based on a patch from @mrme0w (#5569). Fixes #5770
2019-07-30 00:34:38 +10:00
luigi1111
d450c33ea4
Merge pull request #5589
cb92d5c cmake: push cmake away from boost as much as we can (moneromooo-monero)
2019-07-24 14:21:51 -05:00
luigi1111
2117d0680a
Merge pull request #5472
2e514b8 CMakeLists.txt: suggest to update all submodules if one of them is outdated (erciccione)
2019-07-24 13:53:52 -05:00
luigi1111
e8da2f35ad
Merge pull request #5451
6aa3c2f dns_checks: new helper program to check on DNSSEC lookups (moneromooo-monero)
2019-07-24 13:49:57 -05:00
Lee Clagett
f91a06c6d7 Dropping cppzmq dependency; adding some zmq utils 2019-07-22 06:37:16 +00:00
ston1th
7fb4edccdc cmake: fix tests generator
find_package(PythonInterp) needs to be called before the tests.
2019-06-20 18:53:44 +02:00
moneromooo-monero
e2848894c9
cmake: do not use -mmitigate-rop on GCC >= 9.1
It was removed, but it still accepted by the compiler, which warns
for every file
2019-06-09 09:40:47 +00:00
moneromooo-monero
cb92d5cb2c
cmake: push cmake away from boost as much as we can
Everything works better without cmake.
2019-05-30 19:38:02 +00:00
moneromooo-monero
b8b957deaa
cmake: fix incorrect hint for OPENSSL_ROOT_DIR
If you use a ; separated set of include and lib directories,
it'll detect the headers in /usr/include and the libraries
where this points to.
2019-05-06 07:38:42 +00:00
moneromooo-monero
6aa3c2f303
dns_checks: new helper program to check on DNSSEC lookups 2019-04-23 15:20:45 +00:00
erciccione
2e514b8faa
CMakeLists.txt: suggest to update all submodules if one of them is outdated 2019-04-20 15:26:05 +02:00
iDunk5400
0f52fe4c9c
Windows: work around a boost 1.70 and cmake SNAFU
Boost got upgraded to 1.70.0 in MSYS2. As a result, cmake (v3.13.4 as of this commit) can not configure boost properly, and cmake configuration fails as a result. This is a workaround as per https://gitlab.kitware.com/cmake/cmake/issues/18865
2019-04-18 19:41:14 +02:00
moneromooo-monero
9f9571aa3d
cmake: always detect python, it's neeed for some tests 2019-04-11 11:08:30 +00:00
moneromooo-monero
d6d6c46c4d
cmake: handle detecting boost using boost's own cmake files
Its version looks like 1.70.1 rather than 107000, so detect range
to know which type we're seeing
2019-03-21 11:02:02 +00:00
binaryFate
1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
TheCharlatan
5057eb1199
cmake: ARCH_ID fixes for cross compilation 2019-03-05 10:24:14 +00:00
Riccardo Spagni
5260111631
Merge pull request #5146
4a9257b4 Support docker for gitian builds (TheCharlatan)
2019-03-04 21:32:30 +02:00
Riccardo Spagni
933c701c6e
Merge pull request #5133
f0fc4064 Various speedups to depends and Travis (TheCharlatan)
2019-03-04 21:28:56 +02:00
moneromooo-monero
24d281c324
crypto: plug CNv4 JIT into cn_slow_hash
Enabled by setting the MONERO_USE_CNV4_JIT env var to 1
2019-03-04 11:56:55 +00:00
TheCharlatan
f0fc4064a0
Various speedups to depends and Travis
Further speedups to icu compilation, it is faster to run the
pre-generated configure scripts.

Ensure that the native protobuf installation only generates the required
libraries and binaries.

Disable qt compilation when running travis on windows. Qt is used for
lrelease, the travis recipe instead usese the a local installation of
lrelease.

Remove various packages and options from the travis recipe.

Update Readline to version 8.0. The previously used url 404'd sometimes,
use the official gnu ftp server instead.

Remove unused cmake config.
2019-02-23 15:34:59 +01:00
TheCharlatan
4a9257b464
Support docker for gitian builds
Building with docker is arguably easier and more familiar to most people
than either kvm, or lxc.

This commit also relaxes the back compat requirement a bit. 32 bit linux
now uses glibc version 2.0. Also, the docker shell could not handle gcc arguments
containing spaces, so the explicit '-DFELT_TYPE' declaration was dropped.

Lastly, this removes some packages from the osx descriptor.
2019-02-14 23:14:34 +01:00
luigi1111
3adac4ee2b
Merge pull request #4929
5a76933 Add glibc back compat code (TheCharlatan)
2018-12-31 15:31:01 -06:00
luigi1111
c93c638199
Merge pull request #4864
707c2f8 Remove -Werror (moneromooo-monero)
2018-12-31 15:13:59 -06:00
TheCharlatan
5a76933903 Add glibc back compat code
To ensure that the binaries compiled by gitian run across many linux
distributions, enforce 2.17 as the minimum libc version supported.
2018-12-04 02:21:06 +01:00
Dusan Klinec
2ffe53d9e6
device/trezor: webusb transport added, cmake fixes
- webusb transport based on libusb added. Provides direct access to Trezor via USB, no need for Trezor bridge.
- trezor protocol message handler improved, no recursion used. Ready for upcoming integration tests.
- libusb (for docker) bumped from v1.0.9 to v1.0.22, newer version required for webusb transport, for device enumeration.
- cmake improvements and fixes. Cmake Trezor checks are moved to a dedicated CheckTrezor.cmake file. In case of a problem Trezor is excluded from build.
- ifdefs made consistent to Ledger.
- UDP Transport enumeration disabled by default in release mode
2018-11-25 11:57:19 +01:00
moneromooo-monero
707c2f836b
Remove -Werror
It is an annoying piece of garbage
2018-11-17 13:15:03 +00:00
Riccardo Spagni
fc3768293a
Merge pull request #4796
f92682ec build: ubuntu 16 ppc build fixes (Jethro Grassie)
2018-11-16 11:11:29 +02:00
Riccardo Spagni
d0c4123034
Merge pull request #4842
37d5b8d9 CMakeLists.txt: add -ftemplate-depth=900 (moneromooo-monero)
2018-11-14 21:43:37 +02:00
stoffu
f0459abbb9
cmake: move Boost_LOCALE_LIBRARY out of ICU_LIBRARIES 2018-11-15 00:18:31 +09:00
moneromooo-monero
37d5b8d9c2
CMakeLists.txt: add -ftemplate-depth=900 2018-11-12 22:35:21 +00:00
Riccardo Spagni
4c621b13d0
Merge pull request #4760
8a7e20f8 build: older git versions don't have '-C' flag (xiphon)
2018-11-06 14:47:27 +02:00
Jethro Grassie
f92682ec0a
build: ubuntu 16 ppc build fixes 2018-11-04 13:55:00 -05:00
Dusan Klinec
29ffb6bba8
device/trezor: trezor support added 2018-11-02 21:36:39 +01:00
xiphon
8a7e20f8a5 build: older git versions don't have '-C' flag 2018-10-30 05:25:58 +00:00
Riccardo Spagni
b9a5e47490
Merge pull request #4679
7d21c9b5 CMakeLists.txt: only use libatomic when found (moneromooo-monero)
2018-10-26 22:41:03 +02:00
Riccardo Spagni
d4448e8e24
Merge pull request #4620
ad4cce93 build: fixed submodule check (xiphon)
2018-10-26 22:39:51 +02:00
Riccardo Spagni
8f9c381f86
Merge pull request #4580
938476c9 CMakeLists.txt: detect and use -pthread compiler flag (moneromooo-monero)
2018-10-26 22:34:21 +02:00
Riccardo Spagni
056a58d13f
Merge pull request #4536
fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
2018-10-26 22:20:39 +02:00
xiphon
fd62b6e79f blocks: use auto-generated .c files instead of 'LD -r -b binary' 2018-10-22 01:12:00 +03:00
moneromooo-monero
7d21c9b573
CMakeLists.txt: only use libatomic when found 2018-10-20 21:37:40 +00:00
xiphon
ad4cce930b build: fixed submodule check 2018-10-16 14:43:56 +00:00
iDunk5400
e7f24850d5
Fix Windows build after epee dependency change 2018-10-15 23:08:17 +00:00
moneromooo-monero
938476c9a5
CMakeLists.txt: detect and use -pthread compiler flag
The cmake thread detection just ain't enough to always work
2018-10-13 18:12:09 +00:00
xiphon
bf842a6a1e build: use ARCH 'native' by default, allow to configure and override it 2018-10-13 09:46:37 +00:00