The Wayback Machine - https://web.archive.org./web/20210504142441/https://github.com/ethereum/solidity/pull/10737
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add range-v3. #10737

Merged
merged 1 commit into from on Jan 11, 2021
Merged

Add range-v3. #10737

merged 1 commit into from on Jan 11, 2021

Conversation

@ekpyron
Copy link
Member

@ekpyron ekpyron commented on Jan 11, 2021

Refs #8860

@ekpyron ekpyron force-pushed the range-v3 branch from c3bc63e to fd0dd91 on Jan 11, 2021
@ekpyron ekpyron marked this pull request as ready for review on Jan 11, 2021
@ekpyron ekpyron requested review from axic and chriseth on Jan 11, 2021
@@ -108,6 +108,7 @@ mv solidity solc
# Fetch jsoncpp dependency
mkdir -p ./solc/deps/downloads/ 2>/dev/null || true
wget -O ./solc/deps/downloads/jsoncpp-1.9.3.tar.gz https://github.com/open-source-parsers/jsoncpp/archive/1.9.3.tar.gz
wget -O ./solc/deps/downloads/range-v3-0.11.0.tar.gz https://github.com/ericniebler/range-v3/archive/0.11.0.tar.gz

This comment has been minimized.

@chriseth

chriseth on Jan 11, 2021
Contributor

Did you try this?

This comment has been minimized.

@ekpyron

ekpyron on Jan 11, 2021
Author Member

Not yet as an actual PPA build, no... but putting it there has it not-redownload, so it should work just as for jsoncpp.

@@ -40,7 +40,7 @@ set(sources
)

add_library(solutil ${sources})
target_link_libraries(solutil PUBLIC jsoncpp Boost::boost Boost::filesystem Boost::system)
target_link_libraries(solutil PUBLIC jsoncpp Boost::boost Boost::filesystem Boost::system range-v3)

This comment has been minimized.

@chriseth

chriseth on Jan 11, 2021
Contributor

It's not header-only?

This comment has been minimized.

@ekpyron

ekpyron on Jan 11, 2021
Author Member

It is - this pulls in the include directory only - it's an "INTERFACE" library for cmake - that's what they call header-only libraries.

This comment has been minimized.

@ekpyron

ekpyron on Jan 11, 2021
Author Member

(We could have skipped it here, because the jsoncpp will also already add build/deps/include as include directory - but it's cleaner if we do it for range-v3 as well - but this does nothing else than exactly that plus making cmake aware of the dependency, s.t. it actually executes the ExternalProject_Add stuff.)

This comment has been minimized.

@chriseth

chriseth on Jan 11, 2021
Contributor

Ah right!

This comment has been minimized.

@joko300370

joko300370 on Apr 6, 2021

i would like get merged

CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DBUILD_TESTING=OFF
-DRANGES_CXX_STD=17

This comment has been minimized.

@chriseth

chriseth on Jan 11, 2021
Contributor

Is it possible to take this from our config? If not, can you add a comment to where we set it so that we don't forget to update this?

This comment has been minimized.

@ekpyron

ekpyron on Jan 11, 2021
Author Member

Changed it. Actually we probably wouldn't even need it, since this actually doesn't build anything, since we disable tests and examples, but still - it now uses ${CMAKE_CXX_STANDARD} which is set by us.

This comment has been minimized.

@chriseth

chriseth on Jan 11, 2021
Contributor

Ah nice!

@ekpyron ekpyron force-pushed the range-v3 branch from fd0dd91 to eac2bcf on Jan 11, 2021
@ekpyron
Copy link
Member Author

@ekpyron ekpyron commented on Jan 11, 2021

That was easy :-).

@chriseth chriseth merged commit 67d21a8 into develop on Jan 11, 2021
45 checks passed
45 checks passed
ci/circleci: b_archlinux Your tests passed on CircleCI!
Details
ci/circleci: b_bytecode_ems Your tests passed on CircleCI!
Details
ci/circleci: b_bytecode_osx Your tests passed on CircleCI!
Details
ci/circleci: b_bytecode_ubu Your tests passed on CircleCI!
Details
ci/circleci: b_bytecode_win Your tests passed on CircleCI!
Details
ci/circleci: b_docs Your tests passed on CircleCI!
Details
ci/circleci: b_ems Your tests passed on CircleCI!
Details
ci/circleci: b_osx Your tests passed on CircleCI!
Details
ci/circleci: b_ubu Your tests passed on CircleCI!
Details
ci/circleci: b_ubu_clang Your tests passed on CircleCI!
Details
ci/circleci: b_ubu_cxx20 Your tests passed on CircleCI!
Details
ci/circleci: b_ubu_ossfuzz Your tests passed on CircleCI!
Details
ci/circleci: b_ubu_release Your tests passed on CircleCI!
Details
ci/circleci: b_ubu_static Your tests passed on CircleCI!
Details
ci/circleci: b_win Your tests passed on CircleCI!
Details
ci/circleci: b_win_release Your tests passed on CircleCI!
Details
ci/circleci: chk_antlr_grammar Your tests passed on CircleCI!
Details
ci/circleci: chk_buglist Your tests passed on CircleCI!
Details
ci/circleci: chk_coding_style Your tests passed on CircleCI!
Details
ci/circleci: chk_docs_pragma_min_version Your tests passed on CircleCI!
Details
ci/circleci: chk_errorcodes Your tests passed on CircleCI!
Details
ci/circleci: chk_proofs Your tests passed on CircleCI!
Details
ci/circleci: chk_pylint Your tests passed on CircleCI!
Details
ci/circleci: chk_spelling Your tests passed on CircleCI!
Details
ci/circleci: t_archlinux_soltest Your tests passed on CircleCI!
Details
ci/circleci: t_bytecode_compare Your tests passed on CircleCI!
Details
ci/circleci: t_ems_compile_ext_colony Your tests passed on CircleCI!
Details
ci/circleci: t_ems_compile_ext_ens Your tests passed on CircleCI!
Details
ci/circleci: t_ems_compile_ext_gnosis Your tests passed on CircleCI!
Details
ci/circleci: t_ems_compile_ext_gnosis_v2 Your tests passed on CircleCI!
Details
ci/circleci: t_ems_compile_ext_zeppelin Your tests passed on CircleCI!
Details
ci/circleci: t_ems_solcjs Your tests passed on CircleCI!
Details
ci/circleci: t_ems_test_ext_ens Your tests passed on CircleCI!
Details
ci/circleci: t_ems_test_ext_gnosis_v2 Your tests passed on CircleCI!
Details
ci/circleci: t_ems_test_ext_zeppelin Your tests passed on CircleCI!
Details
ci/circleci: t_osx_cli Your tests passed on CircleCI!
Details
ci/circleci: t_osx_soltest Your tests passed on CircleCI!
Details
ci/circleci: t_ubu_clang_soltest Your tests passed on CircleCI!
Details
ci/circleci: t_ubu_cli Your tests passed on CircleCI!
Details
ci/circleci: t_ubu_release_cli Your tests passed on CircleCI!
Details
ci/circleci: t_ubu_release_soltest Your tests passed on CircleCI!
Details
ci/circleci: t_ubu_soltest Your tests passed on CircleCI!
Details
ci/circleci: t_ubu_soltest_enforce_yul Your tests passed on CircleCI!
Details
ci/circleci: t_win Your tests passed on CircleCI!
Details
ci/circleci: t_win_release Your tests passed on CircleCI!
Details
@chriseth chriseth deleted the range-v3 branch on Jan 11, 2021
@leonardoalt
Copy link
Member

@leonardoalt leonardoalt commented on Jan 11, 2021

Oh nice!

@axic
Copy link
Member

@axic axic commented on Jan 11, 2021

@ekpyron well, you used external project, so of course it was going to be easy :) (There's precedent for that in the build system.)

@ekpyron
Copy link
Member Author

@ekpyron ekpyron commented on Jan 11, 2021

Yeah, well, thanks for #8860 (comment) ;-).

@ekpyron
Copy link
Member Author

@ekpyron ekpyron commented on Jan 12, 2021

I mean: I still think it's evil and mean, if make starts downloading stuff :-D. But that applies to any use of ExternalProject_add anyways, so since we already use it, adding a second instance doesn't exactly make it much worse - and once I ultimately convinced all of you of that, we can just change it for all of them at once :-).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants