1. 23 Sep, 2020 1 commit
  2. 22 Sep, 2020 3 commits
  3. 21 Sep, 2020 3 commits
    • Josef Angstenberger's avatar
      Tests: Add test for early source lookup of file(GENERATE) · e02f677f
      Josef Angstenberger authored
      The output file structures of file(GENERATE) have to be created early to
      be able to use the generated files in source lists.
      
      This was not done correctly for subdirectories which has been fixed
      in commit aee2c512 (file(GENERATE): Create output file structures for
      all directories first, 2020-09-10).
      
      Add a test case to address issue #21144.
      e02f677f
    • Raul Tambre's avatar
      Tests: Don't unnecessarily set CUDA_ARCHITECTURES · 4fe9f534
      Raul Tambre authored
      Architecture 30 was removed with CUDA 11, so most of the CUDA tests fail with
      it.
      Remove setting the architecture and bump the minimum version to 3.18, so
      CMP0104 takes effect and we can rely on the default architecture, which is
      guaranteed to be compilable.
      
      Use of __ldg() in ProperLinkFlags was removed as it only affects performance
      and is available only on sm_35 and above.
      
      Testing the functionality of CUDA_ARCHITECTURES is already covered by
      CudaOnly.Architecture and CudaOnly.CompileFlags.
      4fe9f534
    • Asit Kumar Dhal's avatar
  4. 20 Sep, 2020 1 commit
  5. 18 Sep, 2020 11 commits
  6. 17 Sep, 2020 2 commits
    • Kyle Edwards's avatar
      Ninja Multi-Config: Fix dependencies of custom commands · 23fe4b86
      Kyle Edwards authored
      a9fd3a10 addressed the scenario where the depending target is a
      utility target, but not the scenario where the dependent target is
      a utility target. Account for this scenario.
      
      Also add a Qt-specific test case.
      
      Fixes: #21118
      23fe4b86
    • Brad King's avatar
      Utilities/Release: Drop now-unused scripts · 6a88e633
      Brad King authored
      Since these commits:
      
      * commit ab2276e6 (Utilities/Release: remove old macOS release script,
                           2020-09-16)
      * commit 7670ba8b (Utilities/Release: Drop win{32,64} scripts in favor
                           of docker build, 2020-05-05, v3.18.0-rc1~203^2)
      * commit 689fdbfc (Utilities/Release: Drop linux64 script in favor of
                           docker build, 2019-08-27, v3.16.0-rc1~184^2)
      
      several scripts we once used for producing release binaries for
      distribution on `cmake.org` are no longer needed.
      6a88e633
  7. 16 Sep, 2020 2 commits
  8. 15 Sep, 2020 2 commits
  9. 14 Sep, 2020 1 commit
    • Brad King's avatar
      ExternalProject: Add policy CMP0114 to refine step target dependencies · b4fc4da9
      Brad King authored
      `ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have
      some limitations and lack some sanity checks.  They can cause confusing
      build systems to be generated.  The basic problems are:
      
      * The notion of step independence is attached to the step target
        rather than the step itself.
      
      * The custom commands implementing the steps are duplicated in the
        step targets and the primary targets.  This can cause races.
        It is also incompatible with the Xcode "new build system".
      
      Fix this by introducing policy CMP0114 to change the way step target
      dependencies are handled.  Define independence from external
      dependencies as a property of each individual step regardless of whether
      there is a target for it.  Add dependencies among the primary target and
      the step targets such that each custom command only appears in one
      target.  When some steps are disconnected from the primary target, add
      step targets for the steps commonly depended upon so that there is a
      place to hold their custom commands uniquely.
      
      Fixes: #18663
      b4fc4da9
  10. 11 Sep, 2020 2 commits
  11. 10 Sep, 2020 4 commits
  12. 09 Sep, 2020 3 commits
    • Oleksandr Koval's avatar
      cmCommandArgumentParserHelper: rework input handling · 62d7acc6
      Oleksandr Koval authored
      Old implementation uses involved Flex input management technique that
      requires usage of obsolete YY_INPUT macro. This causes a lot of useless
      allocations and byte-by-byte scanning. New implementation avoids those
      hacks, it uses yy_scan_string() API to setup Flex input. Also it fixes
      reporting of syntax error position and corresponding tests.
      62d7acc6
    • Kyle Edwards's avatar
      JSON: Add helpers · 3f3a30e1
      Kyle Edwards authored
      3f3a30e1
    • Jörg Bornemann's avatar
      AutoMoc: Re-run moc if a dependency is missing · 9ac3503d
      Jörg Bornemann authored
      AutoMoc uses the moc-emitted dependency file of Qt 5.15 to track
      dependencies. Such a dependency may well live outside the project and
      can vanish, for example when installing a new compiler version.
      
      This situation was detected before, but merely a warning was issued.
      Now, we're considering a generated file as out of date if a dependency
      is missing and re-generate it.
      
      We also have to remove the missing dependency from the ParseCache.
      Otherwise the AUTOMOC target for all generators other than Ninja will
      always be out of date.
      
      The ParseCacheChanged flag had to be made atomic, because we're
      potentially accessing it from multiple threads. The dependencies vector
      itself is not vulnerable in this regard, because there's one vector per
      file, and we're accessing exactly one ParseCacheT::FileHandleT per thread.
      
      Fixes: #21136
      9ac3503d
  13. 08 Sep, 2020 4 commits
    • Brad King's avatar
      Makefile: Add policy CMP0113 to avoid duplication of custom commands · 45fedf0e
      Brad King authored
      Do not attach a custom command to a target if it is already attached to one of
      the target's dependencies.  The command's output will be available by the time
      the target needs it because the dependency containing the command will have
      already been built.
      
      This may break existing projects that do not properly mark non-created
      outputs with the `SYMBOLIC` property.  Previously a chain of two custom
      commands whose intermediate dependency is not created would put both
      commands in a dependent project's Makefile even if the first command is
      also in its dependency's Makefile.  The first command would run twice
      but the build would work.  Now the second command needs an explicit
      `SYMBOLIC` mark on its input to tell CMake that it is not expected to
      exist.  To maintain compatibility with projects that left out the mark,
      add a policy activating the behavior.
      45fedf0e
    • Robert Maynard's avatar
      ISPC tests will now run on any hardware that only supports SSE2 · c83711d9
      Robert Maynard authored
      Previously we expected AVX1 support.
      c83711d9
    • Marc Chevrier's avatar
      file(): Add REAL_PATH sub-command · be36266d
      Marc Chevrier authored
      be36266d
    • Kyle Edwards's avatar
      cmStringAlgorithms: Add cmStrLen() · 0c9cdf30
      Kyle Edwards authored
      0c9cdf30
  14. 07 Sep, 2020 1 commit