aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-07-05connection: fix implementationanon1-0/+1
2022-04-10CMake: Add missing BUILD_SHARED_LIBS optionmj-xmr1-2/+4
2022-03-04Copyright: Update to 2022mj-xmr1-1/+1
2021-12-22cmake: enable build on riscv{64, 32}Xeonacid1-1/+13
tested on Arch Linux RISC-V.
2021-12-19Fixed warnings for Clang (used as CMAKE_CXX compiler)SerHack1-1/+1
2021-11-10cmake: fix incorrect else syntaxselsta1-1/+1
2021-10-28cmake: remove including non-existent directoryselsta1-4/+1
2021-10-04cmake: don't optimize debug buildselsta1-5/+0
2021-09-25cmake: fix copy/paste typoselsta1-1/+1
2021-09-25cmake: set cpp14 standardselsta1-1/+1
It's 2021, we can easily switch to C++14 without any troubles.
2021-09-16cmake: set required C/C++ standard to 11selsta1-7/+13
Co-authored-by: Jason Rhinelander <jason@imaginary.ca>
2021-09-15unbound: remove leftoversselsta1-16/+0
2021-09-03external: remove unbound submoduleselsta1-3/+1
2021-09-02CMake: Add missing SANITIZE optionmj-xmr1-0/+1
2021-08-11CMake: document -Werror for add_c_flag_if_supported() from #7718mj-xmr1-0/+2
2021-07-31cmake: bodge cmake failure on OSS-Fuzzmoneromooo-monero1-1/+1
2021-07-28cmake: fix double buildselsta1-17/+17
Co-authored-by: perfect-daemon
2021-07-28cmake: don't forbid undefined symbols on openbsdselsta1-1/+3
2021-07-13cmake: export all symbolsanon1-0/+12
2021-07-13cmake: fix undefined symbols and multiple definitionsanon1-0/+4
2021-07-13cmake: forbid undefined symbolsanon1-0/+46
2021-06-11CMake: strip targets (optional) with -D STRIP_TARGETS=ONmj-xmr1-1/+12
2021-05-14CMake: add *.inl to monero_find_all_headers() glob, along *.h*mj-xmr1-1/+3
2021-05-12cmake: treat warnings as error in compiler flag testsselsta1-4/+6
2021-04-27cmake: set 3.5 as minimum versionselsta1-4/+4
2021-04-27clang: fix -pie flagselsta1-1/+6
2021-04-24epee linkage dynamic; move monero_add_library to main CMakeLists.txtmj-xmr1-0/+23
2021-04-16CMake: new macro - finding all headers (extract from epee)mj-xmr1-0/+12
2021-04-01Test: Enable coverage for external repositoriesmj-xmr1-9/+17
Add monero_enable_coverage() for reuse in case C/CXX_FLAGS are overwritten.
2021-03-24cmake: Don't default to -march=native on OpenBSDNathan Dorfman1-1/+12
2021-03-10Warnings: add warnings as errors: 'switch' & 'return-type'mj-xmr1-0/+7
2021-03-07Mac: Enable on ARM, by not enforcing x86_64mj-xmr1-1/+1
2021-02-09Remove unused variables in monero codebaseKevin Barbour1-1/+1
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-01-16build: omit '-pie' linker flag in native non static WIN32 GCC buildsxiphon1-1/+2
2021-01-02cmake: Use CMAKE_COMMAND.Daniel Wyatt1-1/+1
The cmake executable name can vary across platforms.
2020-12-08Add ClangBuildAnalyzer under utils/health for analyzing build timesmj-xmr1-0/+7
2020-12-04add -framework AppKit for Applewoodser1-1/+3
2020-12-02Clang-tidy integrated into CMakeLists.txtmj-xmr1-0/+14
Can be called from the source directory with: utils/health/clang-tidy-run.sh
2020-10-28Add RELINK_TARGETS, monero_add_target_no_relink and use ↵mj-xmr1-0/+18
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-09-22build: ARM - disable stack trace due to segfault in libunwindxiphon1-1/+1
2020-09-17link libzmq against libgssapi_krb5 if foundmoneromooo-monero1-0/+4
2020-08-29cmake: Use job pool feature to limit concurrent jobsMatt Smith1-0/+14
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-06-25cmake: allow custom openssl path on macOSselsta1-1/+1
2020-06-14Do not use PIE with OSS-Fuzzmoneromooo-monero1-1/+1
2020-05-24cmake: insert CMAKE_CURRENT_SOURCE_DIR in CMAKE_MODULE_PATHxiphon1-1/+1
2020-05-16Support for supercop ASM in wallet, and benchmark for supercopLee Clagett1-1/+6
2020-05-15cmake: ASAN and PIE don't mixmoneromooo-monero1-2/+4
Binaries built with both crash on startup with maybe 25% probability
2020-05-15fuzz_tests: refactor and add OSS-Fuzz compatibilitymoneromooo-monero1-0/+6
2020-05-06Update copyright year to 2020SomaticFanatic1-1/+1
Update copyright year to 2020
2020-05-04Made ccache optional (opt out) and tidied up the FindCcache.cmakemj-xmr1-1/+6
2020-04-22FindCcache automaticallymj-xmr1-0/+2
2019-10-25Windows: enable high-entropy ASLR where availableiDunk54001-0/+1
2019-10-25build: fix building on Windows due to _FORTIFY_SOURCE changes in MSYS2iDunk54001-4/+6
Also, enable other hardening options that work on Windows with GCC 9.x
2019-09-25RandomX integrationHoward Chu1-0/+1
Support RandomX PoW algorithm
2019-09-25Don't set ARCH_ID if it's already setHoward Chu1-1/+3
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-24Revert "easylogging++: ensure it finds boost headers"moneromooo-monero1-2/+1
This reverts commit 9a95827ea72574c3e861aa3167c0b96b9bae64b3.
2019-09-24easylogging++: ensure it finds boost headersmoneromooo-monero1-1/+2
2019-09-16Removed Berkeley DB and db switching logicJesus Ramirez1-53/+3
2019-09-11cmake: add protolib to zmq dependency libsstoffu1-0/+4
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-07depends: attempt to fix readlineiDunk54001-1/+9
Make readline actually compile, and make ncurses use existing terminfo data (if available).
2019-09-05Add the iwyu target to get information on unused headersMartijn Otto1-0/+13
With this change, building the iwyu target will provide information on unused headers, which can be removed to reduce compilation times.
2019-08-28cmake: ensure PYTHON_EXECUTABLE is setmoneromooo-monero1-0/+1
2019-07-30fix building on OpenBSD, simplify Readme sectionMr. Me0w1-3/+3
Based on a patch from @mrme0w (#5569). Fixes #5770
2019-07-22Dropping cppzmq dependency; adding some zmq utilsLee Clagett1-2/+2
2019-06-20cmake: fix tests generatorston1th1-2/+1
find_package(PythonInterp) needs to be called before the tests.
2019-06-09cmake: do not use -mmitigate-rop on GCC >= 9.1moneromooo-monero1-2/+5
It was removed, but it still accepted by the compiler, which warns for every file
2019-05-30cmake: push cmake away from boost as much as we canmoneromooo-monero1-1/+1
Everything works better without cmake.
2019-05-06cmake: fix incorrect hint for OPENSSL_ROOT_DIRmoneromooo-monero1-2/+2
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-04-23dns_checks: new helper program to check on DNSSEC lookupsmoneromooo-monero1-0/+15
2019-04-20CMakeLists.txt: suggest to update all submodules if one of them is outdatederciccione1-1/+1
2019-04-18Windows: work around a boost 1.70 and cmake SNAFUiDunk54001-0/+1
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-11cmake: always detect python, it's neeed for some testsmoneromooo-monero1-0/+2
2019-03-21cmake: handle detecting boost using boost's own cmake filesmoneromooo-monero1-2/+8
Its version looks like 1.70.1 rather than 107000, so detect range to know which type we're seeing
2019-03-05Update 2019 copyrightbinaryFate1-1/+1
2019-03-05cmake: ARCH_ID fixes for cross compilationTheCharlatan1-0/+3
2019-03-04crypto: plug CNv4 JIT into cn_slow_hashmoneromooo-monero1-0/+2
Enabled by setting the MONERO_USE_CNV4_JIT env var to 1
2019-02-23Various speedups to depends and TravisTheCharlatan1-1/+1
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-14Support docker for gitian buildsTheCharlatan1-1/+0
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.
2018-12-04Add glibc back compat codeTheCharlatan1-1/+8
To ensure that the binaries compiled by gitian run across many linux distributions, enforce 2.17 as the minimum libc version supported.
2018-11-25device/trezor: webusb transport added, cmake fixesDusan Klinec1-10/+3
- 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-17Remove -Werrormoneromooo-monero1-3/+0
It is an annoying piece of garbage
2018-11-15cmake: move Boost_LOCALE_LIBRARY out of ICU_LIBRARIESstoffu1-2/+2
2018-11-12CMakeLists.txt: add -ftemplate-depth=900moneromooo-monero1-0/+3
2018-11-04build: ubuntu 16 ppc build fixesJethro Grassie1-1/+1
2018-11-02device/trezor: trezor support addedDusan Klinec1-0/+11
2018-10-30build: older git versions don't have '-C' flagxiphon1-2/+2
2018-10-22blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-2/+3
2018-10-20CMakeLists.txt: only use libatomic when foundmoneromooo-monero1-1/+3
2018-10-16build: fixed submodule checkxiphon1-12/+14
2018-10-15Fix Windows build after epee dependency changeiDunk54001-1/+1
2018-10-13CMakeLists.txt: detect and use -pthread compiler flagmoneromooo-monero1-0/+2
The cmake thread detection just ain't enough to always work
2018-10-13build: use ARCH 'native' by default, allow to configure and override itxiphon1-5/+3
2018-10-08Revert "Merge pull request #4472"Riccardo Spagni1-3/+2
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
2018-10-08CMakeLists.txt: Fix typoerciccione1-1/+1
2018-10-05Add check if submodules need to be updatedTheCharlatan1-0/+19
Adds CMake check that pulls from the different git remotes and checks if there is any output.
2018-10-04blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon1-2/+3
2018-09-29Merge pull request #4457Riccardo Spagni1-32/+36
85318e78 build: set ARCH_FLAG before compiler/linker flag checks (xiphon)
2018-09-29Merge pull request #4448Riccardo Spagni1-4/+8
6a781408 Make depends use self built clang for darwin (TheCharlatan)
2018-09-29Merge pull request #4446Riccardo Spagni1-1/+1
69da14e1 fixes make debug compilation on OSX (Dusan Klinec)
2018-09-25Make depends use self built clang for darwinTheCharlatan1-4/+8
The configure script in hidapi and libsodium tried to find clang in /usr/bin, even though the correct prefix was passed in. This sets the correct CC flag. This was previously undetected, because clang and the sdk where installed in the global environment. This also fixes a subsequent error, where IOKIT and CoreFoundation are not found, again for the reason stated above.
2018-09-25fixes make debug compilation on OSXDusan Klinec1-1/+1
2018-09-24Replace USB-CCID (smartcard) by USB-HIDcslashm1-9/+21
Remove PCSC dependencies which is a bit hard (not user friendly) to install on linux and Mac Split Ledger logic and device IO
2018-09-22A Travis to moneroTheCharlatan1-1/+1
Add a Travis build script for Monero. This was blatantly copied from Bitcoin. It spawns jobs in docker containers running an ubuntu bionic image. This commit also a fixes a problem where librt was still linked, even when compiling statically.
2018-09-18disable AES on s390x architectureTuan M. Hoang1-1/+7
rebased by moneromooo
2018-09-18Fixup 32bit arm buildTheCharlatan1-1/+3
Set the architecture in the toolchain file correctly
2018-09-17Fix Windows buildTheCharlatan1-1/+1
icu tex support is not required, so just disable it. Re-add mistakingly removed crypt32 lib.
2018-09-17Add libsodium to the packages, the arm build was complaining about it.TheCharlatan1-3/+0
Fixup arm toolchain file.
2018-09-11NetBSD supportthomasvaughan1-0/+11
2018-09-10Adapt translations to upstream changesTheCharlatan1-10/+10
2018-09-10Add lrelease to the dependsTheCharlatan1-1/+11
This includes a minimal qt build without gui
2018-09-10Unbound is now a submodule. Adapt depends for this.TheCharlatan1-1/+1
Fix builds for native linux and windows The architecture flag was set incorrectly. It needs to be set only when compiling arm6.
2018-09-10Add support for apple and arm buildingTheCharlatan1-4/+15
Add pcsc-lite to linux builds Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
2018-09-10Disable stack unwinding for mingw32 depends build.TheCharlatan1-0/+3
2018-09-09CMakeLists.txt: detect -fcf-protection=full and -fstack-clash-protectionmoneromooo-monero1-0/+8
Introduced with GCC 8.2
2018-08-23Windows: fix undefined references after unbound submodule updateiDunk54001-1/+1
2018-08-21Build: Fix target release-static-androidMoroccanMalinois1-0/+1
2018-08-21Translations: handle cross compilingMoroccanMalinois1-5/+1
2018-08-21CMakeLists.txt: disable -fstack-protector* on windowsiDunk54001-4/+6
Current GCC produces broken binaries with these options
2018-08-07CMakeLists.txt: add -mmitigate-rop to security flags if foundmoneromooo-monero1-0/+3
This is GCC/x86/x86_64 only
2018-05-31Incorporate Window debug build targetsphilkode1-0/+1
2018-05-25rapidjson: remove outdated in-tree, use submoduleanonimal1-1/+1
Includes ~2 years worth of fixes including security and build. Note: this pulls directly from master, not a release branch/tag. See https://github.com/Tencent/rapidjson/issues/1265
2018-05-23Fix PCSC compilation under windowscslashm1-0/+3
PR3843 based on release-v0.12 => rebased on master
2018-05-19Fixed for compilation in big endian PPC. "Everything is broken thought due ↵Judemir Ribeiro1-5/+24
to little endian logic."
2018-04-21Build: update CMake and p2p for in-tree miniupnpanonimal1-8/+0
(cherry picked from commit a7366b5feeffaeb65b217b2d6f138e0ab1c90192)
2018-03-08Adjust to the MSYS2/MinGW static ICU library file renamingrbrunner71-1/+1
In package mingw-w64-x86_64-icu, version 58.2-3, the names of static library files were changed, which leads to changes in CMakeLists.txt as needed for compiling for Windows.
2018-03-05Correct spelling mistakes.Edward Betts1-1/+1
2018-03-04Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm1-0/+9
The basic approach it to delegate all sensitive data (master key, secret ephemeral key, key derivation, ....) and related operations to the device. As device has low memory, it does not keep itself the values (except for view/spend keys) but once computed there are encrypted (with AES are equivalent) and return back to monero-wallet-cli. When they need to be manipulated by the device, they are decrypted on receive. Moreover, using the client for storing the value in encrypted form limits the modification in the client code. Those values are transfered from one C-structure to another one as previously. The code modification has been done with the wishes to be open to any other hardware wallet. To achieve that a C++ class hw::Device has been introduced. Two initial implementations are provided: the "default", which remaps all calls to initial Monero code, and the "Ledger", which delegates all calls to Ledger device.
2018-02-25Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windowsrbrunner71-1/+2
2018-01-28cmake: add -DHAVE_ defines to the command linemoneromooo-monero1-7/+21
since there's no config.h here
2018-01-26Update 2018 copyrightxmr-eric1-1/+1
2018-01-11epee: detect strptime, use std::get_time as fallbackmoneromooo-monero1-0/+4
2018-01-04Fix translations header generation when cross-compilatingGuillaume LE VAILLANT1-1/+5
Define generate_translations_header as an external project to be able to use the compilation toolchain for the host instead of the toolchain for the target.
2017-12-31Add misc hardening flags to the cmake machinerymoneromooo-monero1-7/+83
See https://wiki.debian.org/Hardening#User_Space
2017-12-26cmake: fix boost version detectionmoneromooo-monero1-1/+1
2017-12-23fuzz_testing: build with ASAN (assumed to be available)moneromooo-monero1-0/+10
2017-12-15Embed the translation files in the binaryGuillaume LE VAILLANT1-0/+4
If a translation file exists in a "translations" directory located in the same directory as the binary, it is used in priority (this can be useful when working on translations as you don't have to recompile the whole program all the time), and if no such file is found the embedded translation file is used (if it exists).
2017-11-27add a memwipe functionmoneromooo-monero1-0/+8
It's meant to avoid being optimized out memory_cleanse lifted from bitcoin
2017-11-14Do not build against epee_readline if it was not builtHoward Chu1-0/+1
2017-11-14link against readline only for monerod and wallet-wallet-{rpc,cli}moneromooo-monero1-1/+0
2017-11-14make this build on SunOS/SolarisPavel Maryanov1-0/+6
2017-11-11Do not require libatomic on FreeBSDVasil Dimov1-1/+1
f3e09f36 hooked a dependency on libatomic on 32 bit machines if Clang is used because compilation failed with: `std::__atomic_base<unsigned long long>::load(std::memory_order) const': /usr/bin/../lib/gcc/i686-pc-linux-gnu/6.1.1/../../../../include/c++/6.1.1/bits/atomic_base.h:396: undefined reference to `__atomic_load_8' But that does not happen on FreeBSD. The problem is likely that on Linux Clang tries to use GCC-provided C++11 library. Further, __atomic_load_8() (for 8-byte integers) is not readily available on 32 bit machines. From https://gcc.gnu.org/wiki/Atomic/GCCMM: "When lock free instructions are not available (either through hardware or OS support) atomic operations are left as function calls to be resolved by a library."
2017-10-21Link against libpgm/libnorm if found, optional libzmq ldependenciesmoneromooo-monero1-0/+8
2017-10-20cmake: add dep of version lib on version.cppredfish1-2/+0
Also, move cmake source files into cmake/ to keep them together.
2017-10-17epee: use boost type for SSL error coderedfish1-0/+5
Fixes compile error when building with OpenSSL v1.1: contrib/epee/include/net/net_helper.h: In member function ‘void epee::net_utils::blocked_mode_client::shutdown_ssl()’: contrib/epee/include/net/net_helper.h:579:106: error: ‘SSL_R_SHORT_READ’ was not declared in this scope if (ec.category() == boost::asio::error::get_ssl_category() && ec.value() != ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ)) ^ contrib/epee/include/net/net_helper.h:579:106: note: suggested alternative: ‘SSL_F_SSL_READ’ See boost/asio/ssl/error.hpp. Boost handles differences between OpenSSL versions. cmake: fail if Boost is too old for OpenSSL v1.1
2017-10-15epee http_client SSL supportJaquee1-1/+1
2017-10-15CMakeLists.txt - Add openssl include dirJaquee1-0/+2
2017-10-08cmake: build tests lastredfish1-9/+3
Keep -Werror for src, contrib and do not pass it for tests/
2017-10-07cmake: print which stack trace lib is usedredfish1-1/+4
To avoid the suprize of stack tracing being enabled but libunwind not being linked in.
2017-10-06Fix building with -DARCH=default -DNO_AES=ONmoneromooo-monero1-1/+5
2017-09-24cmake: make warning about headers not fatalredfish1-1/+1
Warning issued on older boost and/or OS: In file included from /usr/include/boost/asio/detail/socket_types.hpp:61:0, from /usr/include/boost/asio/detail/epoll_reactor.hpp:30, from /usr/include/boost/asio/detail/reactor.hpp:21, from /usr/include/boost/asio/detail/impl/task_io_service.ipp:24, from /usr/include/boost/asio/detail/task_io_service.hpp:198, from /usr/include/boost/asio/impl/io_service.hpp:71, from /usr/include/boost/asio/io_service.hpp:767, from /usr/include/boost/asio/basic_io_object.hpp:19, from /usr/include/boost/asio/basic_socket.hpp:20, from /usr/include/boost/asio/basic_datagram_socket.hpp:20, from /usr/include/boost/asio.hpp:21, from /home/vagrant/slave/monero-static-alpine-3_5-x86_64/build/src/common/download.cpp:32: /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp] #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
2017-09-24cmake: fix setting of -Werrorredfish1-12/+6
Setting COMPILE_FLAGS (or COMPILE_OPTIONS) property directly does not end up on the command line (even though it should because add_compile_options does just that). Also, set -Werror for tests as well, because no warnings now. Not set for 'external' only because simply moving add_compile_options above add_subdirectory(external) doesn't do it, and moving add_usbdirectory down is too big of a change (it will pick up new flags). -Werror set only for GCC on Linux, since warnings not yet cleared for other compilers/systems.
2017-09-23daemon: fix static building with libzmqiDunk54001-1/+6
2017-09-21build: auto update version info without manually deleting version.hstoffu1-1/+1
2017-09-20Fix OpenSSL 1.1 detection for static buildshyc1-7/+7
2017-09-05Fix various oversights/bugs in ZMQ RPC server codeThomas Winget1-0/+8
- Add some RPC commands (and touch up a couple others) - some bounds checking - some better pointer management - const correctness and error handling -- Thanks @vtnerd for type help with serialization and CMake changes
2017-09-05json serialization for rpc-relevant monero typesThomas Winget1-0/+2
Structured {de-,}serialization methods for (many new) types which are used for requests or responses in the RPC. New types include RPC requests and responses, and structs which compose types within those. # Conflicts: # src/cryptonote_core/blockchain.cpp
2017-08-05CMakeLists.txt - ios/xcode fixJaquee1-0/+3
2017-06-27enable monero build on ppc64le architectureRoberto Oliveira1-1/+9
Fix wrong flags for ppc64le: -maes - not avaiable -march - changed by -mcpu that does the same for powerpc
2017-06-18Add readline support to clijethro1-0/+13
This PR adds readline support to the daemon and monero-wallet-cli. Only GNU readline is supported (e.g. not libedit) and there are cmake checks to ensure this. There is a cmake variable, Readline_ROOT_DIR that can specify a directory to find readline, otherwise some default paths are searched. There is also a cmake option, USE_READLINE, that defaults to ON. If set to ON, if readline is not found, the build continues but without readline support. One negative side effect of using readline is that the color prompt in the wallet-cli now has no color and just uses terminal default. I know how to fix this but it's quite a big change so will tackle another time.
2017-05-17shared libs build (i.e. make debug)stoffu1-0/+2
2017-04-12Fix ARM64 identificationhyc1-1/+2
The actual arch flag the compiler recognizes is "armv8-a". This is true for both gcc and clang.
2017-04-10update easylogging++ to latest upstreammoneromooo-monero1-2/+3
2017-04-03IOS CMAKE build settingsJaquee1-6/+10
2017-03-20set USE_LTO_DEFAULT to falseChristoph Schnerch1-1/+1
2017-03-08Problem: misleading information about LMDB storageGareth1-2/+2
Solution: updated the comments to reflect the current situation in terms of LMDB implementation and no longer recommend 'memory' for blockchain storage in production use.
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni1-1/+1
2017-02-21cmakify opensslRiccardo Spagni1-0/+17
2017-02-20Optionally query moneropulse DNS records to check for updatesmoneromooo-monero1-0/+8
It just checks and prints a message if there is a new version for now.
2017-02-09backtrace_symbols() requires -lexecinfo on dragonflybsdDan Miller1-2/+4
freebsd also needs -lexecinfo for backtrace()
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi841-0/+1
2017-02-05cmake set atomic for androidMoroccanMalinois1-0/+3
2017-02-04Use easylogging++'s stack trace facility where possiblemoneromooo-monero1-7/+13
This avoids using libunwind, which often causes trouble.
2017-01-16Change logging to easylogging++moneromooo-monero1-1/+1
This replaces the epee and data_loggers logging systems with a single one, and also adds filename:line and explicit severity levels. Categories may be defined, and logging severity set by category (or set of categories). epee style 0-4 log level maps to a sensible severity configuration. Log files now also rotate when reaching 100 MB. To select which logs to output, use the MONERO_LOGS environment variable, with a comma separated list of categories (globs are supported), with their requested severity level after a colon. If a log matches more than one such setting, the last one in the configuration string applies. A few examples: This one is (mostly) silent, only outputting fatal errors: MONERO_LOGS=*:FATAL This one is very verbose: MONERO_LOGS=*:TRACE This one is totally silent (logwise): MONERO_LOGS="" This one outputs all errors and warnings, except for the "verify" category, which prints just fatal errors (the verify category is used for logs about incoming transactions and blocks, and it is expected that some/many will fail to verify, hence we don't want the spam): MONERO_LOGS=*:WARNING,verify:FATAL Log levels are, in decreasing order of priority: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE Subcategories may be added using prefixes and globs. This example will output net.p2p logs at the TRACE level, but all other net* logs only at INFO: MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE Logs which are intended for the user (which Monero was using a lot through epee, but really isn't a nice way to go things) should use the "global" category. There are a few helper macros for using this category, eg: MGINFO("this shows up by default") or MGINFO_RED("this is red"), to try to keep a similar look and feel for now. Existing epee log macros still exist, and map to the new log levels, but since they're used as a "user facing" UI element as much as a logging system, they often don't map well to log severities (ie, a log level 0 log may be an error, or may be something we want the user to see, such as an important info). In those cases, I tried to use the new macros. In other cases, I left the existing macros in. When modifying logs, it is probably best to switch to the new macros with explicit levels. The --log-level options and set_log commands now also accept category settings, in addition to the epee style log levels.
2017-01-15enable clang checks that were disabledChris Vickio1-1/+0
2017-01-09Change logic of testing for libunwind on OSX and ARMNanoAkron1-4/+9
2017-01-05Build wallet with Android NDKMoroccanMalinois1-2/+16
2016-12-23Silence CMake policy warning on macos.Randi Joseph1-0/+3
See: https://cmake.org/cmake/help/v3.0/policy/CMP0042.html
2016-12-15Preliminary support for DragonFly BSDAntonio Huete Jimenez1-5/+11
- It builds but no further testing has been done.
2016-12-09Revert forcing -fPIC for all ARMv8 buildsNanoAkron1-1/+0
2016-11-12Always compile Position Independent Code on 64-bit ARMv8 systemsNanoAkron1-7/+6
2016-10-27Report Boost library version during compilationNanoAkron1-0/+2
2016-09-21remove check for certain clang versionsDan Miller1-5/+0
2016-09-19Don't define stdc++ on FreeBSDDan Miller1-1/+1
2016-09-18Fix test for 'ARM_ID' as caught by @radfish in #1088NanoAkron1-3/+3
2016-09-18cmake: support BUILD_SHARED_LIBS built-in optionredfish1-2/+14
Support building internal libraries as shared. This reduces development time by eliminating the need to re-link all binaries every time non-interface code in the library changes. Instead, can hack on libxyz, then `make libxyz`, and re-run monerod. By default BUILD_SHARED_LIBS is OFF in release build type, and ON in debug build type, but can be overriden with -D.
2016-09-18+crypto for ARMv8 now tests and modifies ${ARCH$NanoAkron1-12/+3
2016-09-18Updated +crypto option for ARMv8 to modify ${ARCH} insteadNanoAkron1-11/+26
2016-09-17Add +crypto flag for ARMv8-aNanoAkron1-2/+6
2016-09-17cmake: quotes around ARCH_ID stringredfish1-3/+3
It's only blank only if somebody running cmake in MSYS/MinGW (Windows) manually forgets to add -D ARCH, but when it is blank, without quotes those lines are invalid cmake syntax.
2016-09-17cmake: remove redundant checks around CMAKE_{AR,RANLIB}redfish1-10/+4
Those are always set, no point in checking. #1065
2016-09-10Attempt to fix broken compilation on some systems caused by #1074iDunk54001-6/+9
2016-09-03change CMake project nameRiccardo Spagni1-1/+1
2016-09-03cmake: split BUILD_GUI_DEPS option into tworedfish1-1/+5
The split is to make this software more packageable. 'make install' is used by the package building scripts, and should not be installing vendored dependencies onto the system.
2016-09-03gui/libwallet_merged: libunbound is one more dependencyIlya Kitaev1-0/+4
2016-09-01cmake: option+target for profiling for coverageredfish1-4/+13
2016-08-31cmake: handle dists which prefix gcc binaries wth arch tripletredfish1-2/+12
Issue #1026
2016-08-30Add ARMv8 Handling to CMakeLists.txt - version 2NanoAkron1-11/+82
Adds 64-bit ARMv8 handling to CMakeLists.txt and implements GCC flags for two errata on the Cortex-A53 present on every chip in revision 0: https://developer.arm.com/docs/epm048406/latest/arm-processor-cortex-a53-mpcore-product-revision-r0-software-developers-errata-notice 835769 affects 64-bit multiply accumulate 843419 affects internal page addressing Rewritten to build on @radfish's changes Updated to address @radfish's points
2016-08-28cmake: define a default build typeredfish1-0/+5
Lets 'cmake .. && make' be sufficient to build.
2016-08-28remove original Cryptonote blockchain_storage blockchain formatmoneromooo-monero1-4/+0
2016-08-28cmake: define ARM var for all ARM arch variantsredfish1-12/+16
This is refactoring only. No behavior change.