Commit Graph

121 Commits

Author SHA1 Message Date
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
Christian Parpart
5b86e3ec50 Enables C++14 standard (was C++11) within the Solidity compiler project. 2018-12-11 21:28:05 +01:00
chriseth
640e3ca596 Update paths to CharStream, Scanner and Token files. 2018-11-22 20:37:24 +01:00
Dominik Harz
2b053ceeff Fix cmake Z3 import issue for Fedora 2018-11-08 11:12:47 +00:00
Daniel Kirchner
a102f3b783 Remove trailing whitespace for all files in the repository. 2018-09-04 11:30:30 +02:00
Daniel Kirchner
c7a0f44159 Do not force GMP to be present as dependency of CVC4, but also allow CLN instead. 2018-08-08 19:02:59 +02:00
Daniel Kirchner
9b4546c487 Add workarounds for building against CVC4 on ArchLinux. 2018-08-08 19:02:59 +02:00
Alex Beregszaszi
551343ae3e
Merge pull request #4665 from mattaereal/cmake-patch-solver
cmake option added to make solvers optional
2018-08-08 17:58:01 +01:00
Matías Aereal Aeón
4b20708c49 cmake flags to make solvers optional. Implementation of #4651 2018-08-08 12:43:57 -03:00
Alex Beregszaszi
22461ca939
Merge pull request #4528 from guidovranken/propagate_CMAKE_CXX_FLAGS_jsoncpp
Propagate original CMAKE_CXX_FLAGS to jsoncpp compilation
2018-08-08 13:28:10 +01:00
Daniel Kirchner
fb0e3b25d0 Rename JSONCPP_EXTRA_FLAGS to JSONCPP_CXX_FLAGS, add EMSCRIPTEN workaround and remove obsolete MSVC workaround. 2018-08-08 13:17:13 +02:00
Leo Arias
9e2f26ae9a Update the coverage info message in cmake 2018-08-07 00:54:52 +00:00
Augusto F. Hack
6c3b48ddfc Added guards for unknown pragmas
Removed push/pop if there was no change to the warnings *in the same
file* for a given compiler. This assumes the imported boost headers use
a warning stack themselves.

The pragmas don't seem to be required anymore, but were not removed to
mantain compatibility with older versions of the boost library.

Compiled with
- clang version 6.0.1 (tags/RELEASE_601/final)
- gcc (GCC) 8.1.1 20180531
 against:
- libboost 1.67.0-5
2018-08-05 19:21:33 -03:00
Alex Beregszaszi
f7c96c8dee
Merge pull request #4560 from ethereum/cmake-policy
CMake policies
2018-08-02 13:32:32 +01:00
Alex Beregszaszi
4e14ccb7df Include license header from code derived from V8 (scanner/token) 2018-08-02 11:29:11 +01:00
Christian Parpart
4c5ea49881 Fixes building Solidity when base directory contains spaces.
closes #4521
2018-07-27 09:41:05 +02:00
Paweł Bylica
807f7533d9
CMake: Add option COVERAGE
This also removed PROFILE option that also adds --coverage flag. Instead you can use -DCMAKE_EXE_LINKER_FLAGS=-lprofiler. The profiling options can be added back when better investigated (e.g. -lprofiler vs -pg options).
2018-07-24 17:12:41 +02:00