Commit Graph

63168 Commits

Author SHA1 Message Date
Atılhan Emre Dursunoğlu
f173ca21ca cmBinUtilsLinuxELFLinker: Cache ldconfig results
Running GetLDConfigPaths in every ScanDependencies is expensive.
2023-09-19 17:38:25 +03:00
Kitware Robot
0846414ba2 CMake Nightly Date Stamp 2023-09-18 00:01:42 -04:00
Kitware Robot
aa6213848d CMake Nightly Date Stamp 2023-09-17 00:01:14 -04:00
Kitware Robot
9aab118785 CMake Nightly Date Stamp 2023-09-16 00:01:14 -04:00
Brad King
9a0abcb7b6 Merge topic 'find-windows-no-PATH-prefixes'
0a81110b84 find_(library|file|path): Drop PATH-derived search prefixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8802
2023-09-15 08:56:40 -04:00
Kitware Robot
52cd2ea0f1 CMake Nightly Date Stamp 2023-09-15 00:01:16 -04:00
Brad King
0a81110b84 find_(library|file|path): Drop PATH-derived search prefixes
Since commit ffc06c1239 (Teach find_(library|file|path) to get prefixes
from PATH, 2015-02-18, v3.3.0-rc1~430^2) we search in `<prefix>/include`
and `<prefix>/lib` directories for prefixes with `bin` directories in
the `PATH` environment variable.  The motivation was to search the
installation prefixes of MSYS and MinGW development environments
automatically.

This behavior can search undesired prefixes that happen to be in the
`PATH` for unrelated reasons.  It was reverted for non-Windows hosts
within a year by commit b30b32a493 (Drop find_(library|file|path)
prefixes from PATH on non-Windows, 2016-05-09, v3.6.0-rc1~82^2) but was
kept on Windows hosts to support its motivating use case.  However,
similar problems have since been observed on Windows.  For example,
commit 955d6245c1 (MSVC: Revert "Teach find_library to consider the
'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2) was primarily
due to undesired discovery of libraries in `PATH`-derived prefixes.

Since commit 5e5132e1b1 (MinGW: Search for packages in standard MSYSTEM
environment prefixes, 2023-09-11) we search MSYS and MinGW environments'
prefixes explicitly, so `PATH`-derived prefixes are no longer needed for
the original motivating use case.

Fixes: #24216
2023-09-14 15:13:50 -04:00
Brad King
123cdf9816 Merge branch 'release-3.27' 2023-09-14 13:51:50 -04:00
Brad King
7d3b4868d0 CMake 3.27.5 v3.27.5 2023-09-14 13:13:14 -04:00
Brad King
6434b17d86 Merge branch 'release-3.27' 2023-09-14 13:01:21 -04:00
Brad King
5b590882fa Merge topic 'cxxmodules-non-compiled-source'
24a9b00f83 Merge branch 'cxxmodules-non-compiled-source-release' into cxxmodules-non-compiled-source
458e3974a8 cxxmodules: detect and message about non-compiled sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8773
2023-09-14 13:01:21 -04:00
Brad King
01f97f93c8 Merge topic 'cxxmodules-non-compiled-source' into release-3.27
458e3974a8 cxxmodules: detect and message about non-compiled sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8773
2023-09-14 13:01:20 -04:00
Brad King
c7af11b4d6 Merge topic 'autogen-exe-per-config'
e454314daa NinjaMultiConfig: Update tests for the new dependency change
fddd0f0443 Autogen: AUTO*_EXECUTABLE: add support for per-config values
10b09647f2 RunCMake: Add RunCMake_TEST_EXPECT_RESULT
cac2e029f0 cmQtAutoGenInitializer: Define CrossConfig variable
d4889361f0 cmQtAutoGenInitializer: Reduce string copies
0bf49d5579 cmQtAutoGenInitializer: Remove no-op call
94c4c1cb28 cmQtAutoGenInitializer: Improve Const-Correctness
6d54c36859 Autogen: Fix typo
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8564
2023-09-14 13:00:13 -04:00
Brad King
050c96211c Merge topic 'curl-hsts'
1bc0252850 curl: Enable HTTP Strict-Transport-Security (HSTS) for build in CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8801
2023-09-14 12:57:37 -04:00
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
Kitware Robot
dd282961b9 CMake Nightly Date Stamp 2023-09-14 00:01:12 -04:00
Orkun Tokdemir
e454314daa NinjaMultiConfig: Update tests for the new dependency change 2023-09-13 18:23:56 +02:00
Orkun Tokdemir
fddd0f0443 Autogen: AUTO*_EXECUTABLE: add support for per-config values
* Per-config values were added to `AUTO*_EXECUTABLE`.
* Dependency order was refactored for `cmake_autogen` and `cmake_autorcc` to
  avoid unnecessary rebuilds.
* A new parameter was added for `cmake_autogen` and `cmake_autorcc` to specify the config name of the `auto*_executable` to be used.
* The timestamp target was split into three targets for per-config to avoid redundant `mocs_compilation` builds.
* Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `CMAKE_CROSS_CONFIG` usage.
* Some functions were refactored to avoid code duplication.

Fixes: #20074
2023-09-13 18:23:56 +02:00
Brad King
1bc0252850 curl: Enable HTTP Strict-Transport-Security (HSTS) for build in CMake
Upstream curl enabled this by default starting in curl 7.77.  We merged
that version of curl in commit cd40922edb (Merge branch 'upstream-curl'
into update-curl, 2021-05-27, v3.21.0-rc1~120^2~2) but accidentally
switched HSTS off in the build system.  Enable it now.
2023-09-13 10:29:42 -04:00
Orkun Tokdemir
10b09647f2 RunCMake: Add RunCMake_TEST_EXPECT_RESULT 2023-09-13 15:59:57 +02:00
Orkun Tokdemir
cac2e029f0 cmQtAutoGenInitializer: Define CrossConfig variable 2023-09-13 15:59:54 +02:00
Orkun Tokdemir
d4889361f0 cmQtAutoGenInitializer: Reduce string copies 2023-09-13 15:58:47 +02:00
Orkun Tokdemir
0bf49d5579 cmQtAutoGenInitializer: Remove no-op call 2023-09-13 15:58:47 +02:00
Orkun Tokdemir
94c4c1cb28 cmQtAutoGenInitializer: Improve Const-Correctness 2023-09-13 15:58:47 +02:00
Orkun Tokdemir
6d54c36859 Autogen: Fix typo 2023-09-13 15:58:47 +02:00
Orkun Tokdemir
972cfd1bc3 cmCustomCommandGenerator: Fix GetInternalDepfile on moved instance
Previously the constructor captured `this` in a lambda used by the
`GetInternalDepfile` method, but the pointer is invalidated when the
instance moves.
2023-09-13 15:58:47 +02:00
Brad King
7f5d5f6e5a Merge topic 'ninja-cc-local'
0f16ebf333 cmNinjaTargetGenerator: Reduce lifetime of custom command list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8800
2023-09-13 08:44:11 -04:00
Brad King
a8c50d6faf Merge topic 'orkun_21677_16_06_2023'
09b650d000 Autogen: Move QtAutoMocDeps tests to RunCMake/Autogen
ebc9e448b3 Autogen: Add depfile support for Makefiles
e5358b9d8d RunCMake: Add RunCMake_TEST_NOT_EXPECT variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8570
2023-09-13 08:42:55 -04:00
Brad King
6686caf74c Merge topic 'Findosg-doc'
90c3357c67 Findosg*: Improve documentation formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8798
2023-09-13 08:42:08 -04:00
Brad King
3ebba48219 Merge branch 'release-3.27' 2023-09-13 08:41:11 -04:00
Brad King
3f8dc08ce5 Merge topic 'automoc-macro-names'
42adf3cba8 Autogen: Evaluate INTERFACE_AUTOMOC_MACRO_NAMES efficiently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8799
2023-09-13 08:41:11 -04:00
Brad King
1608b0be49 Merge topic 'automoc-macro-names' into release-3.27
42adf3cba8 Autogen: Evaluate INTERFACE_AUTOMOC_MACRO_NAMES efficiently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8799
2023-09-13 08:41:10 -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
Kitware Robot
8675a6ce40 CMake Nightly Date Stamp 2023-09-13 00:01:16 -04:00
Brad King
0f16ebf333 cmNinjaTargetGenerator: Reduce lifetime of custom command list
Since commit 2583eff6fe (ninja: Factor out custom command order-only
depends, 2014-03-10, v3.1.0-rc1~559^2) we can store the list of custom
commands in a local variable rather than a member.
2023-09-12 15:04:15 -04:00
Ben Boeckel
24a9b00f83 Merge branch 'cxxmodules-non-compiled-source-release' into cxxmodules-non-compiled-source
* cxxmodules-non-compiled-source-release:
  cxxmodules: detect and message about non-compiled sources
2023-09-12 14:47:20 -04:00
Ben Boeckel
458e3974a8 cxxmodules: detect and message about non-compiled sources
Previously an internal error was raised which ended up causing an
internal exception to be thrown. This is a typo situation that should
fall into an explicit error.

Fixes: #25207
2023-09-12 14:46:36 -04:00
Brad King
42adf3cba8 Autogen: Evaluate INTERFACE_AUTOMOC_MACRO_NAMES efficiently
In commit c5c3aff1f5 (Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target
property, 2023-04-03, v3.27.0-rc1~197^2) we forgot to mark the property
as a usage requirement.  This is needed for efficient evaluation over
the target dependency closure.

Fixes: #25238
2023-09-12 14:02:23 -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
976659c846 Merge topic 'presets-schema'
f1a7179520 presets: Add $schema property to JSON schema
f83771dfce presets: Add missing spaces in JSON schema

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8777
2023-09-12 09:08:17 -04:00
Brad King
860f936c22 Merge branch 'release-3.27' 2023-09-12 09:06:15 -04:00
Brad King
93d813d87c Merge topic 'vs-cuda-object-libs'
6ebff6ebf8 VS: Avoid unnecessary CUDA device linking for OBJECT libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8794
2023-09-12 09:06:15 -04:00
Brad King
6f8746e27c Merge topic 'vs-cuda-object-libs' into release-3.27
6ebff6ebf8 VS: Avoid unnecessary CUDA device linking for OBJECT libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8794
2023-09-12 09:06:14 -04:00
Brad King
3a1f2b2051 Merge topic 'runcmake-pwd'
34d46acfc8 Tests/RunCMake: Set $ENV{PWD} before each test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8795
2023-09-12 08:03:42 -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
a10ce3931a Merge topic 'pch-reuse-pdb-dependency'
37d994294b PCH: Add missing dependency of REUSE_FROM shared compiler PDB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8787
2023-09-12 07:59:10 -04:00
Brad King
5477afd920 Merge topic 'ninja-cmd'
6ebf0e1a46 Ninja: Use absolute path to COMSPEC if possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8747
2023-09-12 07:58:09 -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
d458d08070 Merge branch 'release-3.27' 2023-09-12 07:55:00 -04:00