You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
full configure-time resolution of find_package() or FetchContent_MakeAvailable()
Why this is worth tracking
CMake projects are common, but CMakeLists.txt is a dynamic build language rather than a stable manifest format. A bounded static parser could still extract useful package identity and dependency clues without executing CMake, similar in spirit to Provenant's bounded meson.build support.
Add support for bounded static parsing of
CMakeLists.txtfor package metadata and declared dependency intent.Proposed scope
project()metadata such as name, version, description, homepage URL, and SPDX license when presentfind_package()calls as declared dependency intentFetchContent_Declare()calls as vendored dependency intentinclude(CPack)plus explicitCPACK_*package metadataset(VAR "literal")casesExplicitly out of scope for the first pass
include()-driven cross-file evaluationmacro()orfunction()find_package()orFetchContent_MakeAvailable()Why this is worth tracking
CMake projects are common, but
CMakeLists.txtis a dynamic build language rather than a stable manifest format. A bounded static parser could still extract useful package identity and dependency clues without executing CMake, similar in spirit to Provenant's boundedmeson.buildsupport.Related local context
portfile.cmake/CONTROLsupport, which is CMake-adjacent but not genericCMakeLists.txtparsing.CMakeLists.txtpackage parsing.