Commit Graph

185 Commits

Author SHA1 Message Date
Jun Zhang
2cf23e15d8 Bump fmtlib to 9.1.0
In our downstream project, we have two dependencies: solidity and spdlog.
Both of them depend on fmtlib. Unfortunately, the versions of fmtlib they
use do not match, which leads to compilation failure.

The issue arises because spdlog attempts to use solidity's fmtlib, but the
specific version (v8.0.1) has a bug. Ref: https://github.com/gabime/spdlog/issues/2142

While we could keep this change in our own fork, we believe it would
be worthwhile to contribute it back to the upstream since spdlog is a
very popular logging library.

Signed-off-by: Jun Zhang <jun@junz.org>
2023-08-28 13:58:56 +08:00
Jun Zhang
8c5ecd1c01
Fix incorrectly CMAKE_BINARY_DIR usage
Similiar to CMAKE_SOURCE_DIR. Using CMAKE_BINARY_DIR will put the
generated header (stdlib.h) in build/include/solidity/libstdlib but it
should start with build/third-party/solidity or the library can't find
the header.

Signed-off-by: Jun Zhang <jun@junz.org>
2023-06-10 00:35:24 +08:00
Jun Zhang
74a38fc3d8
Fix incorrect CMAKE_SOURCE_DIR usage
When using solidity as a third-party library (include it into our
project using FetchContent), we encountered a strange compilation error.
For some reason, cmake considers the root directory of the project as
the root directory of the dependency (solidity). This is because
solidity is incorrectly using CMAKE_SOURCE_DIR variable, which should be
PROJECT_SOURCE_DIR (The former one refers to the top-level source
directory that contains a CMakeLists.txt, while the latter refers to the
source directory of the most recent project() command)

I've created a repo for demonstration (https://github.com/junaire/test-solidity-fetch-content)

Signed-off-by: Jun Zhang <jun@junz.org>
2023-06-08 19:17:34 +08:00
Alexander Arlt
c5673278a7 Remove EWASM backend. 2023-05-11 10:56:55 -05:00
Nikola Matic
3bec4c09be Disable dangling-reference warning 2023-05-09 19:54:00 +02:00
Nikola Matic
3bab14747e Fix hidden-overload in Types and remove CMake hack 2023-05-09 19:33:23 +02:00
Daniel Kirchner
f2ddc997f0 Temporary workaround for GCC 13 compiler warnings. 2023-05-04 16:30:19 +02:00
Leonid Pospelov
6d331a8c8a
Improve comment on CMP0115
Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
2022-08-31 12:12:15 +03:00
Leonid Pospelov
6e1f0e73b6
Set CMP0115 to new in EthPolicy 2022-08-31 01:50:30 +03:00
Thanh Tran
1cd6f2a486 Fix warning about DOWNLOAD_EXTRACT_TIMESTAMP on CMake 3.24 2022-08-25 14:23:47 +07:00
Yuvraj Singh
9290ccb908 Added build flag to disable pedantic builds 2022-08-11 15:10:53 +02:00
Duc Thanh Nguyen
2215b6d44b Update rangev3 to 0.12.0 2022-07-05 15:55:12 -04:00
Leo
5f4c91cc6d
Merge pull request #12702 from ethereum/ninja-build-fix
cmake/EthCompilerSettings.cmake: generator expression fix for ninja.
2022-04-04 13:11:28 +02:00
Christian Parpart
b3daef7665 [CMake] Refactor libsolc linker flag for EXPORTED_FUNCTIONS and make it more readable. 2022-03-09 13:03:23 +01:00
Alexander Arlt
f7b29d55da cmake/EthCompilerSettings.cmake: generator expression fix for ninja. 2022-02-22 08:26:37 -05:00
Leo Alt
c22f0ef9bb Add comment 2022-02-14 20:28:21 +01:00
a3d4
10a431a18b Enable asserts in MSVC RelWithDebInfo configuration 2022-02-14 20:28:21 +01:00
Daniel Kirchner
3a201ec0f8 Build packed soljson.js. 2022-02-14 16:52:59 +01:00
Alex Beregszaszi
c6775bc01f Include picosha2 in the license header 2021-11-07 21:34:02 +00:00
Daniel Kirchner
e7deedb707 Pass emscripten linker options only when linking. 2021-11-04 15:32:04 +01:00
Christian Parpart
3f08b2269a Adds fmtlib as 3rdparty dependency for easier string composition. 2021-10-11 13:35:08 +02:00
Kamil Śliwak
e3a3829f97 Increase minimum Boost version to 1.77 on Windows 2021-09-27 13:15:57 +02:00
Bhargava Shastry
b5f5e85a12 cmake: Remove stdlib compile option for Solidity build. 2021-09-13 11:55:58 +02:00
Bhargava Shastry
7b05d3bc70 CMake: Remove unsigned-integer-overflow check from UBSan compiler flags because it is too noisy. 2021-09-01 16:47:06 +02:00
Bhargava Shastry
f57e625a47 UBSan CI: Remove unsigned-shift-base sanitizer flag. 2021-08-28 12:17:19 +02:00
Bhargava Shastry
0b9fc214c7 Add UBSan build + test CI. 2021-08-26 13:14:56 +02:00
Daniel Kirchner
10c742ed0a Update emscripten build to be compatible with new docker image. 2021-01-13 01:09:34 +01:00
Daniel Kirchner
eac2bcf72f Add range-v3. 2021-01-11 18:44:55 +01:00
chriseth
843e37b6e6 Do not warn about unreachable break. 2020-12-14 14:18:03 +01:00
Alex Beregszaszi
bd641a5206 Enable more C++ compiler warnings 2020-12-10 21:03:58 +00:00
Daniel Kirchner
4cb9a42d9a Verify minimal clang version in cmake. 2020-12-10 17:40:29 +01:00
Daniel Kirchner
7308abc084 Allow loading Z3 dynamically at runtime. 2020-12-10 16:47:47 +01:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Daniel Kirchner
2e6693c849 Update version checks in cmake to match debian stable and remove some workarounds. 2020-12-07 18:26:51 +01:00
Alex Beregszaszi
1e2bfbd6b2 Enable the -Wextra-semi warning 2020-12-04 17:21:19 +01:00
Alexander Arlt
19f764bf65 Split ewasm polyfill functions into different files. 2020-11-17 19:27:44 -05:00
Daniel Kirchner
860226e25d Allow statically linked windows build in CMake. 2020-09-16 12:50:31 +02:00
Daniel Kirchner
c6dff971cb Do not generally override CXX standard. 2020-09-01 14:29:44 +02:00
a3d4
8faa5243b5 Fix MSVC ADL 2020-09-01 00:42:42 +02:00
Christian Parpart
c3eff6ed50 [cmake] C++ version should not be mandated by the toolchain setting, as it conflicts with Windows (CI) builds using vcpkg 2020-08-28 12:47:20 +02:00
chriseth
b3566ad0d5
Merge pull request #9082 from ethereum/conversionWarnings
Adding `-Wsign-conversion` flag and fixing errors
2020-07-13 11:28:09 +02:00
Daniel Kirchner
0fd13b7a9e Upgrade json-cpp to 1.9.3. 2020-07-10 21:40:15 +02:00
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
Bhargava Shastry
c6e2decc3f Disable Z3 in fuzzer builds 2020-05-14 18:36:11 +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
Bhargava Shastry
24eb39ca11 Docker: Add image identical to one used by ossfuzz builder 2020-02-25 10:46:41 +01:00
Bhargava Shastry
3623026505 Switch nightly fuzzer build from ASan (slow) to UBSan (fast) 2020-02-11 14:43:37 +05:30
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