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

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.

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.

1 participant