Commit Graph

10335 Commits

Author SHA1 Message Date
Brad King 9abc99e905 Merge topic 'FindPython-version-validation-fix' into release-3.17
cc7f116cb4 FindPython: fix regression on version validation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4492
2020-03-18 07:54:23 -04:00
Brad King 3c7774e207 Merge topic 'FindPython-version-validation-fix'
cc7f116cb4 FindPython: fix regression on version validation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4492
2020-03-18 07:54:23 -04:00
Marc Chevrier cc7f116cb4 FindPython: fix regression on version validation
In commit 3dab4682f6 (FindPython: reduces consumption of resources,
2020-02-10, v3.17.0-rc1~11^2) we accidentally broke the python
executable version validation when the "LOCATION" strategy is used
with the plain `FindPython` module.  Fix the logic and add test
cases covering those combinations.

Fixes: #20465
2020-03-17 10:08:34 -04:00
Julien Marrec 46064c8193 FindRuby: Add support for versions up to 2.7
Fixes: #20370
2020-03-17 08:43:10 -04:00
Brad King 675eaf3bd0 FindRuby: Update MSVC runtime library selection
Use the `MSVC_TOOLSET_VERSION` variable computed by CMake to get the
matching Ruby library name component.

Inspired-by: Julien Marrec <julien.marrec@gmail.com>
2020-03-17 08:39:06 -04:00
Brad King 2e42bcdbf1 Merge topic 'FindThreads-doc'
1502f281dd FindThreads: Improve documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4480
2020-03-17 07:51:25 -04:00
Julien Marrec b970e25d98 FindRuby: Remove extra whitespace 2020-03-16 14:07:30 -04:00
Brad King ecdace4d61 FindRuby: Include FPHSA closer to where it is used 2020-03-16 14:07:30 -04:00
Brad King f52f496138 FindRuby: Provide Ruby_LIBRARIES result variable
The `cmake-developer(7)` manual documents that a plural non-cached
name should be used for results.
2020-03-16 14:05:26 -04:00
Brad King b59f36aad8 FindPkgConfig: Unset results when pkg-config is broken
Inspired-by: FUJI Goro <goro@fastly.com>
2020-03-16 12:27:11 -04:00
Rolf Eike Beer 1502f281dd FindThreads: Improve documentation
Issue: #19823
2020-03-16 11:46:38 -04:00
Brad King c6def2107f Merge topic 'gtest-parallel-xml'
32bc6aa9b6 GoogleTest: Add release note for XML_OUTPUT_DIR
0001339a6f GoogleTest: Add test case for XML_OUTPUT_DIR
e9ab39eb1d GoogleTest: Add XML_OUTPUT_DIR parameter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4433
2020-03-16 11:40:21 -04:00
Brad King eea528fd92 Merge topic 'gnu-as'
9728839b9e ASM: Fix executable link lines with GNU 'as' tool as CMAKE_ASM_COMPILER
5932f0be4f ASM: Fix depfile flags for GNU 'as' tool
0d0aa98c84 ASM: Record vendor-specific output matched to identify assembler
ee3ec27465 CMakeDetermineCompilerId: Set locale to C for vendor output match

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4460
2020-03-16 11:31:25 -04:00
Brad King ffa08d256f FindRuby: Fix compatibility with upper-case cache variables
In commit e672db628b (FindRuby: Rename variables to match case of module
name, 2020-03-11) compatibility was provided for result variables but
not for the cache entries that scripts might set.
2020-03-13 14:13:17 -04:00
Brad King 50c97e1da0 FindRuby: Fix name of Ruby_LIBRARY variable
Fix a typo in the variable name caused by commit e672db628b (FindRuby:
Rename variables to match case of module name, 2020-03-11).
2020-03-13 13:59:17 -04:00
Brad King 3766633b8a Merge topic 'FindRuby-variable-case'
e672db628b FindRuby: Rename variables to match case of module name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Frank Dana <ferdnyc@gmail.com>
Merge-request: !4463
2020-03-13 11:01:56 -04:00
Alexander Stein e9ab39eb1d GoogleTest: Add XML_OUTPUT_DIR parameter
When executing googltests in parallel using 'ctest -j n' and using
'--gtest_output=xml' there is a race condition upon file creation.
See googletest issue https://github.com/google/googletest/issues/2506.

As all testcases (potentially) can be run in parallel each testcase has
to create it's own XML JUnit file. EXTRA_ARGS is not suitable because it
is identical per testsuite.
So instead a new (opitional) parameter has been introduced to specify
the storage location for each test of the testsuite.
2020-03-13 10:47:33 -04:00
Brad King c3ab1c22b0 Merge topic 'GoogleTest-gtest_discover_tests-failure'
2ba8ac07ed GoogleTest: Fix CTest not failing if gtest_discover_tests fails
2c9680eec5 GoogleTest: Add missing test case for gtest_discover_tests failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Steffen Seckler <steffen.seckler@tum.de>
Acked-by: Matthew Woehlke <matthew.woehlke@kitware.com>
Merge-request: !4466
2020-03-13 10:46:20 -04:00
Brad King ba216592fc Merge topic 'cuda_language'
f75bea1071 CUDA: Abstract language flag to compiler modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4464
2020-03-13 10:43:57 -04:00
Brad King 9728839b9e ASM: Fix executable link lines with GNU 'as' tool as CMAKE_ASM_COMPILER
The GNU `as` tool does not know how to drive linking like the C compiler
does.  When using `as` as the compiler, use the linker directly.
2020-03-13 09:55:36 -04:00
Brad King 5932f0be4f ASM: Fix depfile flags for GNU 'as' tool
The GNU `as --help` shows `--MD <file>` as an option to generate depfiles
as needed by Ninja.  There is no `-MT <target>` flag but fortunately the
generated files automatically account for the `-o <obj>` flag.

Issue: #20426
2020-03-13 09:55:36 -04:00
Brad King 0d0aa98c84 ASM: Record vendor-specific output matched to identify assembler
For example, with GNU `as`, we match `GNU assembler`, but with GNU `gcc`
as the assembler, we do not match anything.  Distinguishing these cases
may be useful for constructing assembler command lines.
2020-03-12 10:07:30 -04:00
Brad King ee3ec27465 CMakeDetermineCompilerId: Set locale to C for vendor output match
Apply the change from commit d751d2d2ed (CMakeDetermineCompilerABI: set
locale to C for try_compile(), 2019-01-14, v3.14.0-rc1~108^2~1) to the
`CMAKE_DETERMINE_COMPILER_ID_VENDOR` implementation too.
2020-03-12 10:07:29 -04:00
Brad King 2ca34f0685 Merge topic 'apple-clang-flags-c++17'
a67f2d00d8 Apple Clang: add flags for C++17 standard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4468
2020-03-12 09:33:19 -04:00
Brad King c852c0d138 Merge topic 'apple-clang-flags-c++17' into release-3.17
a67f2d00d8 Apple Clang: add flags for C++17 standard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4468
2020-03-12 09:33:18 -04:00
Brad King 0683f2e9e4 Merge topic 'CMakeFindFrameworks-CMAKE_FRAMEWORK_PATH'
c841d43d70 CMakeFindFrameworks: Search CMAKE_FRAMEWORK_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4461
2020-03-12 08:24:22 -04:00
Brad King c278b4eda9 Merge topic 'FindPython-ENV-CMAKE_FRAMEWORK_PATH' into release-3.17
1044776472 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !4462
2020-03-12 08:18:54 -04:00
Brad King 3a49ea6f25 Merge topic 'FindPython-ENV-CMAKE_FRAMEWORK_PATH'
1044776472 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !4462
2020-03-12 08:18:54 -04:00
Brad King fffbafc607 Merge topic 'swift-rpath'
f481b3a947 Swift: repair RPATH handling for macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4456
2020-03-12 08:18:04 -04:00
Brad King c5f850d145 Merge topic 'swift-rpath' into release-3.17
f481b3a947 Swift: repair RPATH handling for macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4456
2020-03-12 08:18:03 -04:00
Marc Chevrier a67f2d00d8 Apple Clang: add flags for C++17 standard 2020-03-12 08:09:12 -04:00
Ryan Thornton 2ba8ac07ed GoogleTest: Fix CTest not failing if gtest_discover_tests fails
Fixes regression introduced dac201442d (GoogleTest: Optimize gtest_discover_tests, 2020-02-18).

The generated CTest include files has the form:

    if(EXISTS "foo_tests.cmake")
      include("foo_tests.cmake")
    else()
      add_test(foo_NOT_BUILT foo_test_NOT_BUILT)
    endif()

Starting in dac201442d, an empty discovery_timeout_test[1]_tests.cmake was written
as soon as GoogleTestAddTests was processed.

This meant, that even if test discovery would fail (due to a crash or timeout in the executable),
we would always produce an empty CTest file.

So instead of reporting:
   Unable to find executable: foo_NOT_BUILT
   Errors while running CTest

We instead get:
   No tests were found!!!

To fix the problem, we WRITE the file on the first call to flush_script,
thus creating the file once we know we have valid output
and the call to gtest_discover_tests hasn't failed.

After creating the file, we then set the mode to APPEND
and append to the file for every subsequent call.
2020-03-11 15:11:00 -05:00
Raul Tambre f75bea1071 CUDA: Abstract language flag to compiler modules
Separate this detail out into compiler-specific modules.
Required for Clang support, as it uses slightly different language flags.
2020-03-11 21:30:09 +02:00
Julien Marrec e672db628b FindRuby: Rename variables to match case of module name
Use recommended case for variable names, i.e. matching name of the
module as passed to `find_package`.

For backwards compatibility, the upper case versions of both input and
output variables are used and defined when appropriate.  Skip this for
the _FOUND variable because FPHSA already does it.

This follows the approach from commit a7b09e7f43 (FindProtobuf: Rename
variables to match case of module name, 2016-03-01, v3.6.0-rc1~273^2).

Issue: #20370
2020-03-11 13:56:10 -04:00
Bo Anderson 1044776472 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path 2020-03-11 13:35:33 -04:00
Bo Anderson c841d43d70 CMakeFindFrameworks: Search CMAKE_FRAMEWORK_PATH 2020-03-11 12:54:26 -04:00
Brad King dd45b7b429 Merge topic 'FindCUDAToolkit-reduce-verbosity' into release-3.17
a7cf574417 CUDAToolkit: Mark find queries as advanced variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4455
2020-03-11 08:56:40 -04:00
Brad King c22c17eff0 Merge topic 'FindCUDAToolkit-reduce-verbosity'
a7cf574417 CUDAToolkit: Mark find queries as advanced variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4455
2020-03-11 08:56:40 -04:00
Saleem Abdulrasool f481b3a947 Swift: repair RPATH handling for macOS
The configuration previously handled Linux properly but did not function
on macOS as `ld64` does not support `:` delimited paths.  Account for
that by setting it to the empty string which will use multiple
invocations of the `-Xlinker -rpath -Xlinker ...` pattern to compute the
correct RPATH.
2020-03-11 08:45:47 -04:00
Robert Maynard a7cf574417 CUDAToolkit: Mark find queries as advanced variables
Fixes #20435
2020-03-10 13:27:16 -04:00
Brad King c06e035601 Merge topic 'cuda_toolkit_dirs'
0703e5fb6f CUDA: Perform CUDA toolkit include directory detection only on nvcc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4443
2020-03-10 10:30:49 -04:00
Kyle Edwards 228232d454 Merge topic 'swift-ninja-multiconfig'
87819db28d Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfig
65b3848de0 Swift: support Ninja Multi-Config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4440
2020-03-10 10:16:17 -04:00
Brad King 1ba7225480 Merge topic 'TI-C'
5a0fc68312 TI: Fix C toolchain command-lines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4422
2020-03-10 08:24:13 -04:00
Oliver Blasius 5a0fc68312 TI: Fix C toolchain command-lines
Fix `armar` arguments.  Fix the linker `--map_file=` argument.
Enable response files.
2020-03-09 12:02:20 -04:00
Brad King bb9dc34800 Merge topic 'FindArmadillo-wrappers'
38c6dd7b19 FindArmadillo: Add support for non-wrapper case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4418
2020-03-09 09:13:40 -04:00
Kyle Edwards 87819db28d Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfig 2020-03-09 09:12:54 -04:00
Saleem Abdulrasool 65b3848de0 Swift: support Ninja Multi-Config
Enable support for multi-configuration builds using Ninja when building
Swift.
2020-03-09 09:11:22 -04:00
Raul Tambre 0703e5fb6f CUDA: Perform CUDA toolkit include directory detection only on nvcc
The code is specific to nvcc.
2020-03-08 18:58:56 +02:00
Ryan Birmingham 38c6dd7b19 FindArmadillo: Add support for non-wrapper case
Armadillo is typically built as a wrapper library, which is what this
find module has historically supported, but it does not have to be.
If not, then instead of armadillo itself, we need to link to some
combination of dependencies and not armadillo.
2020-03-06 11:29:21 -05:00
Brad King 995b122471 Merge topic 'FindPython-artifacts-scope'
e5b4c74238 FindPython: Add possibility to control scope of artifacts.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4426
2020-03-06 09:18:24 -05:00