Skip to content
Snippets Groups Projects
  1. Jul 25, 2023
  2. Jul 24, 2023
  3. Jul 22, 2023
    • Ben Boeckel's avatar
      cmComputeLinkInformation: track OBJECT library dependencies · b6659669
      Ben Boeckel authored
      In commit b6a53822 (Ninja: depend on language module information files
      directly, 2023-02-10), introduced via !8197, language-specific module
      information files (`CMakeFiles/<target>.dir/<lang>Modules.json`) files
      were added as real dependencies to the dyndep collation steps.
      Previously, the behavior was to inform the collator of all possible
      targets and search for the files manually ignoring those which did not
      exist with ordering enforced by depending on the linker output of all
      dependent targets. This behavior could lead to stale information being
      used (e.g., if a target stops providing any targets) and also did not
      reliably build everything needed on rebuilds. Afterwards, the internal
      computation changed the dependency from all possible targets to an exact
      set of "these targets might have modules" query, however one that did
      not include `OBJECT` libraries since do not have `LinkEntry` items
      internally (their objects are instead treated as source files).
      
      As a stopgap measure, track `OBJECT` libraries in a separate list and
      query them explicitly when gathering targets which may have interesting
      information. Future work can add `LinkEntry` items to represent these
      targets once all `LinkEntry` consumers have been audited to make sure
      they are not surprised by any `OBJECT` library entries.
      
      Fixes: #25112
      b6659669
    • Ben Boeckel's avatar
      Tests/RunCMake/CXXModules: add a test for issue #25112 · a99b87a6
      Ben Boeckel authored
      Add a test case for C++ `OBJECT` libraries providing modules to
      consumers.
      a99b87a6
    • Ben Boeckel's avatar
      Tests/FortranOnly: add a test case for issue #25112 · 2870a675
      Ben Boeckel authored
      Add a test case for Fortran `OBJECT` libraries providing modules to
      consumers.
      2870a675
  4. Jul 21, 2023
  5. Jul 20, 2023
  6. Jul 19, 2023
  7. Jul 18, 2023
  8. Jul 17, 2023
  9. Jul 14, 2023
  10. Jul 13, 2023
Loading