Commit Graph

7484 Commits

Author SHA1 Message Date
Brad King
f0b40d451e Merge topic 'vs-filter-props'
56a96d1f1f VS: Add option to import .props in .vcxproj.filters files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9478
2024-05-02 09:43:17 -04:00
Brad King
1d8848c4ce Merge topic 'FindOpenMP-runtime-msvc'
b07c637e42 FindOpenMP: Add option to control OpenMP runtime with MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9475
2024-05-02 09:34:29 -04:00
halx99
56a96d1f1f VS: Add option to import .props in .vcxproj.filters files
Adds new target property VS_FILTER_PROPS

Fixes: #25948
2024-05-02 00:30:00 +08:00
Brad King
de9faaf0a3 Merge topic 'genex-link-properties'
ddb9442f48 GenEx: Fix TARGET_PROPERTY evaluation of transitive link properties
862b8e28ad GenEx: Teach TARGET_PROPERTY evaluation to optionally pierce LINK_ONLY
8d1d6a1437 Tests: Cover TARGET_PROPERTY genex evaluation of transitive link properties
abf607c2ec Tests: Cover TARGET_PROPERTY genex evaluation of transitive build properties
7d3d728a72 Help: Clarify CMP0099 documentation and summary text
79a3ae9a0d cmGeneratorExpressionDAGChecker: Simplify transitive property table
e8010b67c7 cmGeneratorExpressionDAGChecker: Make local generator available in constructor
b36fb3f6f1 cmGeneratorExpressionNode: Remove outdated lint suppression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9473
2024-05-01 10:06:11 -04:00
Axel Huebl
b07c637e42 FindOpenMP: Add option to control OpenMP runtime with MSVC
The MSVC compiler's `-openmp` flag accepts `:{experimental,llvm}`
values.  Add an option to specify one.

Closes: #25570
2024-05-01 08:25:14 -04:00
Tyler
7c38e6bb52 Add CMAKE_<LANG>_STANDARD_LATEST variables
Add a variable to indicate the latest standard known to be supported for
each language:

* `CMAKE_C_STANDARD_LATEST`
* `CMAKE_CXX_STANDARD_LATEST`
* `CMAKE_CUDA_STANDARD_LATEST`
* `CMAKE_HIP_STANDARD_LATEST`
* `CMAKE_OBJC_STANDARD_LATEST`
* `CMAKE_OBJCXX_STANDARD_LATEST`

These variables, more generally referred to as
`CMAKE_<LANG>_STANDARD_LATEST`, are assigned an integer value which
represents the minimum between the latest version of the associated
language standard supported by the current compiler and the latest
version supported by CMake.

Add documentation for these variables in a new page called
`CMAKE_<LANG>_STANDARD_LATEST` was added under the "Variables for
Languages" section of the `cmake-variables(7)` page.

Update each compiler-specific CMake script under
`${CMAKE_ROOT}\Modules\Compiler` to manually define the relevant
`CMAKE_<LANG>_STANDARD_LATEST` variable as necessary. This will
require updating and maintaining as newer compiler versions become
recognized by CMake.

Closes: #25717
2024-04-30 11:05:03 -04:00
Brad King
ddb9442f48 GenEx: Fix TARGET_PROPERTY evaluation of transitive link properties
In commit bbba701899 (Link properties: must be transitive over private
dependency on static library, 2019-12-06, v3.17.0-rc1~323^2) and
commit af9d4f24ae (Link properties: must be transitive over private
dependency on static library, 2019-12-11, v3.17.0-rc1~305^2) we
neglected to implement CMP0099 NEW behavior for `TARGET_PROPERTY`
evaluation.  Add policy CMP0166 to fix this.
2024-04-29 17:40:03 -04:00
Brad King
7d3d728a72 Help: Clarify CMP0099 documentation and summary text 2024-04-29 17:40:03 -04:00
Craig Scott
d40e119acb Merge topic 'help-fix-cmake_path-example'
769866163a Help: Fix cmake_path example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9467
2024-04-28 04:21:16 -04:00
Craig Scott
9b61a7147d
Help: CMP0135 applies to FetchContent as well
This updates the CMP0135 documentation, which should have been
done as part of c2044fdf3f (FetchContent: Respect the CMP0135 policy
setting, 2022-06-02).

Issue: #23560
2024-04-27 11:01:45 +10:00
Juan Ramos
769866163a Help: Fix cmake_path example
Fixes: #25938
2024-04-26 08:49:07 -07:00
Brad King
a4b7a13c23 Merge topic 'doc-genex'
263f6b888c Help: Document TARGET_PROPERTY genex handling of transitive properties
f70eb84be7 Help: Clarify role of TARGET_NAME generator expression
36145e2680 Help: Organize target-dependent generator expressions into subsections
50eadd794e Help: Clarify cross-references to target-dependent generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9460
2024-04-25 11:25:30 -04:00
Brad King
263f6b888c Help: Document TARGET_PROPERTY genex handling of transitive properties 2024-04-25 10:53:47 -04:00
Brad King
f70eb84be7 Help: Clarify role of TARGET_NAME generator expression 2024-04-25 10:49:16 -04:00
Brad King
36145e2680 Help: Organize target-dependent generator expressions into subsections 2024-04-25 10:49:16 -04:00
Brad King
50eadd794e Help: Clarify cross-references to target-dependent generator expressions 2024-04-25 10:49:16 -04:00
Brad King
2c3a9d5385 Merge topic 'help.file'
d2d2ffe1c1 Help: file: document GET_RUNTIME_DEPENDENCIES separately

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Juan Ramos <juan.ramos@kitware.com>
Merge-request: !9456
2024-04-25 10:28:36 -04:00
Brad King
dea9daa6df Help: Fix link in cmake-buildsystem(7)
One local cross-reference added by commit 835f34949e (Help: Update
cmake-buildsystem(7) build and usage requirements, 2024-04-23) had
incorrect syntax.
2024-04-25 08:39:42 -04:00
Joachim Wuttke (h)
d2d2ffe1c1 Help: file: document GET_RUNTIME_DEPENDENCIES separately
Moved documentation of file(GET_RUNTIME_DEPENDENCIES ...) from
the 'Reading' section to a separate section at the bottom of
the page. Because it is a very long text, and because this
signature is quite different from all the others in the
'Reading' section.
2024-04-24 15:28:39 +02:00
Brad King
835f34949e Help: Update cmake-buildsystem(7) build and usage requirements
Re-organize the section to explicitly describe target-specific
commands, build properties, and usage requirement properties.
Add builtin transitive properties that have been created since
the document was first written.
2024-04-24 09:06:32 -04:00
Brad King
f19949db77 Help: Document when AUTOUIC_OPTIONS properties were added 2024-04-23 12:57:49 -04:00
Brad King
ad98b352ba Merge topic 'doc-install-prefix-override-default'
062c9dda89 Help: update CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9445
2024-04-22 08:26:28 -04:00
Etienne Doms
062c9dda89 Help: update CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
Suggests to override CMAKE_INSTALL_PREFIX value with set_property(CACHE)
instead of set(FORCE).
2024-04-19 18:31:12 +02:00
Brad King
bf8c0d625d Merge topic 'doc-objc-lang-flags'
31e6017bb6 Help: Document ObjC/ObjC++ flag variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9437
2024-04-19 08:57:28 -04:00
Alexander Borsuk
31e6017bb6 Help: Document ObjC/ObjC++ flag variables
Signed-off-by: Alexander Borsuk <me@alex.bio>
2024-04-18 17:48:59 +02:00
Ben Boeckel
678717f3e4 cxxmodules: provide a detection variable for import std 2024-04-18 09:53:21 -04:00
Brad King
048221add9 Merge topic 'doc-ObjC-17-23'
84f1eb64f3 Help/OBJC_STANDARD: Document Objective C17 and C23 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9439
2024-04-17 08:43:16 -04:00
Raul Tambre
84f1eb64f3 Help/OBJC_STANDARD: Document Objective C17 and C23 support
This was missed in

* commit 93b7d3d292 (C17 support, 2021-02-06, v3.21.0-rc1~587^2~10)
* commit dcd599757f (C23 support, 2021-02-06, v3.21.0-rc1~587^2~9)

Fixes: #25746
2024-04-16 15:24:20 -04:00
Brad King
d550a1ebea Merge topic 'cpack-innosetup-linux'
d4a46314ac CPack: Enable Inno Setup generator on non-Windows hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9431
2024-04-16 08:55:57 -04:00
Brad King
f494bbaf8f Merge topic 'FindBacktrace-imported-library'
9433755e5d FindBacktrace: Add imported library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9406
2024-04-16 08:51:59 -04:00
Andreas Oetken
d4a46314ac CPack: Enable Inno Setup generator on non-Windows hosts
Innosetup tools can be run on Linux using Wine, thus there is no reason
to block this in CMake.
2024-04-15 16:34:22 -04:00
David Faure
9433755e5d FindBacktrace: Add imported library
This is to avoid (a future version of) Qt from having to wrap
FindBacktrace like [1].

[1] https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/FindWrapBacktrace.cmake
2024-04-15 13:27:23 -04:00
Brad King
ca449572ef Merge topic 'cxxmodules-import-std'
429902ebad Clang: support creating a target for imported modules
4617f272b4 MSVC: support `import std`
62a71047bb cmGraphVizWriter: ignore `__cmake_`-prefixed targets
442086c1dc fileapi: ignore `__cmake_`-prefixed targets
ffe74289b3 CMakeDetermineCompilerId: extract C++ standard library impl
15bbd1d9b8 Experimental: add an experimental feature gate for `import std`
f80c60df02 CMakeDetermineCompilerSupport: construct C++ modules targets
19341e2582 ci: enable `import_std23` C++ module tests on MSVC
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9337
2024-04-15 09:56:53 -04:00
Ben Boeckel
429902ebad Clang: support creating a target for imported modules 2024-04-12 11:46:40 -04:00
Ben Boeckel
4617f272b4 MSVC: support import std 2024-04-12 11:46:40 -04:00
Ben Boeckel
15bbd1d9b8 Experimental: add an experimental feature gate for import std 2024-04-12 11:46:39 -04:00
Brad King
a2efb32667 Merge topic 'doc-regex-classes'
dc7a810a75 Help: Clarify documentation on regex character classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9419
2024-04-12 09:27:38 -04:00
Brad King
96a9dd7544 Merge branch 'release-3.29' 2024-04-11 10:45:02 -04:00
Ben Boeckel
2c8361f923 cxxmodules: link to std-providing targets when available 2024-04-11 10:19:44 -04:00
Ben Boeckel
7146cf9248 cmTarget: support the CXX_MODULE_STD property 2024-04-11 10:19:44 -04:00
Ben Boeckel
5bbd2c12db Help/cmake-cxxmodules: describe the compilation strategy 2024-04-11 10:19:43 -04:00
Brad King
d3190d6a73 CMake 3.29.2 2024-04-11 10:12:19 -04:00
Martin Stadler
dc7a810a75 Help: Clarify documentation on regex character classes
In particular, give an example of matching `]`.
2024-04-11 08:46:37 -04:00
Raul Tambre
f21dbf8f26 C++26: Fix C++/CUDA/HIP compile feature support
In commit f808d8afb9 (CMake: Support upcoming C++26 language level,
2022-08-19, v3.25.0-rc1~218^2) we forgot some necessary scaffolding.

Fixes: #25819
2024-04-09 11:38:59 +03:00
Brad King
de6d9a46cb Merge branch 'release-3.29' 2024-04-03 12:18:51 -04:00
Brad King
a4774b0c10 CMake 3.29.1 2024-04-03 11:45:14 -04:00
Brad King
7fde843527 Merge topic 'enable_language-before-project'
97464aa970 enable_language(): Fail if called before project()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9396
2024-04-03 09:38:46 -04:00
Brad King
3c8d4ed51a Merge topic 'swift-linker-selection'
3fb4092826 Swift: Add CMAKE_LINKER_TYPE support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9380
2024-04-03 09:34:06 -04:00
Evan Wilde
3fb4092826 Swift: Add CMAKE_LINKER_TYPE support
Extend commit 96a953b1ed (Add options to specify linker tool, 2023-09-27,
v3.29.0-rc1~577^2) with the `CMAKE_Swift_USING_LINKER_*` variables
needed to support `CMAKE_LINKER_TYPE` for Swift.
2024-04-02 10:42:12 -04:00
Craig Scott
97464aa970
enable_language(): Fail if called before project()
Fixes: #25550
2024-04-02 23:00:38 +11:00