Summary:
Pull Request resolved: https://github.com/facebook/proxygen/pull/601
The granular CMake refactoring in D91009064 broke shared library builds.
1. `proxygen_add_library()` creates INTERFACE targets for shared builds, but
`lib/CMakeLists.txt` called `target_include_directories(... PUBLIC ...)` on
them. CMake only allows INTERFACE properties on INTERFACE targets. These
calls were redundant since `proxygen_add_library()` already sets the same
include directories.
2. In `proxygen_resolve_deferred_dependencies()`, `_obj` targets could fall
through to linking against plain INTERFACE wrapper targets, which link to
the monolithic `proxygen` shared library. Since `proxygen` is built from
those same `_obj` targets, this creates a dependency cycle. Skip deps
without an `_obj` version for `_obj` targets in shared builds.
Reviewed By: jbeshay
Differential Revision: D96253183
fbshipit-source-id: 1b0a1728c014b8475834e31ff09bbed7bd912948
Summary:
Pull Request resolved: https://github.com/facebook/proxygen/pull/593
I found this helpful with some system installs
Reviewed By: lnicco
Differential Revision: D93368374
fbshipit-source-id: daa2966ca637168cbfe69fb65ffe5794e76da5eb
Summary:
Pull Request resolved: https://github.com/facebook/proxygen/pull/590
Add granular CMake targets for proxygen following the same pattern as mvfst,
fizz, and wangle. This introduces:
- generate_cmake.py: Generates CMakeLists.txt files from BUCK/TARGETS files
- ProxygenFunctions.cmake: Infrastructure for proxygen_add_library() macro
- ProxygenCompatAliases.cmake: Backward compatibility aliases for moxygen
- Granular libraries under lib/ with proper dependency tracking
- Lint integration for keeping CMake in sync with BUCK
The monolithic proxygen::proxygen target is preserved for backward compatibility.
Dependencies now come naturally from BUCK files rather than blanket variables.
Manual CMakeLists.txt files (httpserver, httpclient/samples) have been updated
to use proxygen_add_library where appropriate.
Reviewed By: hanidamlaj
Differential Revision: D91009064
fbshipit-source-id: da7234bb29b9f372e989d35540d035ef11c0a2c6