Skip to content
Snippets Groups Projects
  1. Apr 22, 2021
  2. Apr 20, 2021
    • Brad King's avatar
      Autogen: Restore mocs_compilation in OBJECT libraries · b84f1e61
      Brad King authored
      Since commit f65f2093 (Autogen: Avoid processing CSharp targets,
      2020-11-12, v3.20.0-rc1~301^2) we collect all sources for a target
      earlier than previously.  Clear the sources cache so that it will be
      re-computed later after AUTOGEN processing.
      
      Fixes: #22085
      b84f1e61
  3. Apr 16, 2021
  4. Apr 07, 2021
    • Brad King's avatar
      Restore support for backslashes in initial language-wide flags · 3953dfcb
      Brad King authored
      Refactoring in commit bdc40742 (CMakeDetermineCompilerId: Test without
      COMPILER_ID_FLAGS if REQUIRE_SUCCESS, 2021-02-27, v3.20.0-rc3~6^2) added
      an extra macro layer through which flag strings are passed.  That caused
      an extra level of argument re-parsing, and broke flags with backslashes.
      Pass flags to the helper macro through variable names instead.
      
      Fixes: #22041
      3953dfcb
  5. Apr 05, 2021
  6. Mar 31, 2021
  7. Mar 29, 2021
  8. Mar 26, 2021
  9. Mar 25, 2021
  10. Mar 18, 2021
    • Brad King's avatar
      CMP0118: Fix NEW behavior when looking up target sources · 06feb845
      Brad King authored
      Under the CMP0118 NEW behavior, sources generated in one directory
      should be visible when added to targets in other directories.  This was
      accidentally left out of commit 6624b65b (GENERATED prop: Add
      implementation for policy CMP0118 being set to NEW, 2020-11-09,
      v3.20.0-rc1~393^2~1).
      
      Fixes: #18399
      06feb845
  11. Mar 15, 2021
  12. Mar 10, 2021
    • Brad King's avatar
      Xcode: Restore support for spaces in framework names · 4f9a7197
      Brad King authored
      In commit ce2dee9e (Xcode: Don't add framework as -framework argument
      in linker info list, 2020-09-28, v3.19.0-rc1~47^2) we split up the path
      to a framework into the directory and framework name parts, but only
      retained the quoting on the directory part.  Restore quoting of the
      framework name.
      
      Fixes: #21910
      4f9a7197
  13. Mar 09, 2021
    • Craig Scott's avatar
      Revert ExternalProject and FetchContent refactoring · 57d442e1
      Craig Scott authored
      Refactoring of the ExternalProject and FetchContent modules moved
      the commands into CMake scripts. This broke custom commands that
      used shell redirection or special build tool variables of the form
      $(MakeVar). Undo the sequence of commits that performed this
      refactoring and follow-up fixes associated with it.
      
      The following commits are reverted by this change:
      
      4f3d1abb (ExternalProject: Refactor pre-configure steps to support
      no-target uses, 2021-02-05)
      
      17e5516e (FetchContent: Invoke steps directly and avoid a separate
      sub-build, 2021-01-29)
      
      bd876f38 (FetchContent: Restore patch command support,
      2021-02-18)
      
      404cddb7 (ExternalProject: Fix misuse of IS_NEWER_THAN in
      timestamp checks, 2021-02-21)
      
      b0da6712 (FetchContent: Don't update timestamps if files don't
      change, 2021-02-18)
      
      Fixes: #21892
      57d442e1
  14. Mar 03, 2021
  15. Feb 24, 2021
  16. Feb 23, 2021
  17. Feb 22, 2021
    • Brad King's avatar
      Tests: Suppress failures on macOS arm64 due to separate Xcode signing phase · 1c15eb39
      Brad King authored
      Some tests fail because Xcode runs `POST_BUILD` commands before signing
      the binaries they run.  Tell the linker to perform ad-hoc codesign even
      though Xcode normally tells it not to.
      
      Other tests fail because `install_name_tool` does not revise ad-hoc
      signatures without the codesign `linker-signed` flag.  Add that flag
      ourselves where needed by our tests.
      
      For now these changes help our test suite pass so we can use it to cover
      everything else.  Both of these cases may need further investigation to
      update CMake to help projects in general.
      
      Issue: #21845, #21854
      1c15eb39
    • Brad King's avatar
      92418ac0
    • Brad King's avatar
      Tests: Remove explicit no-signing marks from BundleTest · 8b22d9b3
      Brad King authored
      These were added by commit e29a92f5 (Xcode: Make BundleTests
      compatible with Xcode 11, 2019-09-01, v3.16.0-rc1~158^2).  The
      real problem is that the `.app` is constructed with text files
      under the `.app/Contents/MacOS/` folder.  Move those, and drop
      the special no-signing configuration.
      8b22d9b3
    • Brad King's avatar
    • Daan De Meyer's avatar
      Tests: Fix ExternalProject CONFIGURE_HANDLED_BY_BUILD on 1s filesystems · 74fe16a2
      Daan De Meyer authored and Brad King's avatar Brad King committed
      Following commit 7155e358 (ExternalProject: Add CONFIGURE_HANDLED_BY_BUILD
      option, 2020-12-16, v3.20.0-rc1~168^2), modify the CONFIGURE_HANDLED_BY_BUILD
      test to sleep 1.125 seconds to make sure the file timestamp is always
      updated regardless of the resolution of the underlying filesystem.
      
      Fixes: #21830
      74fe16a2
    • Craig Scott's avatar
      FetchContent: Don't update timestamps if files don't change · b0da6712
      Craig Scott authored and Brad King's avatar Brad King committed
      The refactoring in 17e5516e (FetchContent: Invoke steps directly and
      avoid a separate sub-build, 2021-01-29) uses a different way of writing
      out the step scripts and updating time stamps when steps are executed.
      That inadvertently always wrote out the scripts for custom commands,
      even when the contents didn't change. This caused their timestamp to
      always be updated, resulting in those steps always being seen as
      out-of-date and needing to be re-executed.
      
      The way timestamps were checked to determine whether to re-execute
      a step also did not adequately account for file systems which only have
      second-resolution timestamps. The IS_NEWER_THAN if condition also
      returns true when timestamps are the same, so one needs to use the
      negative form to get a true "is newer than" test.
      
      ExternalProject is not susceptible to this problem because it uses
      file(GENERATE) to write out the script files and that only updates the file's
      timestamp if the contents change. It also mostly leaves timestamp
      checking to the build tool.
      b0da6712
Loading