diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | ReleaseChecklist.md | 6 | ||||
-rw-r--r-- | cmake/EthCompilerSettings.cmake | 8 | ||||
-rw-r--r-- | cmake/EthToolchains.cmake | 8 | ||||
-rw-r--r-- | cmake/toolchains/default.cmake | 4 | ||||
-rw-r--r-- | cmake/toolchains/emscripten.cmake | 2 | ||||
-rw-r--r-- | docs/frequently-asked-questions.rst | 11 | ||||
-rwxr-xr-x | scripts/travis-emscripten/build_emscripten.sh | 3 |
8 files changed, 22 insertions, 22 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 745ec597..1db1d052 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.0.0) set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake" CACHE PATH "The the path to the cmake directory") list(APPEND CMAKE_MODULE_PATH ${ETH_CMAKE_DIR}) +include(EthToolchains) + # Set cmake_policies include(EthPolicy) eth_policy() diff --git a/ReleaseChecklist.md b/ReleaseChecklist.md index 04734544..c10db742 100644 --- a/ReleaseChecklist.md +++ b/ReleaseChecklist.md @@ -4,11 +4,13 @@ Checklist for making a release: - [ ] Check that all issues and pull requests from the Github project to be released are merged to ``develop``. - [ ] Create a commit in ``develop`` that updates the ``Changelog`` to include a release date (run ``./scripts/tests.sh`` to update the bug list). Sort the changelog entries alphabetically and correct any errors you notice. - [ ] Create a pull request and wait for the tests, merge it. + - [ ] Thank voluntary contributors in the Github release page (use ``git shortlog -s -n -e origin/release..origin/develop``). - [ ] Create a pull request from ``develop`` to ``release``, wait for the tests, then merge it. - - [ ] Make a final check that there are no platform-dependency issues in the ``solc-test-bytecode`` repository. + - [ ] Make a final check that there are no platform-dependency issues in the ``solidity-test-bytecode`` repository. - [ ] Wait for the tests for the commit on ``release``, create a release in Github, creating the tag. - - [ ] Thank voluntary contributors in the Github release page (use ``git shortlog -s -n -e origin/release..origin/develop``). - [ ] Wait for the CI runs on the tag itself (they should push artifacts onto the Github release page). + - [ ] Run ``scripts/create_source_tarball.sh`` while being on the tag to create the source tarball. + - [ ] Upload the source tarball (in the upload directory) to the release page. - [ ] Run ``scripts/release_ppa.sh release`` to create the PPA release (you need the relevant openssl key). - [ ] Once the ``~ethereum/ubuntu/ethereum-static`` PPA build is finished and published for all platforms (make sure not to do this earlier), copy the static package to the ``~ethereum/ubuntu/ethereum`` PPA for the destination series ``Trusty`` while selecting ``Copy existing binaries``. - [ ] Check that the Docker release was pushed to Docker Hub (this still seems to have problems, run ``./scripts/docker_deploy_manual.sh release``). diff --git a/cmake/EthCompilerSettings.cmake b/cmake/EthCompilerSettings.cmake index b5cfd09d..c45ecba6 100644 --- a/cmake/EthCompilerSettings.cmake +++ b/cmake/EthCompilerSettings.cmake @@ -24,10 +24,6 @@ endif() eth_add_cxx_compiler_flag_if_supported(-Wimplicit-fallthrough) if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")) - - # Use ISO C++14 standard language. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - # Enables all the warnings about constructions that some users consider questionable, # and that are easy to avoid. Also enable some extra warning flags that are not # enabled by -Wall. Finally, treat at warnings-as-errors, which forces developers @@ -78,10 +74,8 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA # into errors, which makes sense. # http://stackoverflow.com/questions/21617158/how-to-silence-unused-command-line-argument-error-with-clang-without-disabling-i add_compile_options(-Qunused-arguments) - endif() - if (EMSCRIPTEN) - # Do not emit a separate memory initialiser file + elseif(EMSCRIPTEN) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --memory-init-file 0") # Leave only exported symbols as public and aggressively remove others set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections -fvisibility=hidden") diff --git a/cmake/EthToolchains.cmake b/cmake/EthToolchains.cmake new file mode 100644 index 00000000..a4263b7d --- /dev/null +++ b/cmake/EthToolchains.cmake @@ -0,0 +1,8 @@ +if(NOT CMAKE_TOOLCHAIN_FILE) + # Use default toolchain file if none is provided. + set( + CMAKE_TOOLCHAIN_FILE + "${CMAKE_CURRENT_LIST_DIR}/toolchains/default.cmake" + CACHE FILEPATH "The CMake toolchain file" + ) +endif() diff --git a/cmake/toolchains/default.cmake b/cmake/toolchains/default.cmake new file mode 100644 index 00000000..baf859b7 --- /dev/null +++ b/cmake/toolchains/default.cmake @@ -0,0 +1,4 @@ +# Require C++14. +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED TRUE) +set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/cmake/toolchains/emscripten.cmake b/cmake/toolchains/emscripten.cmake new file mode 100644 index 00000000..6c29074f --- /dev/null +++ b/cmake/toolchains/emscripten.cmake @@ -0,0 +1,2 @@ +include("${CMAKE_CURRENT_LIST_DIR}/default.cmake") +include("$ENV{EMSCRIPTEN}/cmake/Modules/Platform/Emscripten.cmake") diff --git a/docs/frequently-asked-questions.rst b/docs/frequently-asked-questions.rst index d263e0c6..ae25b935 100644 --- a/docs/frequently-asked-questions.rst +++ b/docs/frequently-asked-questions.rst @@ -16,11 +16,6 @@ Enums are not supported by the ABI, they are just supported by Solidity. You have to do the mapping yourself for now, we might provide some help later. -How do structs work? -==================== - -See `struct_and_for_loop_tester.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/65_struct_and_for_loop_tester.sol>`_. - What are some examples of basic string manipulation (``substring``, ``indexOf``, ``charAt``, etc)? ================================================================================================== @@ -71,12 +66,6 @@ arguments for you. See `ping.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/45_ping.sol>`_ and `pong.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/45_pong.sol>`_. -Are comments included with deployed contracts and do they increase deployment gas? -================================================================================== - -No, everything that is not needed for execution is removed during compilation. -This includes, among others, comments, variable names and type names. - What happens if you send ether along with a function call to a contract? ======================================================================== diff --git a/scripts/travis-emscripten/build_emscripten.sh b/scripts/travis-emscripten/build_emscripten.sh index 32899903..d1978a7c 100755 --- a/scripts/travis-emscripten/build_emscripten.sh +++ b/scripts/travis-emscripten/build_emscripten.sh @@ -79,9 +79,8 @@ cd $WORKSPACE mkdir -p build cd build cmake \ - -DCMAKE_TOOLCHAIN_FILE=$EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake \ + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/emscripten.cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DEMSCRIPTEN=1 \ -DBoost_FOUND=1 \ -DBoost_USE_STATIC_LIBS=1 \ -DBoost_USE_STATIC_RUNTIME=1 \ |