Commit Graph

48683 Commits

Author SHA1 Message Date
Brad King 187f77f59c Merge branch 'release-3.18' 2020-06-16 09:18:10 -04:00
Brad King 12ce8a7ec7 Merge topic 'test-RunCMake.GeneratorExpression'
6308bfb737 Tests: Factor out RunCMake.GenEx-GENEX_EVAL test
abe1c27499 Tests: Factor out RunCMake.GenEx-TARGET_FILE test
fbead761fe Tests: Factor out RunCMake.GenEx-DEVICE_LINK test
64a8587332 Tests: Factor out RunCMake.GenEx-HOST_LINK test
6f224a065c Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test
f3f6317ca3 Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test
983adb8bed Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID test
931a6702f6 Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4899
2020-06-16 09:18:10 -04:00
Brad King 3f110a0857 Merge topic 'test-RunCMake.GeneratorExpression' into release-3.18
6308bfb737 Tests: Factor out RunCMake.GenEx-GENEX_EVAL test
abe1c27499 Tests: Factor out RunCMake.GenEx-TARGET_FILE test
fbead761fe Tests: Factor out RunCMake.GenEx-DEVICE_LINK test
64a8587332 Tests: Factor out RunCMake.GenEx-HOST_LINK test
6f224a065c Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test
f3f6317ca3 Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test
983adb8bed Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID test
931a6702f6 Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4899
2020-06-16 09:18:09 -04:00
Brad King 158c6511e0 Merge topic 'cmake-E-compare_files-exit-code'
b5b6075522 cmake: add dedicated error for -E compare_files invalid arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4881
2020-06-16 09:09:32 -04:00
Brad King b065d25821 Merge topic 'FindCurses-nodelay'
3211e07dc6 FindCurses: Detect and satisfy dependency on tinfo for nodelay

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4892
2020-06-16 09:08:49 -04:00
Brad King f2c1debe40 Merge topic 'cpack-pre-and-post-scripts'
915409af49 CPack: Introduce pre- and post- build actions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4846
2020-06-16 09:08:01 -04:00
Brad King 8d5eb04e85 Merge topic 'find_program-exe-no-read'
9d45a8be08 find_program: Find programs that are executable but not readable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4896
2020-06-16 09:05:52 -04:00
Brad King 6308bfb737 Tests: Factor out RunCMake.GenEx-GENEX_EVAL test
Move the `GENEX_EVAL` cases and friends out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:36 -04:00
Brad King abe1c27499 Tests: Factor out RunCMake.GenEx-TARGET_FILE test
Move the `TARGET_FILE` cases and friends out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King fbead761fe Tests: Factor out RunCMake.GenEx-DEVICE_LINK test
Move the `DEVICE_LINK` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 64a8587332 Tests: Factor out RunCMake.GenEx-HOST_LINK test
Move the `HOST_LINK` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 6f224a065c Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test
Move the `LINK_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King f3f6317ca3 Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test
Move the `LINK_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 983adb8bed Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID test
Move the `COMPILE_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 931a6702f6 Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE test
Move the `COMPILE_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:34 -04:00
Kitware Robot 7787c6f7c0 CMake Nightly Date Stamp 2020-06-16 06:08:44 -04:00
Paymon MARANDI 3211e07dc6 FindCurses: Detect and satisfy dependency on tinfo for nodelay
Extend the change from commit 1f646c6ce0 (FindCurses: Detect and satisfy
ncurses dependency on tinfo, 2014-01-17, v3.0.0-rc5~6^2) to handle
`nodelay` too.
2020-06-15 16:27:25 -04:00
Asit Dhal b5b6075522 cmake: add dedicated error for -E compare_files invalid arguments
Return 2 when user provides invalid arguments

Fixes: #20815
2020-06-15 12:39:37 -04:00
Brad King 9d45a8be08 find_program: Find programs that are executable but not readable
This fix was first made by commit 86e6349ef7 (find_program: Find
programs that are executable but not readable, 2020-04-04,
v3.18.0-rc1~372^2) but was reverted for compatibility.  Re-introduce it
with a policy for compatibility.

Fixes: #10468
2020-06-15 11:58:47 -04:00
Alex Turbov 915409af49 CPack: Introduce pre- and post- build actions
CPack learned the `CPACK_PRE_BUILD_SCRIPTS`, `CPACK_POST_BUILD_SCRIPTS`,
and `CPACK_PACKAGE_FILES` variables.

The first two are lists of scripts to perform
- after pre-install files into a staging directory and before
  producing the resulting packages
- after produsing the packages

The post-build script(s) also get the list of actually produced
packages in the `CPACK_PACKAGE_FILES`.

Issue: #19077
2020-06-15 11:06:41 -04:00
Brad King f37ff966d0 Merge topic 'gitlab-ci-restructure' into release-3.18
6d168c41e3 gitlab-ci: split linux and macos shared before scripts
a1fe6ad621 gitlab-ci: use `extends`
fda8b79f88 gitlab-ci: add a comment describing what goes into a job
2b4523c5f2 gitlab-ci: make rules a bit more uniform
d6fe877cf9 gitlab-ci: split into multiple files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4885
2020-06-15 10:31:35 -04:00
Brad King 43b10e2411 Merge branch 'release-3.18' 2020-06-15 10:31:35 -04:00
Brad King a86bb0f17c Merge topic 'gitlab-ci-restructure'
6d168c41e3 gitlab-ci: split linux and macos shared before scripts
a1fe6ad621 gitlab-ci: use `extends`
fda8b79f88 gitlab-ci: add a comment describing what goes into a job
2b4523c5f2 gitlab-ci: make rules a bit more uniform
d6fe877cf9 gitlab-ci: split into multiple files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4885
2020-06-15 10:31:35 -04:00
Brad King 268aaf4d58 Merge topic 'avoid-qt5-deprecation-warnings'
0fc1818831 QCMakeWidgets: replace QDirModel
736fb34294 QCMake: use loadRelaxed if available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4894
2020-06-15 10:22:31 -04:00
Brad King 148a5c2d42 Merge topic 'bundle-exe-space-in-name'
d3fd518c03 find_program: Properly decode URL for bundle exe name with spaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4891
2020-06-15 09:36:22 -04:00
Brad King 29e9b46ca5 Merge topic 'cmake-build-retval'
b9dd072e05 Tests: Add case for cmake --build with a failing target
87c860ebad cmake --build: Fix exit code when building multiple targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4878
2020-06-15 09:26:54 -04:00
Brad King 7fa5ea130b Merge topic 'cuda_clang_toolkit_path' into release-3.18
ec59fb6c31 CUDA: Determine CUDA toolkit location for NVCC
0a056246a1 CUDA: Pass toolkit path to Clang
9c43972127 FindCUDAToolkit: Avoid unnecessary temporary variable computing binary dir
9eebb5b8b2 FindCUDAToolkit: Remove unnecessary checks around searches
8f01fe7bf1 FindCUDAToolkit: Use list(SORT) to sort in natural order
8c144fe9ad FindCUDAToolkit: Compute CUDAToolkit_INCLUDE_DIR instead of searching
403f8d31e3 FindCUDAToolkit: Add CUDAToolkit_LIBRARY_ROOT
6636693134 FindCUDAToolkit: Re-unify with Internal/CUDAToolkit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4828
2020-06-15 09:25:29 -04:00
Brad King 4d0ff2f3ad Merge branch 'release-3.18' 2020-06-15 09:25:29 -04:00
Brad King 5d710f2d11 Merge topic 'cuda_clang_toolkit_path'
ec59fb6c31 CUDA: Determine CUDA toolkit location for NVCC
0a056246a1 CUDA: Pass toolkit path to Clang
9c43972127 FindCUDAToolkit: Avoid unnecessary temporary variable computing binary dir
9eebb5b8b2 FindCUDAToolkit: Remove unnecessary checks around searches
8f01fe7bf1 FindCUDAToolkit: Use list(SORT) to sort in natural order
8c144fe9ad FindCUDAToolkit: Compute CUDAToolkit_INCLUDE_DIR instead of searching
403f8d31e3 FindCUDAToolkit: Add CUDAToolkit_LIBRARY_ROOT
6636693134 FindCUDAToolkit: Re-unify with Internal/CUDAToolkit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4828
2020-06-15 09:25:29 -04:00
Brad King a3881d6313 Merge topic 'cuda_architectures_disable' into release-3.18
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4886
2020-06-15 09:24:37 -04:00
Brad King b9f171cbf2 Merge branch 'release-3.18' 2020-06-15 09:24:37 -04:00
Brad King e366317674 Merge topic 'cuda_architectures_disable'
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4886
2020-06-15 09:24:37 -04:00
Raul Tambre 877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES
The ability to disable adding architectures completely for packaging purposes
and cases requiring passing the architectures flags explicitly has been
requested.
Support a false value for CUDA_ARCHITECTURES and CMAKE_CUDA_ARCHITECTURES
for this purpose.

Implements #20821.
2020-06-15 09:13:32 -04:00
Brad King 31d0350f12 Merge branch 'release-3.18' 2020-06-15 09:01:45 -04:00
Brad King 9fb67f690b Merge topic 'clang_cxx20' into release-3.18
b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17
5d26efe38f Clang: Add final C++20 flag for Clang 11.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4887
2020-06-15 09:01:44 -04:00
Brad King 8e61ebb75e Merge topic 'clang_cxx20'
b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17
5d26efe38f Clang: Add final C++20 flag for Clang 11.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4887
2020-06-15 09:01:44 -04:00
Brad King ca727a5ff1 Merge topic 'deprecate-policy-old'
9710790a39 Help/dev: Add maintainer guide step for initial post-release development
6f6651f728 Add deprecation warnings for policies CMP0072 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4884
2020-06-15 09:00:12 -04:00
Brad King 05546d695e Merge topic 'revert-find_program-exe-no-read' into release-3.18
cc02ced530 find_program: Revert "Find programs that are executable but not readable"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4871
2020-06-15 08:58:06 -04:00
Brad King 109ded58ab Merge branch 'release-3.18' 2020-06-15 08:58:06 -04:00
Brad King 50bb15d477 Merge topic 'revert-find_program-exe-no-read'
cc02ced530 find_program: Revert "Find programs that are executable but not readable"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4871
2020-06-15 08:58:06 -04:00
Ben Boeckel 0fc1818831 QCMakeWidgets: replace QDirModel 2020-06-15 07:13:23 -04:00
Ben Boeckel 736fb34294 QCMake: use loadRelaxed if available
Added in 5.14 and load() was deprecated at the same time.
2020-06-15 07:12:49 -04:00
Craig Scott d3fd518c03 find_program: Properly decode URL for bundle exe name with spaces
Fixes: #20817
2020-06-14 18:21:35 +10:00
Raul Tambre b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17 2020-06-13 11:29:55 +03:00
Raul Tambre 5d26efe38f Clang: Add final C++20 flag for Clang 11.0+
-std=c++20 superseded -std=c++2a in upstream Clang commit
24ad121582454e625bdad125c90d9ac0dae948c8.
2020-06-13 11:29:51 +03:00
Brad King 9710790a39 Help/dev: Add maintainer guide step for initial post-release development
Document steps for deprecating old policy settings and future-proofing
export files generated by `install(EXPORT)`.
2020-06-13 11:44:04 +10:00
Raul Tambre ec59fb6c31 CUDA: Determine CUDA toolkit location for NVCC
Similar to how we already do for Clang. Avoids a lot of redundant work in
FindCUDAToolkit.
2020-06-12 23:13:57 +03:00
Raul Tambre 0a056246a1 CUDA: Pass toolkit path to Clang
Clang isn't very good at finding the installed CUDA toolkit.
The upstream recommendation is that we should pass the toolkit explicitly.

Additionally:
* Avoids Clang having to search for the toolkit on every invocation.
* Allows the user to use a toolkit from a non-standard location by simply
  setting CUDAToolkit_ROOT. The same way as with FindCUDAToolkit.

Clang wants the directory containing the device library and version.txt as the
toolkit path.
We thus pass the newly introduced CUDAToolkit_LIBRARY_ROOT as the toolkit path.

We save CUDAToolkit_ROOT_DIR and CUDAToolkit_LIBRARY_ROOT on Clang to have them
available in try_compile() and avoid unnecessary re-searching or a possibly
different installation being found in FindCUDAToolkit.
This however means that the selected toolkit can't be changed after the initial
language enablement.

We now determine CUDA compiler ID before doing actual detection, as we don't
want to spend time finding the CUDA toolkit for NVIDIA.

Implements #20754.
2020-06-12 21:50:05 +03:00
Raul Tambre 9c43972127 FindCUDAToolkit: Avoid unnecessary temporary variable computing binary dir 2020-06-12 21:49:15 +03:00
Raul Tambre 9eebb5b8b2 FindCUDAToolkit: Remove unnecessary checks around searches
find_*() don't search if the result variable is already set.
Remove the if()s around such cases.
2020-06-12 21:49:15 +03:00