Skip to content
Snippets Groups Projects
  1. Feb 02, 2023
  2. Feb 01, 2023
  3. Jan 31, 2023
    • Ben Boeckel's avatar
      cmCommonTargetGenerator: classify linked target directories by language · 837f7c11
      Ben Boeckel authored
      These directories are used to direct collators for Fortran and C++
      modules to consume dependent module information to properly collate.
      However, the consumption of these files merely checks for existence of
      the file, not whether they are actually needed anymore.
      
      The problem arises when a target has Fortran or C++ modules at point A,
      a build occurs populating this file, and then the target is updated to
      no longer have potential modules. The `DependInfo.make` (for
      `Makefiles`) or `<LANG>DependInfo.json` (for `Ninja`) files still exist
      as they are never guaranteed to be cleaned up. This can introduce stale
      information to the build which may cause a false-positive compilation if
      a module file happens to still exist and gets found this way.
      
      Instead, query the `linked-target-dirs` using the language in question
      and only add the directory if it contains potential sources for modules
      coming from the language in question.
      837f7c11
    • Ben Boeckel's avatar
    • Ben Boeckel's avatar
      cmMakefileTargetGenerator: make "target linked info" variable Fortran-specific · 245a89d8
      Ben Boeckel authored
      This variable is Fortran-specific, so clarify that through its name.
      245a89d8
    • Ben Boeckel's avatar
      aeb1b2ae
    • Brad King's avatar
      Xcode: Explicitly disable deprecated user include path feature · 8527f42b
      Brad King authored
      The `ALWAYS_SEARCH_USER_PATHS` feature is documented [1] to search the
      paths in `USER_HEADER_SEARCH_PATHS` before `HEADER_SEARCH_PATHS`.  The
      behavior has been long discouraged and was deprecated by Xcode 8.3.
      Furthermore, Xcode explicitly disables this setting when creating new
      projects.  We can do that too since we do not generate any user header
      search paths anyway.
      
      Previously we always set `USE_HEADERMAP` to `NO` to prevent Xcode's
      warning about an ancient "header map" feature deprecation.  However,
      this somehow breaks Xcode 14's "Build Documentation" feature.  Setting
      `ALWAYS_SEARCH_USER_PATHS` to `NO` seems to prevent the header map
      warning too, so drop `USE_HEADERMAP` to fix the documentation feature.
      
      [1] https://developer.apple.com/documentation/xcode/build-settings-reference
      
      Fixes: #24379
      8527f42b
    • Ben Boeckel's avatar
      cmTarget: simplify `CheckLinkLibraryPattern` · 33f62918
      Ben Boeckel authored
      Now that usage properties have more of a representation, the function
      can just take the requirement directly.
      33f62918
Loading