Commit Graph

48652 Commits

Author SHA1 Message Date
Brad King
e8051b1f20 FindJava: Update check to avoid accepting macOS stub 'java' as Java
Since commit dd378258f1 (FindJava: Do not accept OS X stub 'java' as
Java, 2014-10-24, v3.1.0-rc3~29^2) we try to avoid using the macOS
`/usr/bin/java` stub if no underlying implementation of Java is actually
installed.  However, the message that `/usr/bin/java` prints when there
is no Java available has changed since then.  Update our check to also
look for the new message.

While at it, revise the way we suppress `Java_JAVA_EXECUTABLE`.
Previously we set its cache entry to `Java_JAVA_EXECUTABLE-NOTFOUND`,
but that would cause the same find-and-reject sequence to be followed
every time CMake runs in a build tree.  Instead, use the approach from
commit 2c0db404d1 (FindSubversion: Do not accept macOS stub without
Xcode implementation, 2020-05-28, v3.18.0-rc1~67^2).  Leave the cache
entry alone and just set a normal variable of the same name to hide it.
2020-07-08 16:17:40 -04:00
Brad King
1e26c84b96 CMake 3.18.0-rc3 v3.18.0-rc3 2020-07-01 07:14:26 -04:00
Brad King
0ca6bb8575 Merge topic 'file-ARCHIVE-files-dirs' into release-3.18
bbcff21f71 file(ARCHIVE*): Collapse FILES and DIRECTORY options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4955
2020-07-01 07:00:42 -04:00
Brad King
208b8a81ce Merge topic 'fileapi-version-doc' into release-3.18
e9be17ab42 Help: Update FileAPI codemodel version to 2.1, add release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4956
2020-06-30 14:41:00 -04:00
Kyle Edwards
e9be17ab42 Help: Update FileAPI codemodel version to 2.1, add release notes
This fixes the documentation which should have been fixed in 9f6d40ee.
2020-06-30 14:04:13 -04:00
Brad King
221fd89251 Merge topic 'file-CONFIGURE-subdir' into release-3.18
e5f5eeca2f file: Fix CONFIGURE output relative path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4951
2020-06-30 08:04:07 -04:00
Craig Scott
bbcff21f71 file(ARCHIVE*): Collapse FILES and DIRECTORY options
The two options were concatenated internally for both ARCHIVE_CREATE
and ARCHIVE_EXTRACT. The distinction between files and dirs was not
meaningful. Therefore, replace them with PATHS or PATTERNS 
to more accurately describe the way the options are used.

Fixes: #20884
2020-06-30 22:01:35 +10:00
Brad King
e9f667c3b0 Merge topic 'find_library-file-readable' into release-3.18
f2c903fb9a find_library: Check that library files are readable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4945
2020-06-30 07:25:53 -04:00
Brad King
e5f5eeca2f file: Fix CONFIGURE output relative path
In commit a6fee09484 (file: Add CONFIGURE subcommand, 2020-03-06,
v3.18.0-rc1~584^2) we accidentally treated relative path outputs
with respect to the current working directory.  Treat them with
respect to the current binary directory instead.

Fixes: #20885
2020-06-29 09:20:42 -04:00
Brad King
e23428c99f Merge topic 'file-ARCHIVE_CREATE-rename-TYPE-option' into release-3.18
95159b7dea file(ARCHIVE_CREATE): Rename TYPE option to COMPRESSION
bc45bdc819 Help: Fix contents indenting for file(ARCHIVE_...) subcommands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4948
2020-06-29 08:23:20 -04:00
Brad King
4c28bf2aca Merge topic 'gtest-xml-output' into release-3.18
75aa3ee7e7 GoogleTest: Fix name generation for XML_OUTPUT_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4942
2020-06-29 08:21:07 -04:00
Brad King
df8ba4f10d Merge topic 'intel-c++20' into release-3.18
99c8dbf497 Intel: Add flags for C++20

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4946
2020-06-29 08:16:16 -04:00
Brad King
f2c903fb9a find_library: Check that library files are readable
Refactoring in commit 6b85166920 (ENH: Refactor find_library search
logic, 2008-09-22, v2.8.0~1665) dropped a call to `FileExists` on the
path under the assumption that the presence of a file in a directory
listing means it exists.  However, dropping that also dropped a check
that verifies the file is readable.  Restore the `FileExists` call to
ensure that we only find readable libraries.
2020-06-29 07:50:47 -04:00
Craig Scott
95159b7dea file(ARCHIVE_CREATE): Rename TYPE option to COMPRESSION
Fixes: #20883
2020-06-27 18:38:28 +10:00
Craig Scott
bc45bdc819 Help: Fix contents indenting for file(ARCHIVE_...) subcommands 2020-06-27 16:33:29 +10:00
Stefan Floeren
75aa3ee7e7 GoogleTest: Fix name generation for XML_OUTPUT_DIR
The Google test framework allows to write the results into an XML file
since commit e9ab39eb1d (GoogleTest: Add XML_OUTPUT_DIR parameter,
2020-03-06, v3.18.0-rc1~538^2~2).  This file is passed on the command
line: `--gtest_output=xml:FILE_NAME`.

The module allows to specify a directory to save those files with
**TEST_XML_OUTPUT_PARAM**.

If the option is set, the filename will be set to
`${prefix}${pretty_suite}.${pretty_test}${suffix}.xml`.

The pretty names contain parameters for the tests, if
value-parameterized tests are used. These parameters may not be safe to
use in file names.

There are two possible options:

1. sanitize the file name
2. omit the values and use the internal numbering of gtest

This commit chose option 2. The testname needs to be a valid C++
identifier and should therefore be reasonable for a filename.

Note that the generated names contain slashes. This will lead to
subdirectories, but works on both Linux and Windows.

Fixes: #20877
2020-06-26 09:39:51 -04:00
Brad King
4f5503866e Merge topic 'GoogleTest-DISCOVERY_MODE-cleanups' into release-3.18
1458b4c048 Help: Add CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE to release notes
642ea49115 GoogleTest: Replace SEND_ERROR with FATAL_ERROR
09c38e8de6 Tests: Don't ask for things not required for GoogleTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4938
2020-06-26 09:31:19 -04:00
Brad King
42d9b3dc6a Merge topic 'update-curl' into release-3.18
e5ff413f41 curl: Set build options the way we need for CMake
0ef8fa5000 Merge branch 'upstream-curl' into update-curl
5717fdc114 curl 2020-06-23 (e9db32a0)
39f7cfad31 curl: Update script to get curl 7.71.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4937
2020-06-26 09:30:25 -04:00
Brad King
99c8dbf497 Intel: Add flags for C++20
Patch-by: Matheus Izvekov
Fixes: #20880
2020-06-26 08:21:21 -04:00
Craig Scott
1458b4c048 Help: Add CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE to release notes 2020-06-24 23:19:06 +10:00
Brad King
e5ff413f41 curl: Set build options the way we need for CMake 2020-06-24 08:23:52 -04:00
Brad King
0ef8fa5000 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-06-23 (e9db32a0)
2020-06-24 08:13:02 -04:00
Craig Scott
642ea49115 GoogleTest: Replace SEND_ERROR with FATAL_ERROR
We want to fail and halt immediately upon any error, not continue
past a fatal problem.
2020-06-24 21:57:19 +10:00
Craig Scott
09c38e8de6 Tests: Don't ask for things not required for GoogleTest
The test cases only need C or C++, but not both. The CTest module
is also not needed because we are not running a dashboard script.
2020-06-24 21:56:26 +10:00
Curl Upstream
5717fdc114 curl 2020-06-23 (e9db32a0)
Code extracted from:

    https://github.com/curl/curl.git

at commit e9db32a09af03f27e86d1251a9e68e9b7486d371 (curl-7_71_0).
2020-06-24 07:55:09 -04:00
Brad King
39f7cfad31 curl: Update script to get curl 7.71.0 2020-06-24 07:54:53 -04:00
Brad King
1f47a65c7a Merge topic 'doc-get_target_property' into release-3.18
f4b911a2c9 Help: Update docs for failure result of get_target_property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4933
2020-06-23 08:50:54 -04:00
Christopher Tetreault
f4b911a2c9 Help: Update docs for failure result of get_target_property
If `get_target_property` fails to find a value for a non-inherited
property, it appends `-NOTFOUND` to the var name and sets that as the
result, rather than setting the value of the var to `NOTFOUND`.
2020-06-23 08:17:59 -04:00
Brad King
ba0ff76af3 Merge topic 'VxWorks-platform-id' into release-3.18
b22586be01 VxWorks: Add Platform ID for Modules/CMakePlatformId.h.in

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4922
2020-06-23 08:00:31 -04:00
Lihua Zhao
b22586be01 VxWorks: Add Platform ID for Modules/CMakePlatformId.h.in 2020-06-23 07:59:32 -04:00
Brad King
22dbe547fb Merge topic 'makefile-fix-verbose' into release-3.18
7f78bc42cb Makefile: Fix regression in .SILENT rule

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4928
2020-06-23 07:57:33 -04:00
Brad King
069e904337 Merge topic 'fix-win-flex-bison' into release-3.18
0faa2b9870 Find{FLEX,BISON}: Add 'win-' executable names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4931
2020-06-23 07:56:39 -04:00
Brad King
df69cb37d1 Merge topic 'FindCUDA-11' into release-3.18
1d9f2f9714 FindCUDA: Do not search for the deprecated nppicom when CUDA >= 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4929
2020-06-23 07:55:40 -04:00
Brad King
86cd7d67d3 Merge topic 'test-all-find-modules' into release-3.18
6c6b227813 Tests: Drop redundant FindModulesExecuteAll test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4930
2020-06-23 07:53:44 -04:00
Brad King
6c6b227813 Tests: Drop redundant FindModulesExecuteAll test
This test has been superseded by `CMakeOnly.AllFindModules`,
which does much more checking anyway.
2020-06-23 07:48:53 -04:00
Yan
0faa2b9870 Find{FLEX,BISON}: Add 'win-' executable names
Distributions of these tools on Windows now use a `win-` prefix
instead of the previously-seen `win_` prefix.  Search for both.
2020-06-22 15:50:22 -04:00
Robert Maynard
1d9f2f9714 FindCUDA: Do not search for the deprecated nppicom when CUDA >= 11
The nppicom library has been removed in preference of nvjpeg starting
in CUDA 11.

Fixes: #20845
2020-06-22 11:56:51 -04:00
Daniel Colascione
7f78bc42cb Makefile: Fix regression in .SILENT rule
Since commit d74e651b78 (Makefiles: Re-implement makefile target path
escaping and quoting, 2020-04-10, v3.18.0-rc1~334^2~1), `WriteMakeRule`
now correctly escapes `$` in make target paths as `$$`.  However, this
caused an existing call site to escape the `$(VERBOSE)` variable
reference in the `.SILENT` prefix, making it ineffective.  Sub-makefiles
are invoked with `MAKESILENT`, so this bug matters only for the `all`
target, which emits progress messages from toplevel.

Before:

    # Suppress display of executed commands.
    $$(VERBOSE).SILENT:

After:

    # Suppress display of executed commands.
    $(VERBOSE).SILENT:
2020-06-22 08:48:53 -04:00
Brad King
c0b44e664b Merge topic 'try_compile-nfs' into release-3.18
a9a258c302 try_compile: Do not try to remove '.nfs*' files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !4913
2020-06-19 08:14:05 -04:00
Brad King
21d0961bc2 Merge topic 'CUDAToolkit-cuda-11' into release-3.18
b284a3c764 CudaToolkit: Update for new/removed libraries in CUDA 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4917
2020-06-19 08:13:08 -04:00
Brad King
c7561c0fcc Merge topic 'cuda-toolkit-vs' into release-3.18
a0280801f4 CUDA: Fix CMAKE_CUDA_COMPILER_TOOLKIT_ROOT detection in Visual Studio
90be0916b5 CUDA: Re-order some logic for determining the compiler
4ab5f109f0 CUDA: Remove unused variables while determining compiler
492e5f01fa CUDA: Simplify CMAKE_CUDA_COMPILER_TOOLKIT_ROOT computation
4785bd6153 CUDA: Skip the entire search for nvcc when it is CMAKE_CUDA_COMPILER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4921
2020-06-19 08:12:04 -04:00
Brad King
33e1dc48c7 Merge topic 'cuda_nvcc_exe_search' into release-3.18
d9c1f05924 CUDA: Fix NVCC executable search during compiler detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4920
2020-06-19 08:10:33 -04:00
Brad King
a0280801f4 CUDA: Fix CMAKE_CUDA_COMPILER_TOOLKIT_ROOT detection in Visual Studio
When using a Visual Studio generator, we do not know the path to
`CMAKE_CUDA_COMPILER` until after the compiler id detection project
extracts it.  However, based on the VS toolchain configuration we know
that the compiler id will be NVIDIA, so use that to drive the CUDA
architecture flag logic.  After the main compiler id step we know
`CMAKE_CUDA_COMPILER`, so `CMAKE_CUDA_COMPILER_TOOLKIT_ROOT` can then be
computed.
2020-06-18 15:58:38 -04:00
Brad King
90be0916b5 CUDA: Re-order some logic for determining the compiler 2020-06-18 15:53:45 -04:00
Brad King
4ab5f109f0 CUDA: Remove unused variables while determining compiler 2020-06-18 15:50:10 -04:00
Brad King
492e5f01fa CUDA: Simplify CMAKE_CUDA_COMPILER_TOOLKIT_ROOT computation 2020-06-18 15:49:25 -04:00
Brad King
4785bd6153 CUDA: Skip the entire search for nvcc when it is CMAKE_CUDA_COMPILER 2020-06-18 15:48:40 -04:00
Raul Tambre
d9c1f05924 CUDA: Fix NVCC executable search during compiler detection
The result variable was `CUDAToolkit_NVCC_EXECUTABLE` instead of
`_CUDA_NVCC_EXECUTABLE`, which the rest of the code used.  Also, we can
simply `set()` the `_CUDA_NVCC_EXECUTABLE` value without searching.

Fixes: #20847
2020-06-18 15:07:31 -04:00
Brad King
c26853718e Merge topic 'improve_device_link_policy_cross_ref' into release-3.18
e5279c2c8f Help: Better document that CMP0105 controls DEVICE_LINK parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4919
2020-06-18 12:45:27 -04:00
Brad King
310e953d58 Merge topic 'doc-3.18-fixups' into release-3.18
947cfc732d Help: Explicitly say transaction, don't abbreviate to trans
90c73479bc Help: Correct and condense examples for VS_SOLUTION_DEPLOY
0420de10b5 Help: Add missing cross-referencing for generator expressions
013f7a2647 Help: Formatting, crossref for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>
a12d53acf3 Help: Add missing PCH_WARN_INVALID docs and related cleanups
95a16f7805 Help: Fix formatting error and consistency for gtest_discover_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4915
2020-06-18 12:44:14 -04:00