-
Notifications
You must be signed in to change notification settings - Fork 32
Add install-lib
and install-bin
build targets
#74
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
Conversation
This changes is required for the following two commits.
Drafted until Concept (N)ACK. |
Few thoughts:
|
When cross building, using `make install-lib` allows to avoid unneeded building of `mpgen` for a target system.
When cross building, using `make install-bin` allows to avoid unneeded building of `libmultiprocess` for a build system.
cd9389f
to
fa130db
Compare
Updated cd9389f -> fa130db (pr74.01 -> pr74.02, diff). Thank you for your suggestions!
Implemented. The PR description has been updated. The only downside of the current implementation is that new |
install-lib
and install-bin
build targets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code review ACK fa130db. This does exactly what I'd expect now, so will merge it. But you do bring up an important point about no longer exporting cmake targets.
The only downside of the current implementation is that new
install-lib
andinstall-bin
targets do not export the underlying targets.
Can confirm neither of the new install commands create $PREFIX/cmake/Multiprocess/Multiprocess.cmake
and $PREFIX/lib/cmake/Multiprocess/Multiprocess-debug.cmake
files.
Probably should update install()
EXPORT Multiprocess
arguments to EXPORT libmultiprocess-bin
and EXPORT libmultiprocess-lib
so the two installs can be independent. And maybe there is a way to get the new install-bin
and install-lib
commands to actually export these targets.
But I am now thinking maybe a better long-term solution is to split up the cmake project into two projects. It could also clarify the source organization to split the parts of the code that are needed for code generation from the parts that are used at runtime.
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin/bitcoin#25972 (comment)) for bitcoin/bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin#25972 (comment)) for bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
2dda753 Install Exports for custom `install-{lib,bin}` targets (Hennadii Stepanov) 54bd57f Use `GNUInstallDirs` module (Hennadii Stepanov) Pull request description: This is a follow up of #74 and addresses #74 (review): > > The only downside of the current implementation is that new `install-lib` and `install-bin` targets do not export the underlying targets. > > Can confirm neither of the new install commands create `$PREFIX/cmake/Multiprocess/Multiprocess.cmake` and `$PREFIX/lib/cmake/Multiprocess/Multiprocess-debug.cmake` files. > > Probably should update `install()` `EXPORT Multiprocess` arguments to `EXPORT libmultiprocess-bin` and `EXPORT libmultiprocess-lib` so the two installs can be independent. And maybe there is a way to get the new `install-bin` and `install-lib` commands to actually export these targets. ACKs for top commit: ryanofsky: Code review ACK 2dda753. Only change since last review is changing namespace prefix to match project name as suggested (thanks!) Tree-SHA512: 4f41148e6a95f95790f9b4c3cf7694244f15f6100d2b860f182d6b14262ade320daf246bac1393419b04a0ef73b9da4291be70637038ed54b0484611a9aa8656
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin#25972 (comment)) for bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin#25972 (comment)) for bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin#25972 (comment)) for bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin#25972 (comment)) for bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
1986f12 build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - bitcoin-core/libmultiprocess#78 which is [required](bitcoin#25972 (comment)) for bitcoin#25972 - bitcoin-core/libmultiprocess#74 - bitcoin-core/libmultiprocess#70 ACKs for top commit: ryanofsky: Code review ACK 1986f12 Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb
This PR adds new
install-lib
andinstall-bin
build targets which allow to build and install only required artifacts during different stages of cross-building.A demo, which uses this branch in Bitcoin Core, is here.