Commit Graph

2133 Commits

Author SHA1 Message Date
Shannon Booth a742b5d137 CMAKE_EXPORT_COMPILE_COMMANDS: allow configuration per target
The new target property `EXPORT_COMPILE_COMMANDS` associated with the
existing global variable can be used to optionally configure targets for
their compile commands to be exported.

Fixes: #19462
2021-01-06 11:51:39 +13:00
Brad King 522015e04f Merge topic 'java-export-native_headers'
53235626a2 UseJava: enable exportation of native headers target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5658
2021-01-05 09:02:12 -05:00
Brad King 4d70299c66 Merge topic 'clang_win32_subsystem'
acfb54bb2f Clang: Support WIN32_EXECUTABLE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5648
2021-01-04 13:49:23 -05:00
Marc Chevrier 53235626a2 UseJava: enable exportation of native headers target 2020-12-29 17:14:20 +01:00
Marc Chevrier cfd8a5ac1f Makefiles: Add support of DEPFILE for add_custom_command
Issue: #20286
Fixes: #21415
2020-12-23 15:47:46 +01:00
Raul Tambre acfb54bb2f Clang: Support WIN32_EXECUTABLE
Fixes #21613.
2020-12-23 12:39:09 +02:00
Brad King 72a28635b8 Merge topic 'issue-20134'
b68699b717 target_include_directories: Support AFTER option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5633
2020-12-22 09:13:08 -05:00
Brad King 3cf1a8c59b Merge topic 'issue-15653'
c3385dd8bd file(GENERATE): Support options to manipulate file permissions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5437
2020-12-22 09:12:20 -05:00
Brad King 05a59f37ab Merge topic 'ctest-test-dir'
dbcf86d24d Ctest: Support build tree on command line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5623
2020-12-21 10:04:58 -05:00
Asit Dhal c3385dd8bd file(GENERATE): Support options to manipulate file permissions
Fixes: #15653
2020-12-21 12:16:16 +01:00
Asit Dhal b68699b717 target_include_directories: Support AFTER option
Fixes: #20134
2020-12-19 14:51:39 +01:00
Brad King 6d7621baea Merge topic 'qt-autogen-per-config'
20e4db4a66 cmGeneratorTarget: Make GetConfigCommonSourceFiles Xcode-specific
92d7b456e5 Autogen: Add support for per-config sources
3ffebbaefb Tests/QtAutogen: Forward build configuration in multi-config generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5624
2020-12-17 13:22:40 -05:00
Asit Dhal dbcf86d24d Ctest: Support build tree on command line
Fixes: #21268
2020-12-17 05:01:03 +01:00
Brad King 92d7b456e5 Autogen: Add support for per-config sources
Fixes: #20682
2020-12-16 14:04:30 -05:00
Craig Scott d2456b29f4 Merge topic 'unity-anon-ns'
0fe9c40494 Unity Build: Add option for generating per-file unique id

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4784
2020-12-16 07:40:41 -05:00
Kyle Edwards dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands
Co-Author: Brad King <brad.king@kitware.com>
2020-12-15 07:01:21 -05:00
Stephen Kelly 0fe9c40494 Unity Build: Add option for generating per-file unique id
Fixes: #21477
2020-12-15 22:26:09 +11:00
Brad King c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
Move rejection of `#`, `<`, and `>` characters in outputs and byproducts
to a generate-time check.  This removes the front-end check that
disallowed generator expressions.  The generators have already been
updated to handle them.

Fixes: #12877
2020-12-11 08:24:21 -05:00
Brad King 9109475bfb Merge topic 'cpp23'
9f3c70a333 CUDA, CXX, OBJCXX: C++23 support with Clang 12
af7e1545c8 CUDA, CXX: Remove HAS_FULL_SUPPORT for C++17 and 20

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5576
2020-12-10 07:00:17 -05:00
Raul Tambre 9f3c70a333 CUDA, CXX, OBJCXX: C++23 support with Clang 12
Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b
in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
2020-12-08 18:43:59 +02:00
Haibo Huang 1a4b1cca1c Android: update documentation for NDK integration 2020-12-08 10:46:55 -05:00
Brad King da7ad7997e WriteCompilerDetectionHeader: Add policy to remove module
See justification in the policy documentation.

Closes: #17842
2020-12-05 21:57:08 +11:00
Brad King 76685b985d Merge topic 'explicit-LANGUAGE-flag'
48aac247e9 Compile with explicit language flag when source LANGUAGE property is set
2e67a75acd Embarcadero: Simplify addition of -P flag for C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5522
2020-12-04 08:27:55 -05:00
Brad King 48aac247e9 Compile with explicit language flag when source LANGUAGE property is set
This change was originally made by commit 74b1c9fc8e (Explicitly specify
language flag when source LANGUAGE property is set, 2020-06-01,
v3.19.0-rc1~722^2), but it was reverted by commit 30aa715fac (Revert
"specify language flag when source LANGUAGE property is set",
2020-11-19) to restore compatibility with pre-3.19 behavior.

Implement the change again, but add policy CMP0119 to make this change
while preserving compatibility with existing projects.

Note that the `Compiler/{Clang,Intel,MSVC}-CXX` modules do not need to
specify `-TP` for their MSVC-like variants because we already use the
flag in `CMAKE_CXX_COMPILE_OBJECT`.  Similarly for `Compiler/XL-CXX`
and `Platform/Windows-Embarcadero`.

Note also that this does not seem possible to implement for XL C.
Even with `-qsourcetype=c`, `xlc` complains about an unknown suffix:
`1501-218 (W) file /.../AltExtC.zzz contains an incorrect file suffix`.
It returns non-zero even with `-qsuppress=1501-218`.

Co-Author: Robert Maynard <robert.maynard@kitware.com>
Fixes: #14516, #20716
2020-12-02 11:39:11 -05:00
Brad King a0f2e8cbfa Merge topic 'cpackifw-package-wizard-show-page-list'
8b5a0e0fef CPackIFW: Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5545
2020-12-02 09:30:07 -05:00
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 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
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 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
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
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
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 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 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
Brad King 02d6c98210 Merge topic 'cpack-nuget'
41ae7c4e51 CPack/NuGet: Add settings for the license, icon, and language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5415
2020-11-06 08:01:41 -05:00
Andrew Fuller 1134064e22 clang-tidy: allow OBJC and OBJCXX 2020-11-05 11:39:32 -08:00
Bob Apthorpe 41ae7c4e51 CPack/NuGet: Add settings for the license, icon, and language
Also update the XML Schema.

Fixes: #21348
2020-11-05 10:49:25 -05:00
Craig Scott 73974d84c2 Merge topic 'abi-byte-order'
f511a1c009 CMakeDetermineCompilerABI: Detect byte order as part of check
606b34b3a6 CMakeDetermineCompilerABI: Look for more INFO strings in test binary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Juan Ramos <juan.ramos@amd.com>
Acked-by: John Palmer <juanr0911@gmail.com>
Merge-request: !5460
2020-11-05 07:47:59 -05:00
Brad King f511a1c009 CMakeDetermineCompilerABI: Detect byte order as part of check
We already detect `sizeof(void*)`.  Detect the byte order as part of the
same check.

Issue: #21392
2020-11-04 10:08:13 -05:00
Brad King 1583d50feb Help: Move cmake_path release note from 3.19 to post-3.19 development
The feature has been removed from the 3.19 branch, but has been kept in
post-3.19 development.  Move the release note accordingly.
2020-11-04 08:06:26 -05:00
Marc Chevrier e452f6e2cf FindPython: Adds control over artifact names to search
Fixes: #21371
2020-11-03 15:12:58 +01:00
Brad King c79e02c4c3 Merge topic 'cmake-20866'
03ad0e61c1 configure_file: Add option for user defined permissions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5320
2020-10-27 07:11:13 -04:00
Brad King ecab18bb7c Merge topic 'issue-21034'
1a3d125de8 target_sources: Support custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5421
2020-10-27 07:10:24 -04:00
Asit Dhal 1a3d125de8 target_sources: Support custom targets
Fixes: #21034
2020-10-24 21:13:25 +02:00
Asit Dhal 03ad0e61c1 configure_file: Add option for user defined permissions
User defined permissions and options to copy permissions are
implemented.

Fixes: #20866
2020-10-24 12:00:47 +02:00
Ben Boeckel ae7c81c622 ExternalData: add support for suppressing progress during the build
During CI builds (at least), download progress is just noise. Allow it
to be suppressed.

Default to `OFF` for Ninja due to the tool's behavior of not showing
output until a command is complete (which makes any progress reporting
of little use) and `ON` otherwise.
2020-10-23 09:49:51 -04:00
Johnny Jazeix c92b96234a CPack/NSIS: Template file in UTF-8 BOM to support Unicode
Fixes: #21318
2020-10-19 19:53:56 +02:00
Brad King 9952ee063a server: remove deprecated 'cmake -E server' mode
The server mode has been deprecated since commit 996e1885c4 (server:
deprecate in favor of the file-api, 2019-04-19, v3.15.0-rc1~198^2).
Clients should now be using the file-api.  Remove the server mode.
2020-10-14 16:41:50 -04:00