wasphin opened a new pull request, #3618:
URL: https://github.com/apache/brpc/pull/3618
### What problem does this PR solve?
Issue Number: N/A
Problem Summary:
The root CMake project owns source lists, production object targets and
module-specific configuration for all modules. This makes module ownership
hard to follow and expands the review surface of later packaging changes.
This extracts the two prerequisite refactoring commits from #3596. Component
libraries, package exports and the subsequent dependency-resolver rewrite are
not included.
### What is changed and the side effects?
Changed:
Please prefer **Rebase and merge** to preserve the two reviewable steps:
1. Move production source selection and protocol generation into module
directories, retaining the existing bundle and test source inputs.
2. Move production object targets, feature/dependency handling and header
installation into the owning modules. Reuse the module objects in the
existing bundles and the source sets in debug unit-test targets.
Generate `butil/config.h` in the build tree, keep common options in the root,
and scope CRC32C instruction options to the affected source files, including
debug builds. Preserve the existing RISC-V vector architecture options.
Side effects:
- Performance effects: No intended runtime change. Production sources are
compiled once and reused for the existing bundle outputs.
- Breaking backward compatibility: Existing bundle names are unchanged.
CMake no longer stages headers in `output/include`; use
`cmake --install build --prefix build/output` to obtain an installation
prefix. Make and Bazel header generation remain unchanged.
---
### Check List:
- [x] Please make sure your changes are compilable.
- [x] When providing us with a new feature, it is best to add related tests.
- [x] Please follow [Contributor Covenant Code of
Conduct](https://github.com/apache/brpc/blob/master/CODE_OF_CONDUCT.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]