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