Commit Graph

13449 Commits

Author SHA1 Message Date
Brad King
6b01a27f90 macOS: Simplify imported framework locations in find modules
Take advantage of commit d605f728f7 (macOS: Allow IMPORTED_LOCATION to
be a framework folder, 2023-06-16) to remove special-case framework
logic from find modules.

This changes link lines from `/path/to/Foo.framework/Foo[.tbd]` to
`-framework Foo`.  With the latter, the linker will automatically choose
the `.tbd` if it exists.

Issue: #24946
2023-08-25 11:05:18 -04:00
Brad King
92ff0f811e Merge topic 'FindZLIB-1.3'
9034394950 FindZLIB: Fix extraction of two-component version number 1.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8753
2023-08-23 08:53:57 -04:00
Brad King
9034394950 FindZLIB: Fix extraction of two-component version number 1.3
Fixes: #25200
2023-08-22 15:08:35 -04:00
Brad King
bcbe31a1f1 Merge topic 'doc'
d2c30ac063 Help:CheckCXXSymbolExists: refer to CheckSourceCompiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8746
2023-08-22 07:35:49 -04:00
Craig Scott
0b1f542c41 Merge topic 'ep-svn-trust-cert-non-interactive'
a1509658a0 ExternalProject: Ensure svn --trust-server-cert has dependent options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8745
2023-08-21 17:23:51 -04:00
Brad King
0788accdfc Merge topic 'imported-cxxmodules'
48ee946fdc cmExperimental: recycle the C++ modules API UUID
1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible
457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets
9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets
80ef50a191 CXXModules: add a variable for BMI-only compilation
80d6544398 cxxmodules: generate synthetic targets as an initial pass
3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching
cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8535
2023-08-21 09:49:48 -04:00
scivision
d2c30ac063 Help:CheckCXXSymbolExists: refer to CheckSourceCompiles
This was just missed in the earlier MR.
2023-08-21 00:01:21 -04:00
Craig Scott
a1509658a0 ExternalProject: Ensure svn --trust-server-cert has dependent options
If the --trust-server-cert option is given to svn without the
--non-interactive option, the command fails with an error.
Previously, --non-interactive was always added, but
b1c2cb0436 (ExternalProject: Make SVN interactive with
USES_TERMINAL_{DOWNLOAD,UPDATE}, 2022-05-06) changed
the behavior to only add it if the relevant USES_TERMINAL_...
option was set to true.

Fixes: #25197
2023-08-21 09:23:02 +10:00
Brad King
412829a3d6 Merge topic 'LLVMFlang-Fortran-flags'
1140087ade LLVMFlang-Fortran: Add flags for build types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8741
2023-08-19 08:53:32 -04:00
Brad King
eab1f33eff Merge topic 'LLVMFlang-Fortran-flags' into release-3.27
1140087ade LLVMFlang-Fortran: Add flags for build types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8741
2023-08-19 08:53:31 -04:00
Tarun Prabhu
1140087ade LLVMFlang-Fortran: Add flags for build types
Fixes: #25193
2023-08-19 08:47:44 -04:00
Brad King
db09cc188f Merge topic 'vs-props-order'
e4fe26201f VS: Remove duplicate import in compiler id vcxproj

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8740
2023-08-19 08:40:12 -04:00
Brad King
e4fe26201f VS: Remove duplicate import in compiler id vcxproj
Since commit d3c4c6d630 (VS: Import default C++ props file before
toolset-specific props file, 2023-03-01, v3.27.0-rc1~361^2) we import
`Microsoft.Cpp.Default.props` twice.  Remove the extra import line, and
re-order imports as intended by the original change.
2023-08-18 09:49:25 -04:00
Ben Boeckel
80ef50a191 CXXModules: add a variable for BMI-only compilation
This will be required when dealing with imported targets which contain
modules.
2023-08-17 14:42:54 -04:00
Brad King
cbc14b036a Merge topic 'msvc-llvm-mt'
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8706
2023-08-17 10:26:08 -04:00
Brad King
5d41ed9737 Merge topic 'ExternalProject-build-jobserver'
bc43398e72 ExternalProject: Enable Make Job Server with Explicit Build Command
99be022428 Tests/RunCMake/Make: simplify GNUMakeJobSeverAware check function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8667
2023-08-16 09:59:27 -04:00
ur4t
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments
Default use of `llvm-mt` was disabled by commit 73d0d4e4b5 (BinUtils:
Avoid llvm-mt because it is missing 'mt' features we use, 2022-03-08,
v3.23.0-rc3~7^2).  However, it can still be specified explicitly by the
user.  Due to limitations of LLVM's command line option parser, llvm-mt
does not support arbitrary manifest files following a single switch.

Issue: #23305
2023-08-16 09:52:57 -04:00
Brad King
04f2c4b199 Merge topic 'clang_c23'
65288eb92a Clang: use -std=c23 for Clang 18+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8716
2023-08-16 09:44:48 -04:00
Brad King
fcb944a11b Merge topic 'clang_c23' into release-3.27
65288eb92a Clang: use -std=c23 for Clang 18+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8716
2023-08-16 09:44:47 -04:00
Brad King
ab379e5054 Merge topic 'FindPython-3.13'
dfab044c44 FindPython: add support for Python 3.13

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8712
2023-08-16 09:42:53 -04:00
Brad King
d8ef731738 Merge topic 'FindPython-3.13' into release-3.27
dfab044c44 FindPython: add support for Python 3.13

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8712
2023-08-16 09:42:52 -04:00
Raul Tambre
65288eb92a Clang: use -std=c23 for Clang 18+
Canonical flag changed in LLVM commit 13629b140801870feff855ca168edf6b34dbef8d.
2023-08-15 09:43:48 -04:00
Vasily Ryabov
dfab044c44 FindPython: add support for Python 3.13
Python 3.13.0a0 can be built from main branch of python/cpython though
there were no official releases yet.
2023-08-15 09:39:43 -04:00
Brad King
969b07ba8e Merge topic 'TAPI-is-Apple-only'
8b0f0dc257 Apple Text Stubs (.tbd): various fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8708
2023-08-15 09:35:08 -04:00
Brad King
955d2b8847 Merge topic 'TAPI-is-Apple-only' into release-3.27
8b0f0dc257 Apple Text Stubs (.tbd): various fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8708
2023-08-15 09:35:07 -04:00
Brad King
d1130ea704 Merge topic 'FindJNI-no-xcode'
597139b853 FindJNI: Restore support for macOS without Xcode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8707
2023-08-15 09:34:16 -04:00
Chris Mahoney
bc43398e72 ExternalProject: Enable Make Job Server with Explicit Build Command
Introduces `BUILD_JOB_SERVER_AWARE` option to `ExternalProject_Add` and
`JOB_SERVER_AWARE` to `ExternalProject_Add_Step`. When using an explicit
`BUILD_COMMAND` or `COMMAND`, the generated commands won't use `$(MAKE)`
thus failing to connect to the outer make's job server. These new
options enable explicit job server integration.

Co-authored-by: Brad King <brad.king@kitware.com>

Fixes: #16273
2023-08-15 12:21:30 +00:00
Brad King
cc5234b03e Merge topic 'nvcc-std-flags'
2c6fe64876 NVIDIA-CUDA: Factor out helper for NVCC C++ standard flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8705
2023-08-11 10:34:38 -04:00
Marc Chevrier
8b0f0dc257 Apple Text Stubs (.tbd): various fixes
* ensure tapi lookup is applied only for concerned toolchains
* fix typos in tests

Fixes: #25182
2023-08-11 16:30:02 +02:00
Brad King
597139b853 FindJNI: Restore support for macOS without Xcode
Fix logic added by commit efa0e2ddaf (FindJNI: Update for Xcode greater than
12.1 on macOS, 2023-08-06, v3.27.2~5^2) to tolerate missing `xcodebuild`.

Fixes: #25181
2023-08-11 10:15:44 -04:00
Brad King
2c6fe64876 NVIDIA-CUDA: Factor out helper for NVCC C++ standard flags
These standard flags will be the same for other C++-derived languages
supported by nvcc.  Follow the pattern from commit 25439c7d62 (Clang:
Refactor CXX standard flags ..., 2020-03-16, v3.18.0-rc1~362^2~4) to
factor them into a single macro so we can easily reuse them.

Issue: #25143
2023-08-10 16:31:58 -04:00
Brad King
ec1e372953 HIP: Limit compiler id candidates to those supporting HIP
Currently we only support using Clang for HIP.

Issue: #25143
2023-08-10 16:30:41 -04:00
Brad King
6b21d2bc9b Merge topic 'FindPython-MINGW-support'
d6b9af5f91 FindPython: enhance MinGW support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8687
2023-08-08 10:11:26 -04:00
Brad King
75783213e3 Merge topic 'FindJNI-xcode-12.2'
efa0e2ddaf FindJNI: Update for Xcode greater than 12.1 on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8690
2023-08-08 09:52:26 -04:00
Christian Oyarzun
efa0e2ddaf FindJNI: Update for Xcode greater than 12.1 on macOS
`JavaVM.framework` was removed from Xcode in version 12.2+.

Fixes: #23364
2023-08-07 16:09:22 -04:00
Brad King
efb21962fb Merge topic 'cxxmodules-try-compile'
be53c75852 cmExperimental: recycle the C++ modules API UUID
deb1c3cbd5 cmCoreTryCompile: forward module-related binutils variables
b768d293c5 cmCoreTryCompile: use the source type context for source files
93993c7ad4 cmArgumentParser: support storing a context value with parsing
c9ca5f6326 cmCoreTryCompile: parse `SOURCES_TYPE` argument
07551f35de cmCoreTryCompile: use `target_sources` for `try_compile` targets
aad9033b56 cmExperimental: support forwarding associated variables to `try_compile`
f6cf433256 cmExperimental: only forward C++ module support to non-ABI checks
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8639
2023-08-07 11:57:00 -04:00
Marc Chevrier
d6b9af5f91 FindPython: enhance MinGW support
Ensure python-config script can be used.
2023-08-05 14:23:43 +02:00
Rick Budé
34ca0178ae FindwxWidgets: Fix returning optional components
Fixes: #25150
2023-08-02 10:15:02 -04:00
Brad King
40f25113af Merge topic 'doc_ep'
c949a8742e ExternalProject: Add option subsection anchors for accessibility from TOC
6828b9df5a Help/dev: Extend documentation guide with another section nesting level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8657
2023-08-01 09:27:02 -04:00
Brad King
653754794a Merge topic 'FindPython-Debian-workaround'
b02f3872d0 FindPython: Restore Python_SITE* values for versions below 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8672
2023-08-01 09:22:31 -04:00
Marc Chevrier
b02f3872d0 FindPython: Restore Python_SITE* values for versions below 3.10
Debian based distributions have a buggy sysconfig package.
So, rely on distutils.sysconfig if python version is less than 3.10.

Fixes: #25135
2023-07-31 15:00:44 -04:00
Ben Boeckel
04300579dd Modules/Internal/FeatureTesting: mark feature testing as a special test 2023-07-31 11:37:47 -04:00
scivision
c949a8742e ExternalProject: Add option subsection anchors for accessibility from TOC
Use RST subsections for each major step of `ExternalProject_Add()`.
This makes finding options easier with less scrolling.
For example, finding important Download vs. Test options etc.

Fixes: #25129
2023-07-31 11:21:10 -04:00
Brad King
13d78bbf16 CheckLanguage: Document that CMAKE_CUDA_HOST_COMPILER should not be set alone
Follow up commit 7968d9d442 (Help: Document CMAKE_CUDA_HOST_COMPILER as
specific to NVIDIA nvcc, 2020-07-14, v3.19.0-rc1~501^2) with an explicit
note in `CheckLanguage`.

Issue: #25093
2023-07-31 10:46:00 -04:00
Brad King
cfd92dece3 CheckLanguage: Modernize documentation formatting 2023-07-31 10:45:57 -04:00
Brad King
33b43757db Merge topic 'findcuda_mark_stub_libraries_as_no_rpath'
0744c02e24 FindCUDAToolkit: targets pointing to stubs now use IMPORTED_IMPLIB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8649
2023-07-26 10:21:18 -04:00
Kyle Edwards
f73a5bfaa9 UsePkgConfig: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
17bab9e709 FindwxWindows: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
13f7ae2878 FindQt: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
31cab35bb6 FindFLTK2: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00