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

Adding boost as a submodule rather than depending on external references. #4030

Merged
merged 2 commits into from
Jan 13, 2023

Conversation

clemahieu
Copy link
Contributor

@clemahieu clemahieu commented Jan 5, 2023

Updating to boost 1.81 and removing CMake target links to Boost::boost which are no longer needed

Added boost_checkout_lite.sh which can be used to only clone required dependencies rather than every boost submodule in the /libs folder. The boost submodule can be initialized with: git submodule update --init boost && ./boost_checkout_lite.sh

@clemahieu
Copy link
Contributor Author

Related to #4024

@clemahieu
Copy link
Contributor Author

clemahieu commented Jan 5, 2023

Disk usage stats:

nano-node repo without boost submodule initialised
nano-node.src % du -sh .
1.5G .

Size of full boost repo:
boost.src % du -sh .
1.9G

Boost source extracted from archive:
boost_1_74_0$ du -sh .
798M

With boost_checkout_lite.sh
nano-node.src % du -sh .
2.6G

With full recursive checkout
nano-node.src % du -sh .
3.5G

@qwahzi qwahzi mentioned this pull request Jan 5, 2023
7 tasks
@clemahieu clemahieu force-pushed the boost_submodule branch 3 times, most recently from 62d1336 to ad9a6a9 Compare January 11, 2023 10:17
nano/lib/logger_mt.hpp Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
ci/actions/windows/build.ps1 Outdated Show resolved Hide resolved
nano/node/logging.cpp Show resolved Hide resolved
pwojcikdev
pwojcikdev previously approved these changes Jan 13, 2023
Copy link
Contributor

@pwojcikdev pwojcikdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's good to see the conversion removed a lot of unnecessary complexity from cmakefiles and source

…xternally.

The boost libs are now statically linked to the nano targets so dynamic linking related functionality has been removed.
Adding several target link references that were missing but not apparent when using the unified boost install directories
Linking to boost stacktrace basic as this is the main functionality we use.
Windows Event Log support has been disabled as there is a compatibility issue with GitHub builders
Windows cryptopp ASM has been disabled since CMake isn't assembling .asm files for unknown reasons.
Added boost_checkout_lite.sh script which can be used to do a minimal clone of the boost submodule after it's been added but not yet initialized.
@milahu milahu mentioned this pull request Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants