Commit Graph

13476 Commits

Author SHA1 Message Date
Brad King
6576ca15f6 Merge topic 'mingw-search-prefixes'
5e5132e1b1 MinGW: Search for packages in standard MSYSTEM environment prefixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8796
2023-09-14 12:50:41 -04:00
Brad King
5e5132e1b1 MinGW: Search for packages in standard MSYSTEM environment prefixes
MSYS2 and similar MinGW/MSYS distributions define development
environments with a `MSYSTEM` environment variable.  Each such
environment has a documented installation prefix for its packages,
often provided by a `MSYSTEM_PREFIX` environment variable.
Since commit 84a25fc263 (cmake_host_system_information: Add
MSYSTEM_PREFIX query, 2023-09-08) we can look up this prefix.

Add `$MSYSTEM_PREFIX/local` and `$MSYSTEM_PREFIX` to our system search
prefixes when targeting MinGW under `MSYSTEM` environments.  This is
their equivalent to `/usr/local` and `/usr`, which we search by default
on UNIX systems.

Issue: #24216
2023-09-13 08:35:59 -04:00
權少
90c3357c67 Findosg*: Improve documentation formatting
Add reST markup for inline literals, definition lists, and notes.
2023-09-12 12:54:39 -04:00
Brad King
bb3bdf4548 Merge topic 'Findosg-doc'
57a0a16b58 Findosg*: Improve documentation formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8792
2023-09-12 08:00:06 -04:00
Brad King
c6e07514a1 Merge topic 'FindMatlab-version'
8ea398a7af FindMatlab: Prefer to use VersionInfo.xml to get version, fallback to run

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8760
2023-09-12 07:57:11 -04:00
Brad King
9beb4dd8a7 Merge topic 'FindPkgConfig_extra_whitespace'
d47771bbb9 FindPkgConfig: ignore whitespace separators in version check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8789
2023-09-12 07:56:11 -04:00
Brad King
5d1f803a04 Merge topic 'FindBoost-1.83'
897a149067 FindBoost: Add support for Boost 1.83

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8793
2023-09-12 07:55:00 -04:00
Brad King
b07ab81faf Merge topic 'FortranCInterface-macos-deployment-target'
84a097f038 FortranCInterface: forward `CMAKE_OSX_DEPLOYMENT_TARGET`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8790
2023-09-12 07:53:44 -04:00
權少
57a0a16b58 Findosg*: Improve documentation formatting
Add reST markup for inline literals and cross-references.
2023-09-11 12:30:05 -04:00
Brad King
897a149067 FindBoost: Add support for Boost 1.83
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_83_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.83.0 source tree.

Dependencies differ from 1.82, as mentioned in the 1.83 release notes:

* Boost.Timer no longer depends on Boost.Chrono

Fixes: #25243
2023-09-11 09:54:49 -04:00
Ben Boeckel
84a097f038 FortranCInterface: forward CMAKE_OSX_DEPLOYMENT_TARGET
GCC needs to be taught about every macOS release it seems, so older
builds may not support usage on newer releases by default.
2023-09-10 21:11:34 -04:00
scivision
8ea398a7af FindMatlab: Prefer to use VersionInfo.xml to get version, fallback to run
Parsing the version file is much faster than running Matlab.
It also improves reliability as Matlab silently quits or hangs
in some misconfigured environments.

For old Matlab, falls back to running Matlab.

also refactor file(STRINGS => file(READ as whole file was read anyway

Fixes: #25209
2023-09-09 22:23:05 -04:00
Paul Zander
d47771bbb9 FindPkgConfig: ignore whitespace separators in version check
The regex used to split up the version if it contains an operator fails
if the string contains whitespaces. Resulting in an extra whitespace
after the package name and before the package version leading to
breakage in pkgconf and thus webkit-gtk.

See:
https://github.com/pkgconf/pkgconf/issues/317
https://bugs.webkit.org/show_bug.cgi?id=261125
https://bugs.gentoo.org/913644
2023-09-09 13:49:19 +02:00
權少
7abb6d14ca FindLua{50,51}: Fix preformatted documentation blocks
Avoid duplicate `::`.
2023-09-08 15:34:35 -04:00
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