Skip to content

Conversation

@afrind
Copy link
Contributor

@afrind afrind commented Jan 22, 2026

Summary:
Similar to the folly and fizz granular CMake implementations, this adds
granular library targets for wangle that work with both static and
shared library builds.

Key changes:

  • Added WangleFunctions.cmake with wangle_add_library() function
  • Creates OBJECT libraries for compile-once, use-many pattern
  • Creates STATIC libraries (static builds) or INTERFACE libraries linking
    to monolithic wangle (shared builds)
  • Added generate_cmake.py to auto-generate CMakeLists.txt from BUCK files
  • Added lint_cmake_sync.py for arc lint integration
  • Updated main CMakeLists.txt with FetchContent compatibility and
    add_subdirectory() calls for all component directories

The granular targets install as separate static libraries while maintaining
backward compatibility through the monolithic wangle library.

Differential Revision: D91009052

@meta-cla meta-cla bot added the CLA Signed label Jan 22, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 22, 2026

@afrind has exported this pull request. If you are a Meta employee, you can view the originating Diff in D91009052.

Summary:

Similar to the folly and fizz granular CMake implementations, this adds
granular library targets for wangle that work with both static and
shared library builds.

Key changes:
- Added WangleFunctions.cmake with wangle_add_library() function
- Creates OBJECT libraries for compile-once, use-many pattern
- Creates STATIC libraries (static builds) or INTERFACE libraries linking
  to monolithic wangle (shared builds)
- Added generate_cmake.py to auto-generate CMakeLists.txt from BUCK files
- Added lint_cmake_sync.py for arc lint integration
- Updated main CMakeLists.txt with FetchContent compatibility and
  add_subdirectory() calls for all component directories

The granular targets install as separate static libraries while maintaining
backward compatibility through the monolithic wangle library.

Reviewed By: mjoras

Differential Revision: D91009052
@meta-codesync
Copy link

meta-codesync bot commented Jan 30, 2026

This pull request has been merged in dbc2824.

meta-codesync bot pushed a commit to facebook/hhvm that referenced this pull request Jan 30, 2026
Summary:
X-link: facebook/wangle#247

Similar to the folly and fizz granular CMake implementations, this adds
granular library targets for wangle that work with both static and
shared library builds.

Key changes:
- Added WangleFunctions.cmake with wangle_add_library() function
- Creates OBJECT libraries for compile-once, use-many pattern
- Creates STATIC libraries (static builds) or INTERFACE libraries linking
  to monolithic wangle (shared builds)
- Added generate_cmake.py to auto-generate CMakeLists.txt from BUCK files
- Added lint_cmake_sync.py for arc lint integration
- Updated main CMakeLists.txt with FetchContent compatibility and
  add_subdirectory() calls for all component directories

The granular targets install as separate static libraries while maintaining
backward compatibility through the monolithic wangle library.

Reviewed By: mjoras

Differential Revision: D91009052

fbshipit-source-id: b4657f5219f85841dba144f4788c5a1aafabf504
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.

2 participants