Commit Graph

4399 Commits

Author SHA1 Message Date
Robert Maynard
e5279c2c8f Help: Better document that CMP0105 controls DEVICE_LINK parsing 2020-06-18 12:07:26 -04:00
Raul Tambre
bdb105ee94 Help: Mention CUDA Clang limitations in 3.18 release notes 2020-06-16 14:07:39 -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
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
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
403f8d31e3 FindCUDAToolkit: Add CUDAToolkit_LIBRARY_ROOT
On scattered installations version.txt and nvvm are located at this location.
This may be useful to users and will allow us in the future to parse
version.txt instead of invoking nvcc to figure out the CUDA toolkit version.

We also add it to CMakeDetermineCUDACompiler in preparation for future use by
Clang code.
2020-06-12 21:49:15 +03:00
Ben Boeckel
131b8cc8ae Help/dev: document other arguments to Do: test 2020-06-09 11:12:05 -04:00
Craig Scott
b5d8e93732 Merge topic 'doc-gitlab-ci' into release-3.18
855ed80111 Help/dev: Update CMake Review Process document for GitLab CI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4865
2020-06-09 07:59:45 -04:00
Brad King
855ed80111 Help/dev: Update CMake Review Process document for GitLab CI
We have replaced use of `buildbot` with GitLab CI.  Update the
relevant section of our review process documentation.
2020-06-09 07:54:22 -04:00
Michael Hirsch
6b75175219 Help: Add example for REQUIRED_FILES test property 2020-06-09 09:20:23 +10:00
Michael Hirsch
61139c91d2 Help: Add example for DEPENDS test property 2020-06-09 09:04:04 +10:00
Brad King
47a47f5ce0 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2020-06-05 08:33:59 -04:00
Brad King
7cf278da55 Merge topic 'doc-3.18-relnotes'
389ca18289 Help: Organize and revise 3.18 release notes
ab6b5c01ea Help: Consolidate 3.18 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4845
2020-06-05 08:22:18 -04:00
Brad King
35a192788f Merge topic 'doc-EXCLUDE_FROM_ALL'
e262123fee Help: Clarify the effect of EXCLUDE_FROM_ALL on target installation
a09195e7bf Help: Rename 'artefact' to 'artifact' in target_precompile_headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4840
2020-06-03 07:48:13 -04:00
Brad King
389ca18289 Help: Organize and revise 3.18 release notes
Add section headers similar to the 3.18 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2020-06-03 06:22:15 -04:00
Brad King
ab6b5c01ea Help: Consolidate 3.18 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.18.rst`.
2020-06-03 06:17:54 -04:00
Arcturus
e262123fee Help: Clarify the effect of EXCLUDE_FROM_ALL on target installation 2020-06-02 13:29:08 -04:00
Arcturus
a09195e7bf Help: Rename 'artefact' to 'artifact' in target_precompile_headers 2020-06-02 13:26:38 -04:00
Marc Chevrier
056489d567 add_library/add_executable: allow local alias to imported targets
Fixes: #20641
2020-06-02 17:11:47 +02:00
Marc Chevrier
254f2b9058 Help: add_executable: Add TOC 2020-06-02 15:37:21 +02:00
Brad King
ec7b5f21ee Merge topic 'doc-c-standard'
e8958d4742 Help: Clarify that no version of MSVC today support C standard levels

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4830
2020-06-02 08:01:40 -04:00
Brad King
855a7158ed Merge topic 'target_link_libraries-self-link-is-an-error'
9436ad35df target_link_libraries: self-link through ALIAS is an error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4826
2020-06-02 07:53:40 -04:00
Hong Xu
e8958d4742 Help: Clarify that no version of MSVC today support C standard levels
The current description sounds as if MSVC later than 2015 update 3
support C standard level, which is not true. This patch clarifies MSVC
support.
2020-06-01 10:51:34 -04:00
Marc Chevrier
9436ad35df target_link_libraries: self-link through ALIAS is an error
Fixes: #19617
2020-05-30 11:47:39 +02:00
Craig Scott
8aa4d51ec5 ExternalProject: Add missing release note for git update strategy
This release note was mistakenly omitted from commit 0aea435aa1
(ExternalProject: Provide choice of git update strategies, 2020-02-12).
2020-05-29 12:10:33 -04:00
Marc Chevrier
1eca5993e2 ALIAS target: cannot overwrite an existing target
Fixes: #19616
2020-05-28 12:56:59 -04:00
Brad King
340dcadb8b Merge topic 'update-gitlab-links'
eb705b9531 Update links to gitlab.kitware.com repos to add `-/`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4795
2020-05-27 08:21:20 -04:00
Brad King
3a9b257ee7 Merge topic 'cmake_language-check-invalid-commands'
12e483c563 cmake_language: check CALL with control command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4788
2020-05-27 08:17:49 -04:00
Brad King
eb705b9531 Update links to gitlab.kitware.com repos to add -/
GitLab now uses a `/-/` component between the `group/project` part of
the URL and the `{issues,merge_requests,tree}` part so that it can
support `group/subgroup/project` with arbitrary depth.
2020-05-26 11:38:01 -04:00
Marc Chevrier
12e483c563 cmake_language: check CALL with control command
Fixes: #20739
2020-05-26 07:27:35 -04:00
Brad King
3a1853b9fd Merge topic 'doc-updates'
b3e4fb5144 Help: clarify add_definitions() and add_compile_definitions() behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4786
2020-05-25 15:50:18 -04:00
Brad King
a354b7f21e Merge topic 'CheckLinkerFlag-module'
af96c0f4fa CheckLinkerFlag: Add module to check validity of linker flags
3c4cc77d55 Tests: Extend Fortran compiler information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4777
2020-05-25 10:59:01 -04:00
Marc Chevrier
af96c0f4fa CheckLinkerFlag: Add module to check validity of linker flags
Fixes: #15934
2020-05-25 10:57:14 -04:00
Brad King
15b9b41d72 Merge topic 'fileApiAddPrecompileHeadersBacktrace'
9f6d40ee23 fileapi: Extend codemodel targets with PRECOMPILE_HEADERS
b698764a31 Tests: Add a PCH example to RunCMake.FileAPI codemodel-v2
b3812c0e54 Tests: Fix indentation in RunCMake.FileAPI cxx_exe.json
9c48804b69 PCH: Fix source group of per-architecture PCH headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4684
2020-05-25 10:40:56 -04:00
Marc Chevrier
b3e4fb5144 Help: clarify add_definitions() and add_compile_definitions() behavior
Fixes: #20736
2020-05-24 12:47:24 +02:00
Craig Scott
00c0c27303 Help: Clarify how env vars and ..._INIT variables interact
Fixes: #20358
2020-05-24 19:10:14 +10:00
Justin Goshi
9f6d40ee23 fileapi: Extend codemodel targets with PRECOMPILE_HEADERS 2020-05-22 11:26:55 -04:00
Brad King
62816ff88c Merge topic 'fortran-preprocess-property'
3888de23da Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFF
66c4e87282 Ninja: Add helper functions to generate Fortran build
5cca1ec893 Ninja: Add helper functions to generate Fortran preprocess rule
b0a6161190 Fortran: Add Fortran_PREPROCESS property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4659
2020-05-22 10:35:10 -04:00
Craig Scott
1b0049680b Merge topic 'cmake_language-rename-from-cmake_command'
94c1e4fdb3 cmake_language: Rename command from cmake_command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4774
2020-05-22 10:25:29 -04:00
Brad King
a7b3102e00 Merge topic 'support_conda_env'
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path
cd9c3c000f Tests: Update QtAutogen codeeditor test only include headers needed
d806bd2e8c Tests: Update test suite to run in an Anaconda environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4773
2020-05-22 08:12:24 -04:00
Brad King
b54280beb7 Merge topic 'cuda-default-runtime'
d8eee80e30 Merge branch 'backport-cuda-default-runtime' into cuda-default-runtime
e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
1086e930dc CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile
a4ea293153 Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4762
2020-05-22 06:55:37 -04:00
Brad King
d8eee80e30 Merge branch 'backport-cuda-default-runtime' into cuda-default-runtime 2020-05-22 06:50:19 -04:00
Brad King
94c1e4fdb3 cmake_language: Rename command from cmake_command
Also rename the `INVOKE` signature to `CALL`.

Fixes: #20732
2020-05-21 13:36:52 -04:00
Brad King
9ec09f22ff Merge topic 'multi-ninja-pch-msvc'
f6cb1e646c Multi-Ninja: Fix PCHs for Visual C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4771
2020-05-21 11:52:12 -04:00
Peter Hill
3888de23da Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFF
If `Fortran_PREPROCESS` is explicitly turned off for a source file then
we know it does not need to be preprocessed.  Teach the Ninja generator
to skip preprocessing in this case.  Otherwise we still must preprocess
just in case.

Fixes: #18870
2020-05-21 11:46:32 -04:00
Peter Hill
b0a6161190 Fortran: Add Fortran_PREPROCESS property
Issue: #18870
2020-05-21 11:44:14 -04:00
Robert Maynard
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path 2020-05-21 11:32:36 -04:00
Robert Maynard
e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.

To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
2020-05-21 11:15:03 -04:00
Robert Maynard
1086e930dc CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile 2020-05-20 14:36:55 -04:00
Robert Maynard
a4ea293153 Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability 2020-05-20 14:36:55 -04:00