Commit Graph

4913 Commits

Author SHA1 Message Date
Brad King 628d7ef672 Merge topic 'cuda_env_archs'
c57541d874 CUDA: Fix tests with CUDAARCHS set
c4ae9384ff CUDA: Initialize CMAKE_CUDA_ARCHITECTURES using $ENV{CUDAARCHS}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5533
2020-12-01 09:37:07 -05:00
Brad King ee4310c3d9 Merge topic 'compile_def_doc'
4b9fcadc9a Help: Describe definition values in target_compile_definitions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5547
2020-12-01 09:30:50 -05:00
Brad King a24a4e18af Merge topic 'makefiles-compiler-deps-optims'
2c71d051fa Makefiles Generators: use compiler for dependencies generation
afd0f6785d Refactoring: Abstract Makefile line continuation format
b6068ce407 Refactoring: enhance include file filtering
3401403f69 Refactoring: Introduce place-holder for dependency target.
a97c41bf8b Refactoring: Makefiles Generators: Add support for various depends scanners

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5528
2020-11-30 13:26:53 -05:00
Juan Ramos 4b9fcadc9a Help: Describe definition values in target_compile_definitions
Fixes: #20573
2020-11-30 13:22:37 -05:00
Brad King 0173cdcc01 Merge topic 'make-GENERATED-visible-from-any-scope'
573d51201a GENERATED prop: Set CMP0118 to NEW for some (unrelated) tests
6624b65b3f GENERATED prop: Add implementation for policy CMP0118 being set to NEW
b14fe704f8 GENERATED prop: Simplify determining the language of a source file
ca4ce458a3 GENERATED prop: Check CMP0118 policy and warn in certain situations
0eb30f175e GENERATED prop: Introducing policy CMP0118 and its documentation
78c8d95605 GENERATED prop: Add some tests before introducing changes with CMP0118
e01527619f Simplify code by calling a function directly instead of duplicating it
75cb8615e9 Fix typo in function name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5308
2020-11-30 12:38:17 -05:00
Raul Tambre c4ae9384ff CUDA: Initialize CMAKE_CUDA_ARCHITECTURES using $ENV{CUDAARCHS}
NVCC's default architecture may be newer than the one supported by the
machine's GPU.
In such cases it's useful to have an environment variable for initializing
CMAKE_CUDA_ARCHITECTURES to avoid specifying it for every invocation.
2020-11-30 17:57:11 +02:00
Craig Scott 8187bd2f4b Merge topic 'xcode-embed-frameworks'
7c7b879e1f Help: Add missing release note for XCODE_EMBED_*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5550
2020-11-30 07:01:56 -05:00
Craig Scott 7c7b879e1f Help: Add missing release note for XCODE_EMBED_*
In 5651901c54 (Xcode: add support for embedding frameworks, 2020-10-24)
we neglected to add a release note for the new target properties
that were added.
2020-11-30 10:17:15 +11:00
Craig Scott ea212834c0 Merge topic 'xcode-embed-frameworks'
5651901c54 Xcode: add support for embedding frameworks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cameron Lowell Palmer <cameron.palmer@icloud.com>
Merge-request: !5418
2020-11-29 16:54:15 -05:00
Craig Scott 5a868f1488 Merge topic 'presets-docs-bug'
ca289abea5 Help: Fix presets typo (longDescription to displayName)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5541
2020-11-29 16:02:00 -05:00
Marc Chevrier 2c71d051fa Makefiles Generators: use compiler for dependencies generation
Each source compilation generates a dependencies file. These dependencies
files are consolidated in one file per target. This consolidation is done
as part of command 'cmake -E cmake_depends` launched before evaluation of
makefile dependency graph.

The consolidation uses the same approach as `CMake` dependencies management.

Fixes: #21321
2020-11-29 15:25:42 +01:00
Sam Freed ca289abea5 Help: Fix presets typo (longDescription to displayName) 2020-11-28 16:32:31 +11:00
Gusts Kaksis 5651901c54 Xcode: add support for embedding frameworks
This commit also prepares for embedding things other than
frameworks. In the future, we may want to embed resources and
other types supported by Xcode, so the target properties have
been documented in a way that clearly signals the future intent.
2020-11-28 15:36:24 +11:00
Konstantin Podsvirov 8b5a0e0fef CPackIFW: Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable
Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable to
control visibility of the widget listing installer pages on the left side
of the wizard. This feature available only since QtIFW 4.0.
2020-11-27 22:32:45 +03:00
Brad King d231d92289 Help/dev: Add a CMake Experimental Features Guide
Initialize it with placeholder content.  This document will serve to
contain documentation for experimental features that are under
development and not yet included in official documentation.
2020-11-24 16:29:34 -05:00
Deniz Bahadir 0eb30f175e GENERATED prop: Introducing policy CMP0118 and its documentation
Note: This is currently only defining the CMP0118 policy and providing
its documentation, however, the implementation is still not using it.
2020-11-24 17:41:02 +01:00
Brad King ee53b1af19 Merge topic 'doc-removed-UseJava-modules'
51ee82ddc6 Help: Restore documentation placeholder for removed modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5523
2020-11-23 11:25:31 -05:00
Brad King d1b6879ece Merge topic 'ctest_custom_versions' into release-3.19
6e7625989c Help: Fix `.. versionadded` directives for CTEST_CUSTOM_* variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5524
2020-11-23 11:24:22 -05:00
Brad King 4e4ced79fd Merge topic 'ctest_custom_versions'
6e7625989c Help: Fix `.. versionadded` directives for CTEST_CUSTOM_* variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5524
2020-11-23 11:24:22 -05:00
Brad King 8832b695e0 Merge topic 'cuda_11'
046e454fdd CUDA: Error if can't determine toolkit library root
440dc98b07 CUDA: Clang CUDA 11.1 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5525
2020-11-23 11:23:02 -05:00
Raul Tambre 440dc98b07 CUDA: Clang CUDA 11.1 support
version.txt is gone from CUDA 11.1 installations, but the rest is the same.
Instead of looking for version.txt look for <CUDA path>/nvvm/libdevice, which
is the main thing that Clang requires (though it also checks for the existence
of bin and include).

Fixes #21353.
2020-11-22 11:30:01 +02:00
Nikita Nemkin 6e7625989c Help: Fix .. versionadded directives for CTEST_CUSTOM_* variables
CTEST_CUSTOM_* variables predate 3.0, but the docs were only added in 3.4.

Issue: #19715
2020-11-22 03:15:45 +05:00
Brad King 51ee82ddc6 Help: Restore documentation placeholder for removed modules
In commit cb28d9af1f (UseJava: Move helper scripts to subdirectory,
2020-11-12) we removed modules that were not meant to be documented
publicly.  In order to keep links from older versions on `cmake.org` to
the "latest" documentation working for those modules, add placeholder
documents describing the change.
2020-11-20 12:30:14 -05:00
Brad King 60a131efd5 Merge topic 'revert-explicit-LANGUAGE-flag'
30aa715fac Revert "specify language flag when source LANGUAGE property is set"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5519
2020-11-20 10:05:11 -05:00
Brad King 30aa715fac Revert "specify language flag when source LANGUAGE property is set"
Revert commit 74b1c9fc8e (Explicitly specify language flag when source
LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup
tables from its two immediate ancestors.  The purpose of that change was
to convert an explicit `LANGUAGE` source file property into an explicit
language specification compiler flag like `-x c`.  This seems reasonable
since the property is documented as meaning "indicate what programming
language the source file is".  It is also needed to help compilers deal
with non-standard source file extensions they don't recognize.

However, some projects have been setting `LANGUAGE C` on `.S` assembler
source files to mean "use the C compiler".  Passing `-x c` for them
breaks the build because the `.S` sources are not written in C.  These
projects should be updated to use `enable_language(ASM)`, for which
CMake often chooses the C compiler as the assembler when using
toolchains that support it (which would have to be the case for projects
using the approach).

Revert the change for now to preserve the old behavior for such projects.
We can re-introduce it with a policy in a future version of CMake.

Fixes: #21469
Issue: #14516, #20716
2020-11-19 17:06:03 -05:00
Brad King c8b2331e8b Merge topic 'rename_cuda_memcheck'
fea49b2df0 CTest: Rename CudaMemcheck to CudaSanitizer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5514
2020-11-18 07:29:54 -05:00
Tobias Ribizel fea49b2df0 CTest: Rename CudaMemcheck to CudaSanitizer 2020-11-17 21:06:30 +01:00
Brad King 01b473b810 Merge topic 'msvc-no-GR'
c00a6d3967 MSVC: Do not add /GR to CMAKE_CXX_FLAGS by default
6114c8e994 MSVC: Factor out initialization of /GR flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5508
2020-11-16 11:19:28 -05:00
Craig Scott eb04e25ba6 Merge topic 'cmake_path-enhancements'
ed21ad181e cmake_path: various enhancements to subcommands/keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5457
2020-11-14 06:39:42 -05:00
Brad King c00a6d3967 MSVC: Do not add /GR to CMAKE_CXX_FLAGS by default
The `/GR` flag has been on by default since MSVC cl 14.0 from VS 2005.
Remove it from the default flags to make it easier for projects to pass
`/GR-` themselves to turn it off.

Projects may be using string processing to replace `/GR` with another
flag, so we cannot simply drop it.  Add a policy to drop it in a
compatible way.

Fixes: #21428
2020-11-13 11:46:23 -05:00
Brad King 225fb10f67 Merge topic 'usejava_helpers'
cb28d9af1f UseJava: Move helper scripts to subdirectory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5501
2020-11-13 09:48:56 -05:00
Brad King d06676ebee Merge topic 'versionadded'
c43e845d09 Help: Add `.. versionadded` directives to generator docs
f6fd769ae9 Help: Add `.. versionadded` directives to CPack generator docs
a19058d7d8 Help: Replace some `versionadded` directives with `versionchanged`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5495
2020-11-13 09:47:37 -05:00
Brad King c457670711 Merge topic 'qtifw-archivegen'
5ab75dd7dd CPack/IFW: Locate the archivegen utility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5503
2020-11-13 09:45:33 -05:00
Brad King c35c4ae85c Merge topic 'qtifw-archivegen' into release-3.19
5ab75dd7dd CPack/IFW: Locate the archivegen utility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5503
2020-11-13 09:45:32 -05:00
Brad King eb73f343f0 Merge topic 'doc-cstd'
48645cabe3 Help: MSVC now has C standard level flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5500
2020-11-13 09:43:08 -05:00
Brad King ddd6979aab Merge topic 'doc-cstd' into release-3.19
48645cabe3 Help: MSVC now has C standard level flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5500
2020-11-13 09:43:07 -05:00
Erlend Egeberg Aasland 5ab75dd7dd CPack/IFW: Locate the archivegen utility
Fixes: #21427
2020-11-12 21:22:53 +01:00
Nikita Nemkin cb28d9af1f UseJava: Move helper scripts to subdirectory
Also, exclude them from the help module index.
2020-11-12 20:14:05 +05:00
Michael Hirsch 48645cabe3 Help: MSVC now has C standard level flags 2020-11-12 09:41:24 -05:00
Nikita Nemkin c43e845d09 Help: Add .. versionadded directives to generator docs
More `.. versionadded` could be added later when the features,
variables and properties relevant to each generator are properly
documented.

Issue: #19715
2020-11-12 09:45:10 +05:00
Nikita Nemkin f6fd769ae9 Help: Add .. versionadded directives to CPack generator docs
Issue: #19715
2020-11-12 09:44:02 +05:00
Nikita Nemkin a19058d7d8 Help: Replace some versionadded directives with versionchanged
`.. versionchanged` directive might be more appropriate when
documentation refers to previous CMake version, old behavior
or a policy, and there's no new parameter or a variable involved.

Issue: #19715
2020-11-12 09:44:01 +05:00
Marc Chevrier ed21ad181e cmake_path: various enhancements to subcommands/keywords
This change address partly the remarks done in issue #21385
2020-11-11 23:43:51 +01:00
Brad King 9450ab0d23 Merge topic 'envvar_versions'
5934a6275c Help: Fix `.. versionadded` directives in environment variable docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5498
2020-11-11 15:22:26 -05:00
Nikita Nemkin 5934a6275c Help: Fix .. versionadded directives in environment variable docs
Many environment variables were documented late and got
assigned wrong versions by the script.
(The whole Help/envvar section was only added in 3.10).

Issue: #19715
2020-11-11 20:38:18 +05:00
Brad King c966c71956 Merge topic 'get_filename_component-clarification'
c0e05671d3 Help/get_filename_component: clarify NAME_W[L]E summaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5489
2020-11-11 09:31:55 -05:00
Ben Boeckel c0e05671d3 Help/get_filename_component: clarify NAME_W[L]E summaries
There was an ambiguity in the wording with the meaning of "or" typically
meaning exclusive-or in prose. Instead, ensure that the easiest parsing
is clear that the directory part is always removed.
2020-11-10 10:06:24 -05:00
Nikita Nemkin c705279bae Help: Add .. versionadded directives to commands documentation
This change ony concerns directives that appear in the document body.

The guidelines for inserting version directives:

 * Baseline version is CMake 3.0, i.e. directives start at 3.1.
 * Always use `.. versionadded::` directive, avoid ad-hoc version
   references. Exception: policy pages.
 * For new command signatures, put `versionadded` on a separate line
   after the signature.
 * For a group of new signatures in a new document section,
   a single version note at the beginning of the section is sufficient.
 * For new options, put `versionadded` on a separate line before
   option description.
 * If all the option descriptions in the list are short one-liners,
   it's fine to put `versionadded` on the same line as the description.
 * If multiple option descriptions in close proximity would have
   the same ..versionadded directive, consider adding a single
   directive after the list, mentioning all added options.
 * For compact value lists and sub-option lists, put a single
  `versionadded` directive after the list mentioning all additions.
 * When a change is described in a single paragraph, put
   `versionadded` into that paragraph.
 * When only part of the paragraph has changed, separate the changed
   part if it doesn't break the flow. Otherwise, write a follow-up
   clarification paragraph and apply version directive to that.
 * When multiple version directives are close by, order earlier
   additions before later additions.
 * Indent related lists and code blocks to include them in the scope
   of `versionadded` directive.

Issue: #19715
2020-11-09 20:51:57 +05:00
Brad King fcc89bda1d TestBigEndian: Re-implement using byte order detected from ABI check
Document the module as deprecated in favor of the ABI check results.
2020-11-06 09:17:30 -05:00
Brad King ffda92d4bf Merge topic 'clang-tidy-for-objc'
1134064e22 clang-tidy: allow OBJC and OBJCXX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5467
2020-11-06 08:05:00 -05:00