Skip to content
  • Brad King's avatar
    ninja: Add experimental infrastructure for C++20 module dependency scanning · 4b233591
    Brad King authored
    Optionally enable this infrastructure through an undocumented
    `CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP` variable.  Currently this is
    experimental and intended for use by compiler writers to implement their
    scanning tools.  Warn as such when the feature is activated.  Later when
    compilers provide the needed scanning tools we can enable this variable
    from our corresponding compiler information modules.  It is never meant
    to be set by project code.
    
    When enabled, generate a build graph similar to what we use for Fortran
    module dependencies.  There are some differences needed because we can
    scan dependencies without explicit preprocessing, and can directly
    compile the original source afterward.
    
    Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
    4b233591