1. 12 Jan, 2021 1 commit
  2. 15 Dec, 2020 1 commit
  3. 24 Nov, 2020 2 commits
    • Deniz Bahadir's avatar
      GENERATED prop: Set CMP0118 to NEW for some (unrelated) tests · 573d5120
      Deniz Bahadir authored
      * Adjusting the (unrelated) RunCMake.Ninja test to set CMP0118 to `NEW`.
      * Adjusting the (unrelated) RunCMake.FileAPI test to set CMP0118 to
        `NEW`.
      573d5120
    • Deniz Bahadir's avatar
      GENERATED prop: Check CMP0118 policy and warn in certain situations · ca4ce458
      Deniz Bahadir authored
      * Adding tests for CMP0118 being unset (aka set to `WARN`).
      * Adjusting the (unrelated) RunCMake.CMP0026 test to set CMP0118 to
        `NEW`,
      * Adjusting the (unrelated) RunCMake.Ninja test to set CMP0118 to `OLD`.
      * Adjusting the (unrelated) RunCMake.FileAPI test to set CMP0118 to
        `OLD`.
      
      Note:
      Setting CMP0118 to `NEW` and modifying the `GENERATED` property with
      `set_property` or `set_source_files_properties` will currently NOT set
      that property because the implementation is still to come.
      ca4ce458
  4. 21 Aug, 2020 1 commit
  5. 07 Aug, 2020 1 commit
    • Brad King's avatar
      fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2 · bafa9fe8
      Brad King authored
      INTERFACE libraries with SOURCES now appear in the generated
      buildsystem, so include them in the codemodel output too.
      
      We do not need to bump the `codemodel-v2` object kind minor
      version because that was already done in post-3.18 development
      by commit 7d6861f3 (fileapi: Extend codemodel targets with
      language standard, 2020-06-18).
      
      Fixes: #18608
      bafa9fe8
  6. 06 Jul, 2020 1 commit
  7. 26 Jun, 2020 1 commit
  8. 22 May, 2020 3 commits
  9. 04 Mar, 2020 1 commit
    • Brad King's avatar
      Fix dependencies on targets linked through object libraries · a833aa11
      Brad King authored
      When an object library is used via `target_link_libraries`, any targets
      listed in the object library's `INTERFACE_LINK_LIBRARIES` closure should
      become direct dependencies of the consuming target.  However, these were
      accidentally left out by `cmComputeTargetDepends::CollectTargetDepends`
      because object libraries are encountered through external object sources
      first and then added to the `emitted` set which blocks them from being
      processed as link dependencies.
      
      This was not noticed by the test case in commit bab24e78
      (target_link_libraries: Propagate dependencies of object libraries,
      2018-12-10, v3.14.0-rc1~260^2) because the relevant dependency appears
      transitively through the object library target itself.
      
      Re-order the logic to process link dependencies first, and then external
      object sources.  That way object libraries used via
      `target_link_libraries` will be treated as such by dependency analysis.
      
      This also adds missing backtrace information for object libraries used
      via `target_link_libraries`.  The missing information was mentioned in a
      FIXME comment in the RunCMake.FileAPI test added by commit ea0a0601
      (fileapi: Add test for codemodel v2, 2018-11-09, v3.14.0-rc1~257^2~7).
      That comment itself was dropped by commit a0de350e (FileAPI test:
      Break gen_check_targets() into JSON files, 2020-02-07), but we can now
      update the corresponding location in the `.json` files to have the
      now-expected backtrace information.
      
      Fixes: #20421
      a833aa11
  10. 07 Feb, 2020 4 commits
  11. 06 Feb, 2020 1 commit
  12. 13 Dec, 2019 1 commit
  13. 20 Nov, 2019 1 commit
  14. 26 Sep, 2019 1 commit
  15. 18 Sep, 2019 1 commit
  16. 10 Sep, 2019 1 commit
  17. 31 Jul, 2019 1 commit
    • Brad King's avatar
      fileapi: Fix codemodel target install destination for cross-dir rules · d70a0f86
      Brad King authored
      Since commit e89ad0f9 (install: Allow installing targets created in
      another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling
      `install(TARGETS)` for targets created in another directory.  However,
      install generators are associated with the directory in which the call
      to `install()` appears.  This may not be the same directory in which the
      target is defined.  Record in each target the list of install generators
      it has.
      
      Fixes: #19546
      d70a0f86
  18. 16 Jul, 2019 1 commit
    • Brad King's avatar
      AIX: Create import library for executables with exports · 2fa920c0
      Brad King authored
      On AIX, plugins meant to be loaded into executables via `dlopen` must be
      linked with access to a list of symbols exported from the executable in
      order to use them (when not using runtime linking).  The AIX linker
      supports specifying this list as an "import file" passed on the command
      line either via the `-bI:...` option or (with a leading `#! .` line) as
      a normal input file like any other library file.
      
      The linker import file plays the same role on AIX as import libraries do
      on Windows.  Teach CMake to enable its import library abstraction on AIX
      for executables with the `ENABLE_EXPORTS` target property set.  Teach
      our internal `ExportImportList` script to optionally generate a leading
      `#! .` line at the top of the generated export/import list.  Update our
      rule for linking an executable with exports to generate a public-facing
      "import library" implemented as an AIX linker import file.
      
      With this approach, our existing infrastructure for handling impo...
      2fa920c0
  19. 12 Dec, 2018 13 commits