Commit Graph

47750 Commits

Author SHA1 Message Date
Marc Chevrier
aacd4e4a90 Refactoring: add cm::contains to <cmext/algorithm> 2020-04-17 10:00:03 +02:00
Kitware Robot
9a450bcfec CMake Nightly Date Stamp 2020-04-17 00:01:16 -04:00
Kyle Edwards
5f20e85412 Merge topic 'cat_cmd_20557'
a625f30785 cmake -E: add cat command.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4600
2020-04-16 11:35:55 -04:00
Brad King
7e8df1bb24 Merge topic 'cuda_architectures'
21131ca60c CUDA: Add CudaOnly.CompileFlags test
f0931b0790 CUDA: Convert tests to use CUDA_ARCHITECTURES
e98588aaba CUDA: Add CUDA_ARCHITECTURES target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrick Stotko <stotko@cs.uni-bonn.de>
Merge-request: !4568
2020-04-16 11:11:33 -04:00
Brad King
854cc83a76 Merge topic 'makefile-target-special'
a4173ef165 Tests: Enable coverage of special chars in include dirs for Makefiles
d74e651b78 Makefiles: Re-implement makefile target path escaping and quoting
031bfaa865 Makefiles: Factor out makefile target path escaping and quoting
ca343dad07 Makefiles: Convert paths with '#' on command-lines to short path on Windows
af7de05853 Makefiles: Do not use '\#' escape sequence with Windows-style make tools
1639ee70ef cmDepends: Update types to always use a Makefile generator
413d26030f cmGlobalNinjaGenerator: Remove outdated comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4605
2020-04-16 11:05:04 -04:00
Brad King
b9b69774ee Merge topic 'update-kwsys'
87a06afce3 Merge branch 'upstream-KWSys' into update-kwsys
1b37136633 KWSys 2020-04-15 (5ada375f)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4614
2020-04-16 09:09:00 -04:00
Kitware Robot
bec1c211d9 CMake Nightly Date Stamp 2020-04-16 00:01:11 -04:00
Johnny Jazeix
a625f30785 cmake -E: add cat command.
Concatenate files and print on the standard output.

FIXES: #20557
2020-04-15 20:56:56 +02:00
Raul Tambre
21131ca60c CUDA: Add CudaOnly.CompileFlags test
Covers passing compile flags explicitly for both NVCC and Clang.
2020-04-15 17:55:41 +03:00
Raul Tambre
f0931b0790 CUDA: Convert tests to use CUDA_ARCHITECTURES 2020-04-15 17:55:41 +03:00
Raul Tambre
e98588aaba CUDA: Add CUDA_ARCHITECTURES target property
Simplifies CUDA target architecture handling.

Required for Clang support as Clang doesn't automatically select a supported architecture.
We detect a supported architecture during compiler identification and set CMAKE_CUDA_ARCHITECTURES to it.

Introduces CMP0104 for backwards compatibility with manually setting code generation flags with NVCC.

Implements #17963.
2020-04-15 17:55:41 +03:00
Brad King
5e70315fa8 Merge topic 'support_pseudo_sysroots'
8cc384f629 Compilers: Add paths from -print-sysroot to system prefix path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4585
2020-04-15 09:53:08 -04:00
Brad King
4f7d16c68f Merge topic 'cpack-nsis-dpi-aware'
d6840a4f3c CPack/NSIS: Add option for setting DPI-aware

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4607
2020-04-15 09:50:49 -04:00
Brad King
156196938c Merge topic 'cmprop-source'
e64fa5f1b6 cmSourceFile::GetProperty: return cmProp
fc223f9860 cmGlobalXCodeGenerator: Fix genex interpreter overloads

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4603
2020-04-15 09:49:46 -04:00
Brad King
ad386d42d7 Merge topic 'doc-CMAKE_PREFIX_PATH-env-var'
d59c6ea5c6 Help: Convert find_package references to CMAKE_PREFIX_PATH to links
03b6f3a2e8 Help: Document the CMAKE_PREFIX_PATH environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4609
2020-04-15 09:47:36 -04:00
Brad King
a67565751f Merge topic 'msbuildUtf8Support'
bc877a7e94 Add support to indicate UTF-8 custom command pipe output encoding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4587
2020-04-15 09:44:48 -04:00
Brad King
0a6b715c5c Merge topic 'CMakePrintSystemInformation-processor'
06e2c54115 CMakePrintSystemInformation: Add CMAKE_SYSTEM_PROCESSOR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4608
2020-04-15 09:42:41 -04:00
Brad King
55b4f37d55 Merge branch 'release-3.16' 2020-04-15 09:41:12 -04:00
Brad King
d199ab7af0 Merge branch 'release-3.17' 2020-04-15 09:39:56 -04:00
Brad King
45d61f9f89 Merge topic 'ibmi-aix-exports'
420e91c951 AIX: Activate symbol export/import IBM i (OS400)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4611
2020-04-15 09:39:56 -04:00
Brad King
e4aed8b9cd Merge topic 'ibmi-aix-exports' into release-3.17
420e91c951 AIX: Activate symbol export/import IBM i (OS400)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4611
2020-04-15 09:39:55 -04:00
Brad King
8123f6b199 Merge branch 'release-3.17' 2020-04-15 09:38:04 -04:00
Brad King
5fde1af854 Merge topic 'FindPython-if-auto-deref' into release-3.17
894fdea2a9 FindPython: remove extra dereference
0b9c9e2c8c FindPython: avoid autoderef in version comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4610
2020-04-15 09:38:03 -04:00
Brad King
d561898572 Merge topic 'FindPython-if-auto-deref'
894fdea2a9 FindPython: remove extra dereference
0b9c9e2c8c FindPython: avoid autoderef in version comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4610
2020-04-15 09:38:03 -04:00
Brad King
642bd67fc5 Merge branch 'release-3.17' 2020-04-15 09:36:25 -04:00
Brad King
d93ce24b0f Merge topic 'FindCUDAToolkit-search-stubs'
4f1e24efa0 FindCUDAToolkit searches stub location last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4589
2020-04-15 09:36:25 -04:00
Brad King
17e6666a43 Merge topic 'FindCUDAToolkit-search-stubs' into release-3.17
4f1e24efa0 FindCUDAToolkit searches stub location last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4589
2020-04-15 09:36:24 -04:00
Brad King
71a0609379 Merge branch 'release-3.17' 2020-04-15 09:01:36 -04:00
Brad King
40e043eb98 Merge branch 'backport-3.17-file-upload-tls' into release-3.17
Merge-request: !4579
2020-04-15 08:57:13 -04:00
Harry Mallon
dbfece1004 file(UPLOAD): Add default ca_certs
Default ca_certs were not added when using `UPLOAD` with built-in
(non-system) cURL.  Previously we only did this for `DOWNLOAD`.

Fixes: #20551
2020-04-15 08:55:09 -04:00
Brad King
a4173ef165 Tests: Enable coverage of special chars in include dirs for Makefiles
Issue: #20555
2020-04-15 08:34:51 -04:00
Brad King
d74e651b78 Makefiles: Re-implement makefile target path escaping and quoting
Previously we used `cmSystemTools::ConvertToOutputPath` which internally
used KWSys methods

* SystemTools::ConvertToUnixOutputPath
* SystemTools::ConvertToWindowsOutputPath

These were written in very early days of CMake and have some
limitations:

* They do not encode all characters.  E.g. '#' is left out.
* They attempt to do some path cleanup and handle existing quotes.
  These days CMake has clean unquoted paths already.
* They attempted to encode paths both for makefile targets and
  for shell command lines.  The latter use has mostly been replaced.
* Choosing between the two methods depends on a global variable!
  Several code paths in CMake have to copy the global generator's
  member ForceUnixPaths variable over to the cmSystemTools global.

Re-implement the `ConvertToMakefilePath` method to drop use of those
methods.  Compute suitable makefile target path escaping and quoting
via local logic.  Add support for more characters like '#'.

Fixes: #20555
2020-04-15 08:34:49 -04:00
Brad King
031bfaa865 Makefiles: Factor out makefile target path escaping and quoting
Code paths that write makefile target paths use a combination of
`cmSystemTools::ConvertToOutputPath` and `cmMakeSafe`.  Some were
missing the latter.  Wrap these two steps up into a dedicated
`ConvertToMakefilePath` method provided on both the local and global
generators.
2020-04-15 08:34:48 -04:00
Brad King
ca343dad07 Makefiles: Convert paths with '#' on command-lines to short path on Windows
In `ConvertToOutputForExisting` we convert paths with spaces to short
paths on Windows for use on command lines, e.g. for include directories.
Do the same for paths with `#` since tools like NMake do not have a way
to reliably put `#` in variable assignments.
2020-04-15 08:34:46 -04:00
Brad King
af7de05853 Makefiles: Do not use '\#' escape sequence with Windows-style make tools
Since commit fbf7a92975 (Makefile: Handle '#' in COMPILE_OPTIONS,
2014-08-12, v3.1.0-rc1~174^2) we escape `#` as `\#` in `flags.make`
variable assignments so that they are not treated as a comment.
Windows-style make tools like NMake do not interpret backslashes
in that way.  Other means will be needed to handle `#` in contexts
where it is even possible.  The test suite is not covering this
for NMake anyway, and actually has a workaround in `Tests/TryCompile`
for the old behavior, which we can now update.
2020-04-15 08:34:18 -04:00
Brad King
87a06afce3 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-04-15 (5ada375f)
2020-04-15 06:41:18 -04:00
KWSys Upstream
1b37136633 KWSys 2020-04-15 (5ada375f)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 5ada375fcf564e837672eecbca2d522105daebf1 (master).

Upstream Shortlog
-----------------

Ben Boeckel (3):
      83b20b65 clang-tidy: address `readability-braces-around-statements` lint
      535633fa clang-tidy: address `readability-isolate-declaration` lint
      de210648 clang-tidy: address `readability-else-after-return` lint
2020-04-15 06:41:16 -04:00
Kitware Robot
c63fb217c0 CMake Nightly Date Stamp 2020-04-15 00:01:08 -04:00
Brad King
6046baecce Merge branch 'ibmi-aix-exports' into release-3.16
Merge-request: !4611
2020-04-14 14:50:11 -04:00
Brad King
096958dfce Merge branch 'FindMPI-pgi-spectrum-mpi-wrappers' into release-3.16
Merge-request: !4598
2020-04-14 14:49:56 -04:00
Brad King
420e91c951 AIX: Activate symbol export/import IBM i (OS400)
Fixes: #20582
2020-04-14 14:45:51 -04:00
Robert Maynard
8cc384f629 Compilers: Add paths from -print-sysroot to system prefix path 2020-04-14 13:48:28 -04:00
Ben Boeckel
894fdea2a9 FindPython: remove extra dereference
If the version is not found (e.g., missing headers), this causes a CMake
error about `if(blah VERSION_EQUAL)` being an invalid statement.
2020-04-14 11:03:35 -04:00
Ben Boeckel
0b9c9e2c8c FindPython: avoid autoderef in version comparisons 2020-04-14 11:03:35 -04:00
Vitaly Stakhovsky
e64fa5f1b6 cmSourceFile::GetProperty: return cmProp 2020-04-14 10:57:17 -04:00
Brad King
fc223f9860 cmGlobalXCodeGenerator: Fix genex interpreter overloads
Overload both signatures to add Xcode-specific functionality.

Co-Author: Vitaly Stakhovsky <vvs31415@gitlab.org>
2020-04-14 10:56:45 -04:00
Brad King
d59c6ea5c6 Help: Convert find_package references to CMAKE_PREFIX_PATH to links 2020-04-14 10:08:23 -04:00
Jean-Michaël Celerier
03b6f3a2e8 Help: Document the CMAKE_PREFIX_PATH environment variable 2020-04-14 10:04:58 -04:00
Jiri Malak
06e2c54115 CMakePrintSystemInformation: Add CMAKE_SYSTEM_PROCESSOR 2020-04-14 09:48:50 -04:00
Brad King
734238d64f Merge topic 'sort_list_natural_20563'
da99eca1e7 list: add NATURAL sorting on SORT sub-command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4602
2020-04-14 09:45:55 -04:00