Commit Graph

51 Commits

Author SHA1 Message Date
Djordje Mijovic
3c57e04751 Adding -Wsign-conversion flag to cmake. 2020-07-09 15:07:56 +02:00
Daniel Kirchner
59ee743f6a Switch to upstream docker image for emscripten build. 2020-06-04 16:17:29 +02:00
Alexander Arlt
a7e1ef6a50 [build-system] Add -Wpessimizing-move & -Wredundant-move warnings.
-Wpessimizing-move warns when a call to std::move would prevent copy elision
if the argument was not wrapped in a call.  This happens when moving a local
variable in a return statement when the variable is the same type as the
return type or using a move to create a new object from a temporary object.

-Wredundant-move warns when an implicit move would already be made, so the
std::move call is not needed, such as when moving a local variable in a return
that is different from the return type.
2020-04-02 08:36:47 -05:00
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
Daniel Kirchner
90e494615e Build soljson.js with embedded base64-encoded wasm binary. 2020-01-13 10:51:48 +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
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
Daniel Kirchner
5677bedf34 Require gcc >= 5.0. 2019-06-05 11:57:06 +02:00
Bhargava Shastry
9f77d90c0b cmake: Minor refactoring of SANITIZE flag 2019-05-22 11:33:27 +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
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
Alex Beregszaszi
62f707610e Run clang tests with ASAN 2019-02-07 18:59:40 +01:00
Shelly Grossman
3b5f446018 Ensuring UTF-8 encoding for MSVC builds 2019-01-26 15:30:17 +02: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
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
Christian Parpart
5b86e3ec50 Enables C++14 standard (was C++11) within the Solidity compiler project. 2018-12-11 21:28:05 +01: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
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
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
Paweł Bylica
9b5d713c28
CMake: Do not use non-existing sanitizer blacklist 2018-07-24 16:53:33 +02:00
Guido Vranken
730a444226 Do not ignore CMAKE_CXX_FLAGS defined on the command line 2018-07-17 00:58:32 +02:00
Cryptomental
140dbfdbd8 Code, Changelog, ReleaseChecklist: Fix typos.
Refs: #4442
2018-07-11 00:26:23 +02:00
Christian Parpart
230317e9ff Visual Studio 2017 build-time (linking) fix and improvements 2018-07-10 19:10:29 +02:00
Alexander Arlt
4aed41d9b6 cmake/EthCompilerSettings.cmake: increase stacksize for apple clang
- normally 16MB is enough to run all tests, but it will exceed the stack, if -DSANITIZE=address is used.
2018-05-15 15:11:38 +02:00
Alex Beregszaszi
bff741b42f Remove obsolete warning supressions for clang 2018-04-18 23:15:16 +01:00
Alex Beregszaszi
b53156b039 Remove -fpermissive 2018-04-18 23:14:38 +01:00
Alex Beregszaszi
c43953f9fe CMake: abort if linking results in undefined symbols with emscripten 2018-02-20 23:28:43 +01:00
Alex Beregszaszi
b4f99312e6 Disable greedy exception catcher in Emscripten build 2018-02-12 22:44:51 +00:00
Alexander Arlt
d9c51f9ca1 Set stack-size to 16MB for darwin clang.
By default Apple's clang defines a stack size of 8MB, some tests require
more.
2018-02-05 22:15:05 +01:00
Paweł Bylica
5722f3083c
CMake: Add compiler warning about implicit fallthough 2017-09-26 14:21:01 +02:00
Paweł Bylica
49c98bbc34
CMake: Better ccache configuration
EthCcache module taken from cpp-ethereum.
2017-09-20 16:39:41 +02:00
Paweł Bylica
d223b1361b
CMake: Better handle -fstack-protector flag support 2017-08-24 12:26:37 +02:00
Paweł Bylica
d1f4d110fb
CMake: Build static libs by default 2017-08-18 13:32:35 +02:00
Alex Beregszaszi
872e25413e Remove LINKABLE from Emscripten 2017-07-19 12:38:16 +01:00
Alex Beregszaszi
5050164d9e Add comments to Emscripten flags 2017-07-18 21:59:32 +01:00
Lefteris Karapetsas
735c977db1 Silence implicit fallthrough warning for gcc > 7
In my system I have gcc 7.1.1 and there I get a lot of warnings which
fail the build due to implicit fallthroughs in switch statements.

Some examples can be seen here:
https://gist.github.com/LefterisJP/388c3ba5ad356f92a3b44e7efed89f9f

This PR proposes a simple solution, which is to ignore the warning for
both gcc and clang.
2017-06-29 16:46:55 +02:00
Alex Beregszaszi
9cffa9a92e Do not use -Og for debug mode (won't work on Mac/clang) 2017-02-09 14:56:18 +00:00
chriseth
9c2ed33e9a Merge pull request #1342 from ethereum/emscripten-codesize
Emscripten code size improvements [WIP TEST]
2016-11-25 18:07:10 +01:00
Alex Beregszaszi
35def4735e Compile with -Og in debug mode (by @chfast) 2016-11-14 21:43:28 +00:00
Alex Beregszaszi
7bbaeedc31 Add optimisation flags for Emscripten 2016-11-09 02:46:47 +00:00
chriseth
81254e0eb7 Fix cmake empty string replace. 2016-10-27 16:30:11 +02:00