1
0
mirror of https://github.com/facebook/proxygen.git synced 2026-10-24 01:33:54 +03:00
Files
proxygen/cmake
Alan Frindell 6c8097b1b8 Fix CMake BUILD_SHARED_LIBS=ON support (#601)
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
2026-03-12 13:38:41 -07:00
..
2022-01-18 16:28:39 -08:00
2022-01-18 16:28:39 -08:00