Commit Graph

137 Commits

Author SHA1 Message Date
cameel
af7139c19f Enable colorized compiler output when running gcc via cmake 2020-01-30 03:11:28 +01:00
Alex Beregszaszi
eafcb42be7 Enable more compiler warnings in the build system
"-pedantic -Wno-unknown-pragmas -Wimplicit-fallthrough"
2020-01-15 14:33:27 +00:00
Alex Beregszaszi
1ee4b9dc3b Remove the LLL compiler 2020-01-15 13:18:18 +00:00
Daniel Kirchner
90e494615e Build soljson.js with embedded base64-encoded wasm binary. 2020-01-13 10:51:48 +01:00
chriseth
96d777d7f1 Merge commit 'a7d481fb9' into develop_060 2019-12-03 20:47:30 +01:00
Leonardo
27097b3eca
Merge pull request #7832 from ethereum/updateEmscripten
Update emscripten to 1.39.3
2019-11-29 14:39:41 +01:00
Leonardo
c6c5a6fb8a
Merge pull request #7827 from ethereum/jsoncpp
Update to jsoncpp 1.9.2
2019-11-29 13:25:42 +01:00
Daniel Kirchner
edd80a986d Update emscripten to 1.39.3 2019-11-29 12:55:02 +01:00
Daniel Kirchner
cdbaf067c7 Internal emscripten build cleanup 2019-11-29 10:21:29 +01:00
Alex Beregszaszi
4edab3d76d Update to jsoncpp 1.9.2 2019-11-27 23:40:19 +01:00
Christian Parpart
5bf2eab6a4 Fixes CMake caching issues on Windows. 2019-11-27 12:30:12 +01:00
Daniel Kirchner
25a933a906 Do not rely on cmake's GLOB for test/ 2019-11-08 16:12:42 +01:00
kcy1019
547cd2eb71 Remove dependency on boost::regex from Whiskers 2019-10-16 21:26:49 +09:00
Daniel Kirchner
c823b3519e Replace build source path in __FILE__ macros. 2019-10-02 17:25:10 +02:00
Bhargava Shastry
cb4925f4cf Add clang build and test CIs 2019-09-24 18:19:26 +02:00
Bhargava Shastry
48da5f07a5 ossfuzz: Create a separate cmake toolchain file for ossfuzz so that multiple fuzzing backends may be used 2019-09-16 18:35:15 +02:00
Daniel Kirchner
058bbd398e
Merge pull request #7252 from ethereum/enable-c++17-in-libfuzzer-cmake
Enable c++17 in cmake toolchain file used by ossfuzz builder
2019-08-16 12:26:56 +02:00
Bhargava Shastry
ffbf7e6c7a jsoncpp: force explicit casts for integer to floating point conversions 2019-08-15 16:21:45 +02:00
Bhargava Shastry
0b35cbc22c Inherit defaults cmake options in toolchain file used by ossfuzz builder. 2019-08-14 18:06:37 +02:00
Christian Parpart
e91c6acbc3 Defaulting to C++17 for building. 2019-08-13 16:19:18 +02:00
chriseth
98e3caa28a
Merge pull request #7220 from ethereum/z3CMakeFix
CMake: Properly disable z3, if z3 version cannot be determined.
2019-08-13 11:49:52 +02:00
Daniel Kirchner
2d637a48b4 Proper cmake failure if z3 version cannot be determined. 2019-08-12 16:23:06 +02:00
Daniel Kirchner
cc9278d38c Explicitly use the gcc openmp implementation for the fuzzing build. 2019-08-09 19:55:48 +02:00
Christian Parpart
810a0de1aa Add evmc and host interface implementation. Modify fuzzer harness to make use of evmc host/vm. 2019-07-17 10:55:33 +02:00
Daniel Kirchner
7a32daadf0 Make the boost cmake workaround compatible with older versions of cmake. 2019-06-12 18:04:08 +02:00
Daniel Kirchner
dcb6b2cb33 Add back comment and output messages. 2019-06-06 21:03:33 +02:00
Daniel Kirchner
cb9c35f883 Define imported targets manually, if not provided by find_package(Boost). 2019-06-06 21:03:33 +02:00
Daniel Kirchner
226f8bb64d Use imported cmake targets for boost. 2019-06-06 18:49:34 +02:00
Daniel Kirchner
5677bedf34 Require gcc >= 5.0. 2019-06-05 11:57:06 +02:00
Daniel Kirchner
9f5340fa53 Try to find Z3 using CONFIG_MODE before manual search. 2019-06-04 15:58:03 +02:00
Bhargava Shastry
9f77d90c0b cmake: Minor refactoring of SANITIZE flag 2019-05-22 11:33:27 +02:00
Mathias Baumann
cbf81b123a Fix new found spelling mistakes and add exceptions 2019-05-21 10:59:34 +02:00
Alex Beregszaszi
e121c8f3c7 Store compiler version in CBOR metadata 2019-05-08 22:21:50 +02:00
rocky
b3ef7e2301 Remove clang+osx ld warning
Boost libraries on osx use visibility=hidden to reduce unnecessary DWARF entries.

Unless we match visibility, ld will give a warning message like:

   ld: warning: direct access in function 'boost::filesystem... from file ...
   means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
2019-04-30 07:38:28 -04:00
rocky
b06b996461 soltest.sh, EthOptions.cmake, and CODING_STYLE.md tweaks
solidity.sh:
  * introduce SOLIDITY_BUILD_DIR env var for soltest.sh,
  * add --help output

EthOptions.cmake: more complete configuration information

CODING_STYLE.md: note existence of .editorconfig
contributing.rst: note that tests are Boost C++ unit tests
2019-04-18 07:53:28 -04:00
rocky
6d5505720d Maximum clang/gcc debugging when debugging desired.
-g3 adds macro information. See https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
Both clang and gdb support this, and I think this preferred over the older -ggdb.
2019-04-16 11:47:06 -04:00
Bhargava Shastry
0d2566fa71 Add CI to build ossfuzz fuzzer binaries 2019-04-03 10:27:05 +02:00
Alex Beregszaszi
62f707610e Run clang tests with ASAN 2019-02-07 18:59:40 +01:00
Leonardo Alt
4058978b3b Require Z3 >= 4.6.0 2019-02-07 14:24:40 +01:00
Alex Beregszaszi
57463ca3a5 Add C++17 toolchain 2019-02-05 14:21:23 +00:00
Shelly Grossman
3b5f446018 Ensuring UTF-8 encoding for MSVC builds 2019-01-26 15:30:17 +02:00
Bhargava Shastry
24b1de7df0 This PR refactors and shares oss-fuzz specific test harness code with the afl fuzzer harness. ChangeLog updated. 2019-01-23 11:06:25 +01:00
Daniel Kirchner
5baac8470b Use emscripten 1.38.8 on both travis and circle. 2019-01-17 18:31:34 +01:00
Alex Beregszaszi
3f58505c76 Remove obsolete ETH_EMSCRIPTEN option
This was made obsolete by using toolchain files (#2836)
2019-01-17 15:23:21 +00:00
Daniel Kirchner
ecdc00d569 Set emscripten to strict mode (wrt deprecated compiler options). 2019-01-17 15:22:43 +00:00
Christian Parpart
b7eaa4f8d3
Ensuring we use at least boost 1.65, build static on Xenial, and adapt CircleCI accordingly. 2019-01-14 16:10:26 +01:00
chriseth
8825533222
Merge pull request #5699 from ethereum/cmake-no-c-dependency
cmake: Do not depend on a C compiler to be present
2018-12-20 11:56:55 +01:00
Christian Parpart
639622c6d7 cmake: Do not depend on a C compiler to be present by explicitly stating that this is a C++ project.
CMake defaults to C *and* C++ toolchain, in case nothing has been specified.
This means that cmake always checks for both, which is more than needed.

This PR cuts off C toolchain requirement from /CMakeLists.txt and ensures that we
don't pass along any `..._C_...` variables in EthCompilerSettings.cake nor jsoncpp.cmake.
2018-12-20 09:02:00 +01:00
Paweł Bylica
b57a36ddae CMake: Use toolchain files 2018-12-19 12:32:15 +00:00
Daniel Kirchner
2f698b6efe Use imported CMake targets. 2018-12-17 15:15:11 +01:00