Commit Graph

13462 Commits

Author SHA1 Message Date
Brad King 8aa20b554f Merge topic 'FindFreetype-use-config'
d83d925045 FindFreetype: use `freetype-config.cmake` if available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Ryan Krattiger <ryan.krattiger@kitware.com>
Merge-request: !8775
2023-09-08 09:02:58 -04:00
Brad King ad484e24bf Merge topic 'IntelLLVM-debug-flags'
e30f0f89af IntelLLVM: Suppress -Rdebug-disables-optimization on debug builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: LecrisUT <github@lecris.me>
Merge-request: !8764
2023-09-08 08:56:28 -04:00
Bram Metsch e30f0f89af IntelLLVM: Suppress -Rdebug-disables-optimization on debug builds
IntelLLVM 2023.0.0 and above emit this remark if `-g` is used without
any `-O<level>` flag, which is our default behavior.  Add another flag
to suppress the remark.
2023-09-07 15:15:08 -04:00
Brad King 1c5e4b60b1 Merge topic 'FindPkgConfig-system-cflags'
252c66c697 FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_INCLUDE_PATH in environment
4507883135 Tests: Rename RunCMake.FindPkgConfig LIBRARY_PATH case to SYSTEM_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8768
2023-09-07 07:52:06 -04:00
Ben Boeckel d83d925045 FindFreetype: use freetype-config.cmake if available
The official `freetype-config.cmake` provides `Freetype::Freetype` as an
`INTERFACE` library to its exported `freetype` target. This ends up
causing issues if CMake's Find module is used to define
`Freetype::Freetype` before using `freetype-config` because some, but
not all, of its defined targets are already available triggering the
generated code that detects such situations.

Instead, try to use `freetype-config` where possible and provide bridge
logic for this module's variable guarantees.
2023-09-06 18:15:44 -04:00
Cristian Le 252c66c697 FindPkgConfig: Tolerate PKG_CONFIG_SYSTEM_INCLUDE_PATH in environment
Tell `pkg-config --cflags` not to filter out `-I` flags for entries of
`PKG_CONFIG_SYSTEM_INCLUDE_PATH` (and `CPATH` for `pkgconf`).

Fixes: #25228
2023-09-06 12:17:39 -04:00
Brad King 00a7acb7da Merge topic 'nsis-correct-jump'
d3bfe0ea44 CPack/NSIS: Fix incorrect jump for standard user

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8767
2023-09-06 11:19:03 -04:00
Brad King 704d21d8a6 Merge topic 'FindMatlab'
7d7fe9981c FindMatlab: use if(IS_DIRECTORY) for directories instead of EXISTS
cf554750dd FindMatlab: no if(NOT EXIST) guard needed for file(MAKE_DIRECTORY)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8759
2023-09-06 11:07:38 -04:00
Brad King 77a2ae753f Merge topic 'FindGLEW-mingw'
a37a04b5c6 FindGLEW: Use correct library suffixes on MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8766
2023-09-06 11:06:25 -04:00
Sprite d3bfe0ea44 CPack/NSIS: Fix incorrect jump for standard user
Revert an incorrect change from commit c4a0bcea77 (CPack: Fix NSIS
handling of privileged users, 2012-02-01, v2.8.8~230^2).

Fixes: #13939
2023-09-05 13:39:00 -04:00
مهدي شينون (Mehdi Chinoune) a37a04b5c6 FindGLEW: Use correct library suffixes on MinGW 2023-09-03 19:53:00 +01:00
scivision 7d7fe9981c FindMatlab: use if(IS_DIRECTORY) for directories instead of EXISTS 2023-08-27 18:27:39 -04:00
scivision cf554750dd FindMatlab: no if(NOT EXIST) guard needed for file(MAKE_DIRECTORY) 2023-08-27 18:25:55 -04:00
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