1. 14 Nov, 2018 1 commit
    • Kyle Edwards's avatar
      find_package(): Add policy to remove the FindQt module · 0f5c1b40
      Kyle Edwards authored
      Removing FindQt.cmake gives Qt upstream a path forward to export its
      own QtConfig.cmake files which can be found by find_package()
      without having to explicitly specify CONFIG. Projects that still
      want to use Qt3/4 can call find_package(Qt[34]), include(FindQt),
      or add FindQt.cmake to their CMAKE_MODULE_PATH.
      0f5c1b40
  2. 11 Nov, 2018 1 commit
  3. 08 Nov, 2018 2 commits
  4. 07 Nov, 2018 1 commit
    • Kyle Edwards's avatar
      install: Add sane set of defaults for DESTINATION and file type parameters · 9fc20a4f
      Kyle Edwards authored
      If the user does not specify a DESTINATION for a target type, the
      install() command checks to see if the appropriate variable from
      GNUInstallDirs is set. If it is not, then it uses an appropriate
      hard-coded guess.
      
      In addition, for FILES and DIRECTORY, the user can specify a file
      type instead of a DESTINATION, and the command will use the
      appropriate variable from GNUInstallDirs, or a hard-coded guess if
      it is not set.
      9fc20a4f
  5. 05 Nov, 2018 2 commits
  6. 31 Oct, 2018 2 commits
    • Brad King's avatar
      CSharp: Fix regression in VS project type selection for custom target · 1acd1c2b
      Brad King authored
      A target created by `add_custom_target` should always be a `.vcxproj`
      file even if it has `.cs` sources involved in custom commands and such.
      The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
      (remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
      2018-03-19).  The reason is that the `HasLanguage` method added by
      commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
      wrapper for GetLanguages(), 2018-03-19) does not check the target type
      and so is not a suitable check for deciding the project file extension.
      
      The `HasLanguage` method was an attempt at an abstraction that turns
      out not to work very well.  Replace it with a dedicated `IsCSharpOnly`
      method that considers the target type, sources, and non-transitive
      `LINKER_LANGUAGE`.
      
      Fixes: #18515
      1acd1c2b
    • Brad King's avatar
      CSharp: Fix regression in VS project type selection for custom target · a56edad6
      Brad King authored
      A target created by `add_custom_target` should always be a `.vcxproj`
      file even if it has `.cs` sources involved in custom commands and such.
      The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
      (remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
      2018-03-19).  The reason is that the `HasLanguage` method added by
      commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
      wrapper for GetLanguages(), 2018-03-19) does not check the target type
      and so is not a suitable check for deciding the project file extension.
      
      The `HasLanguage` method was an attempt at an abstraction that turns
      out not to work very well.  Replace it with a dedicated `IsCSharpOnly`
      method that considers the target type, sources, and non-transitive
      `LINKER_LANGUAGE`.
      
      Fixes: #18515
      a56edad6
  7. 29 Oct, 2018 1 commit
    • Brad King's avatar
      set_directory_properties: Restore in script mode · 50572d63
      Brad King authored
      Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and
      CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was
      accidentally not allowed in script mode.  It was dropped because
      `ctest -S` mode needs to start with CMake's normal script mode and
      then replace the `set_directory_properties` implementation.  Restore
      the normal `set_directory_properties` in script mode and then add
      special logic to replace it in ctest.  Also add a test case.
      
      Fixes: #18523
      50572d63
  8. 26 Oct, 2018 4 commits
  9. 22 Oct, 2018 1 commit
  10. 16 Oct, 2018 2 commits
  11. 15 Oct, 2018 1 commit
  12. 11 Oct, 2018 2 commits
  13. 10 Oct, 2018 4 commits
  14. 07 Oct, 2018 1 commit
  15. 04 Oct, 2018 1 commit
  16. 28 Sep, 2018 3 commits
  17. 25 Sep, 2018 2 commits
  18. 21 Sep, 2018 1 commit
  19. 19 Sep, 2018 1 commit
  20. 18 Sep, 2018 1 commit
    • Jon Chronopoulos's avatar
      cmake: Add '-E create_symlink' support on Windows · afb7f6e4
      Jon Chronopoulos authored
      The allows `-E create_symlink` to work on Windows.  It utilizes
      `uv_fs_symlink`.  I am still unsure exactly which Windows platforms will
      work without requiring Administrator privileges or needing a user/group
      with the "Create Symbolic Links" User Rights.  It does work with my
      Windows 10 Pro with Developer Mode turned on.  In the test suite check
      that the symlink either worked or failed with a permissions error.
      
      Use recent changes in cmSystemTools::FileExists to check that a symlink
      is broken.
      afb7f6e4
  21. 17 Sep, 2018 3 commits
  22. 15 Sep, 2018 1 commit
  23. 12 Sep, 2018 2 commits
    • Brad King's avatar
      target_link_libraries: Allow use with targets in other directories · a1ad0a69
      Brad King authored
      Previously the command did not allow naming targets on the LHS that
      were not created in the calling directory.  Lift this restriction to
      enable more flexible use by projects.
      
      Targets named on the RHS will need to be looked up during generation in
      the scope of the call site rather than the scope of the LHS target.
      Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties
      to specify target names that need to be looked up in a directory other
      than that containing the target on which the property is set.  Add
      minimal documentation of the syntax to help users that encounter it.
      
      Unfortunately CMake previously did allow such calls in the case that
      only `INTERFACE` libraries are specified, but those libraries would be
      looked up in the target's directory rather than the caller's.  Add
      policy `CMP0079` to enable the new behavior with new lookup scope in a
      compatible way.
      
      Fixes: #17943
      a1ad0a69
    • Brad King's avatar
      Tests: Extend RunCMake.Ninja filesystem delays · bdd0e2d7
      Brad King authored
      On filesystems with 1s resolution the `run_sub_cmake` cases fail
      occasionally when the 1 second sleep does not cause files to have
      a different time.  Use 3 seconds instead.
      bdd0e2d7