Commit Graph

1289 Commits

Author SHA1 Message Date
Brad King
9c5f6d22f3 Merge topic 'windows-kernel-mode-driver-includes'
b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9705
2024-09-05 09:21:35 -04:00
Brad King
2daeb0b504 Merge topic 'build-databases'
e77655555c cmExperimental: gate build database support behind a flag
23cbeb5035 ci: enable `build_database` CXXModules tests
6863c1d823 Tests/CXXModules: add tests for module commands
123107c1a4 Tests/CXXModules: add support for running targets under a given config
438038b5e1 Tests/CXXModules: support building specific targets of example trees
84bc710d84 cmGlobalGenerator: generate build database files for targets
670f753f24 cmDyndepCollation: write build database metadata
dcf9a66ffe cxxmodules: plumb control data for exporting build databases
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9708
2024-09-05 09:20:23 -04:00
Joseph Snyder
b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC
Detect Windows Kernel-Mode Driver include directories and library search
paths from the WDK command-line environment.  Require toolchain files to
specify the KMDF target version via a new variable.

Since this changes the behavior of the WindowsKernelModeDriver
experimental feature, update its UUID.
2024-09-03 11:10:35 -04:00
Ben Boeckel
e77655555c cmExperimental: gate build database support behind a flag
Given that the feature currently only supports C++ sources and is not
formally accepted by ISO yet, gate it behind a flag.
2024-09-03 10:05:40 -04:00
Brad King
e25f95c4cc Merge topic 'standard-link-directories'
20e9b59d5e Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9707
2024-08-29 08:31:17 -04:00
Vito Gamberini
20e9b59d5e Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIES
Closes: #18222
2024-08-28 15:54:43 -04:00
Brad King
241f923a6f Drop Visual Studio 12 2013 generator
This generator has been deprecated since CMake 3.28.  Remove it.
2024-08-28 14:13:05 -04:00
Ben Boeckel
dcf9a66ffe cxxmodules: plumb control data for exporting build databases
This includes the target property, its initializing variable, its
initializing environment variable, and updating related docs to mention
the new bits.
2024-08-27 12:37:36 -04:00
Peter Kokot
4086e81e38 Help: Rename Oracle Solaris Studio to Oracle Developer Studio
With version 12.5 Oracle Solaris Studio was renamed to Oracle Developer
Studio.
2024-08-09 10:05:52 +02:00
Alex Turbov
ecef0313f7 Help: Add a link to cmake(1) CLI option to CMAKE_VS_NUGET_PACKAGE_RESTORE 2024-08-01 20:08:52 +04:00
Christoph Junghans
98d0f918ba LFortran: Add support for this compiler
Fixes: #25419
2024-07-22 16:50:33 -04:00
Brad King
f36d09a0b8 Merge topic 'cpack-wix-per-machine'
d588e81ffb CPack/WIX: Generate perMachine installers by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9672
2024-07-22 10:17:57 -04:00
Brad King
a8d8f26828 Merge topic 'aix-archive-shared-libraries'
d27fe9dfba AIX: Add option to archive shared libraries
98013ad1ca cmXCOFF: Add support for editing binary inside an archive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9606
2024-07-19 09:55:58 -04:00
Brad King
d588e81ffb CPack/WIX: Generate perMachine installers by default
Add policy CMP0172 to set `CPACK_WIX_INSTALL_SCOPE` to `perMachine` by
default.  Follow up commit 60661f6770 (CPack/WiX: Make InstallScope
configurable, 2023-11-07, v3.29.0-rc1~413^2) and commit 614100dbf6
(CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower,
2024-06-05, v3.30.0-rc1~7^2~1).

Issue: #20962
Issue: #26029
2024-07-18 14:16:54 -04:00
Aditya Vidyadhar Kamath
d27fe9dfba AIX: Add option to archive shared libraries
Add option `CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`.

There will no versions for the shared objects when this option is used.

Closes: #26033
2024-07-17 11:52:09 -04:00
Jacob Hummer
68cd5281e4 WASI: Add platform modules
Add minimal platform modules to support toolchain files like those in

* https://github.com/WebAssembly/wasi-sdk

or direct use of `-DCMAKE_SYSTEM_NAME="WASI"`

Fixes: #19223
2024-07-16 12:28:19 -04:00
Marc Chevrier
576567f028 Link feature attributes: stabilization
* enhance OVERRIDE handling
* Update wording
2024-06-21 11:18:20 +02:00
Craig Scott
c4fdf01a84 Help: Improve link library feature properties docs 2024-06-15 15:45:38 +10:00
Brad King
e0a11dfa24 Merge topic 'dep-provider-try_compile'
4cb5bb014d try_compile: Propagating top level includes into whole-project calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9532
2024-05-31 09:20:27 -04:00
Brad King
c02dd58080 Merge topic 'msvc-v143-versions'
3873574f89 Help: Update MSVC_VERSION range for VS 17.10's MSVC 14.40 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9554
2024-05-30 10:00:54 -04:00
Craig Scott
4cb5bb014d try_compile: Propagating top level includes into whole-project calls
Fixes: #24151
2024-05-30 19:01:03 +10:00
Brad King
3873574f89 Help: Update MSVC_VERSION range for VS 17.10's MSVC 14.40 toolset
According to this blog post:

* https://devblogs.microsoft.com/cppblog/msvc-toolset-minor-version-number-14-40-in-vs-2022-v17-10/

the 14.40 through 14.49 version range will be used by the v143 toolsets.

Fixes: #26015
2024-05-29 11:48:08 -04:00
Brad King
5d93c421f1 HIP: Populate CMAKE_HIP_KNOWN_FEATURES global property
Fixes: #26013
2024-05-28 14:36:42 -04:00
Marc Chevrier
6e5e7968c3 GenEx $<LINK_LIBRARY>: Add the support of properties attached to features
Fixes: #24504, #25954
2024-05-15 10:02:36 +02:00
Brad King
760ad9bcc7 Merge topic 'remove-vs9-generator'
03c31b0395 Drop Visual Studio 9 2008 generator
88c70dde34 cmGlobalVisualStudioGenerator: Use member 'Version' more directly
0bdcf1cb17 cmLocalVisualStudio7Generator: Make vfproj conditions more explicit
acc5ea7390 cmLocalVisualStudio7Generator: Reset per-target members after every target
252702bb35 cmVisualStudioGeneratorOptions: Order version check branches consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9496
2024-05-09 10:31:01 -04:00
Brad King
03c31b0395 Drop Visual Studio 9 2008 generator
This generator has been deprecated since CMake 3.27.  Remove it.
2024-05-08 10:37:34 -04:00
Juan Ramos
8763da8268 Help: Provide simple CMAKE_MODULE_PATH example 2024-05-07 12:45:04 -07: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
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
Ben Boeckel
15bbd1d9b8 Experimental: add an experimental feature gate for import std 2024-04-12 11:46:39 -04:00
Ben Boeckel
7146cf9248 cmTarget: support the CXX_MODULE_STD property 2024-04-11 10:19:44 -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
Brad King
554a9b00c8 Merge topic 'tls-verify'
7139944264 ctest: Fall back to CMake environment variable for TLS server verification
c295df53c6 ctest: Test fallback to CMake options for TLS server verification
0d250dd021 ExternalProject: Honor CMAKE_TLS_VERIFY environment variable
e8404502b1 ExternalProject: Revise TLS_VERIFY wording to use TLS_VERSION pattern
46faaf9667 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERIFY environment variable
8b0169fe2b file(DOWNLOAD|UPLOAD): Add test covering CMAKE_TLS_VERIFY cmake variable
93886f5c7d file(DOWNLOAD|UPLOAD): Avoid unnecessary CMAKE_TLS_VERIFY variable lookup
bed32f400e file(DOWNLOAD|UPLOAD): Document TLS_VERSION fallback to environment variable
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9389
2024-04-01 09:37:20 -04:00
Brad King
622e17a0f0 Merge topic 'doc-vsfortran'
7fa0057c74 Help: emphasize need for VS Integrations with oneAPI Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9387
2024-04-01 09:33:45 -04:00
Brad King
82d945fcfe Merge topic 'doc-vsfortran' into release-3.29
7fa0057c74 Help: emphasize need for VS Integrations with oneAPI Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9387
2024-04-01 09:33:44 -04:00
Brad King
7139944264 ctest: Fall back to CMake environment variable for TLS server verification
Use `ENV{CMAKE_TLS_VERIFY}` if `CTEST_TLS_VERIFY` or `CMAKE_TLS_VERIFY`
is not set.

Issue: #23608
2024-03-30 09:22:05 -04:00
Brad King
46faaf9667 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERIFY environment variable
Issue: #23608
2024-03-30 09:22:04 -04:00
scivision
7fa0057c74 Help: emphasize need for VS Integrations with oneAPI Fortran
Be more explicit that VS Integration is required to use
Intel Fortran with MSVC.

It is common that users do not have VS Integration installed because
oneAPI is then only usable with a narrow range of MSVC versions,
even when oneAPI is used by itself with MSVC as the required backend.
Without VS Integration, a wide range of MSVC versions work as the
backend to oneAPI on Windows.
2024-03-29 15:29:59 -04:00
Brad King
cf6083cc6e Merge topic 'doc-linker-vars'
6ba2bbc0f3 Help: Restructure and improve LINKER_TYPE docs
c39bc6e412 Help: CMAKE_<LANG>_USING_LINKER_<TYPE> can be a list of flags
1c7ccefd83 Help: Add custom linker example for CMAKE_<LANG>_USING_LINKER_<TYPE>
aecea7b28b Help: Grammar, typos and wording improvements for linker variables
5b21897c6e Help: Remove stray formatting for try_compile() LINKER_LANGUAGE keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9362
2024-03-27 08:18:10 -04:00
Craig Scott
6ba2bbc0f3 Help: Restructure and improve LINKER_TYPE docs 2024-03-26 08:03:14 +11:00
Craig Scott
c39bc6e412 Help: CMAKE_<LANG>_USING_LINKER_<TYPE> can be a list of flags 2024-03-26 08:03:14 +11:00
Craig Scott
1c7ccefd83 Help: Add custom linker example for CMAKE_<LANG>_USING_LINKER_<TYPE> 2024-03-26 08:03:14 +11:00
Craig Scott
aecea7b28b Help: Grammar, typos and wording improvements for linker variables 2024-03-26 08:03:14 +11:00
Brad King
e3a8a6fc0c Merge topic 'doc-project-include-vars-3.29'
dcb894fb00 Help: Update project() code injection for new 3.29 include behavior
09cf39ab07 Help: Improve wording of CMAKE_PROJECT_..._INCLUDE... changes for 3.29

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9343
2024-03-18 13:59:53 -04:00
Craig Scott
09cf39ab07 Help: Improve wording of CMAKE_PROJECT_..._INCLUDE... changes for 3.29 2024-03-16 17:42:10 +11:00