Replaces add_custom_command/add_custom_target with ExternalProject_Add,
which correctly declares BUILD_BYPRODUCTS for Ninja and propagates include
paths via INTERFACE_INCLUDE_DIRECTORIES on the IMPORTED STATIC target.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>