-
Notifications
You must be signed in to change notification settings - Fork 649
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
Replace build tools #1923
Replace build tools #1923
Conversation
Just a little idea to improve developers' experience, we could warn the developer if he is cross-compiling, that he should consider the |
CMake will now detect changes in dependencies of generated files, and re-run itself if required. There is one case that is not handled properly, but that wasn't handled properly before either: adding a new hardfork file in |
I have played a little bit with it. See here: crypto-ape@6b9a6b1 Using @pmconrad 's CMake scripts I was able to generate the required files, but in a way that is compatible with the old build-flow.
No other dependencies, only CMake. What do you think, @pmconrad ? |
Very good. Cherry-picked your changes on top of this branch. |
Just tried to compile with MSVC 2015 and it fails. The line in the generated
According to MSDN "The maximum length of a string literal is 65,535 bytes". I will try to find a workaround for this. |
@crypto-ape modified the script to split genesis into chunks of 10k, can you test? |
Tested it successfully on Windows with MSVC and MinGW. Seems good to me. |
Thanks. @abitmore do you want to test as well? |
I don't want to test, if not necessary :) |
Can you approve then? |
This is an alternative to parts of #1706 - the goal is to facilitate cross-compilation by getting rid of the c++-based build tools
cat-parts
andembed_genesis
.This PR replaces them with (admittedly somewhat crude) CMake-builtins, instead of the much bigger python scripts in #1706.
Note: the downside is that this PR creates the files during
cmake
execution, meaning thatmake
won't rebuild if dependencies (i. e.hardfork.d/*
orgenesis.json
) are changed.