Commit Graph

60758 Commits

Author SHA1 Message Date
Brad King ce0139a1df Merge topic '_hm_swift_threads_pthread'
d7963aa9ee FindThreads: Filter -pthread out for compatibility with Swift linker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8142
2023-02-01 09:09:52 -05:00
Brad King a58b0baca2 Merge topic 'cmTarget-refactorings'
33f629184f cmTarget: simplify `CheckLinkLibraryPattern`
22b9ce73e7 cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE usage requirements
332d2f8f52 cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT usage requirements
15eec07500 cmTarget: refactor INTERFACE_LINK_LIBRARIES usage requirements
e80689d101 cmTarget: refactor LINK_LIBRARIES usage requirements
4f009d2121 cmTarget: refactor LINK_DIRECTORIES usage requirements
99e783e735 cmTarget: refactor LINK_OPTIONS usage requirements
fd295dd263 cmTarget: refactor SOURCES usage requirements
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8127
2023-02-01 09:07:58 -05:00
Brad King 29d19e0e5a Merge topic 'cmTarget-property-grouping'
a7c29f3ebd cmTarget: use static string views for per-config properties
47315d817c cmTarget: group remaining properties
32d21f215f cmTarget: put build graph-related properties into a group
6f9821d179 cmTarget: put static analysis (co-compile) properties in a group
ead9ff61f9 cmTarget: put linking-related properties in a group
9bb824a237 cmTarget: put compile-related properties in a group

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8135
2023-02-01 09:07:06 -05:00
Brad King 6b2c52b25b Merge topic 'ccg-index-type'
91a26ce041 cmComputeComponentGraph: use `size_t` for component indices
65c0a64dc5 cmComputeComponentGraph: use a name for "invalid component"
50abdaab93 IWYU: exclude `__decay_and_strip<int>` as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8128
2023-02-01 09:06:07 -05:00
Kitware Robot 4e9db2a8fa CMake Nightly Date Stamp 2023-02-01 00:01:16 -05:00
Ben Boeckel 33f629184f cmTarget: simplify CheckLinkLibraryPattern
Now that usage properties have more of a representation, the function
can just take the requirement directly.
2023-01-31 10:07:02 -05:00
Ben Boeckel 22b9ce73e7 cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 332d2f8f52 cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 15eec07500 cmTarget: refactor INTERFACE_LINK_LIBRARIES usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel e80689d101 cmTarget: refactor LINK_LIBRARIES usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 4f009d2121 cmTarget: refactor LINK_DIRECTORIES usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 99e783e735 cmTarget: refactor LINK_OPTIONS usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel fd295dd263 cmTarget: refactor SOURCES usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel b21ab2638f cmTarget: refactor PRECOMPILE_HEADERS usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 8566336776 cmTarget: refactor COMPILE_DEFINITIONS usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 70555450fe cmTarget: refactor COMPILE_FEATURES usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 03b9240d6b cmTarget: refactor COMPILE_OPTIONS usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel 91561103de cmTarget: refactor INCLUDE_DIRECTORIES usage requirements 2023-01-31 10:07:02 -05:00
Ben Boeckel f644fc8aca cmTarget: introduce a UsageRequirementProperty structure
This structure will encapsulate the behaviors of usage requirements.
There are a number of them now and they all behave very similarly, so
try to reduce the code duplication as much as possible.
2023-01-31 10:07:02 -05:00
Brad King 29fb1367b6 Merge topic 'doc-CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS'
8c57f7b45e Help: Clarify CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8136
2023-01-31 09:35:31 -05:00
Brad King a5e2986244 Merge topic 'doc-add_custom_command'
abddcd370f Help: Clarify add_custom_command OUTPUT relative path behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8137
2023-01-31 09:34:39 -05:00
Brad King 2f5b0ac34e Merge topic 'CMakePackageConfigHelpers-ARCH_INDEPENDENT'
77982de955 CMakePackageConfigHelpers: only emit arch check if needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8133
2023-01-31 09:33:53 -05:00
Ben Boeckel 91a26ce041 cmComputeComponentGraph: use size_t for component indices
This avoids using casts everywhere when dealing with the sizes.
2023-01-31 09:27:06 -05:00
Ben Boeckel 65c0a64dc5 cmComputeComponentGraph: use a name for "invalid component"
This is to prepare for making the graph use `size_t`.
2023-01-31 09:27:06 -05:00
Brad King 18631c5089 Merge topic 'iwyu-ci-choose-target'
d5ee82104f ci: support debugging IWYU in CI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8138
2023-01-31 09:14:20 -05:00
Brad King 1a5bc71c59 Merge topic 'update-curl'
8443dfa946 curl: Work around missing OpenSSL symbol on machine with LCC 1.23
f9f5957884 Merge branch 'upstream-curl' into update-curl
dac458ddbf curl 2022-12-21 (c12fb3dd)
39dcf9469d curl: Update script to get curl 7.87.0
b2fe717a49 file: Avoid using deprecated curl progress callback
1cd38de47f ctest: Drop unnecessary use of deprecated CURLOPT_PUT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8131
2023-01-31 09:13:24 -05:00
Harry Mallon d7963aa9ee FindThreads: Filter -pthread out for compatibility with Swift linker 2023-01-31 09:11:08 +00:00
Kitware Robot 4dc058270d CMake Nightly Date Stamp 2023-01-31 00:01:11 -05:00
Ben Boeckel d5ee82104f ci: support debugging IWYU in CI
Instead of requiring setting up a mock CI environment with the official
image locally. While such docs would be handy anyways, requiring that
entire setup to get a small piece of information from a build is
unnecessary.
2023-01-30 15:25:24 -05:00
Robert Maynard 8c57f7b45e Help: Clarify CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS behavior
Fixes: #24373
2023-01-30 14:45:14 -05:00
Brad King abddcd370f Help: Clarify add_custom_command OUTPUT relative path behavior
Issue: #24372
2023-01-30 13:50:01 -05:00
Brad King 1c4825066b Merge topic 'msvc-showIncludes'
8f82e755f3 Ninja: Fix detection of MSVC showIncludes prefix in Italian
d6e7e4d4a1 Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languages
9596305c0b Tests: Generalize RunCMake.Ninja ShowIncludes test infrastructure
c6dd4fa21d Tests: Extend RunCMake.Ninja ShowIncludes case with sample path
a9d97492fd Ninja: Record showIncludes detection in configure log

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8129
2023-01-30 10:23:31 -05:00
Brad King 09cb6c48e2 Merge topic 'iwyu-better-ci-logs'
bf3425c3d2 ci: add a comment to run IWYU in verbose mode
25f0b4f397 CMake: add an option to run IWYU in verbose mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8130
2023-01-30 10:19:31 -05:00
Brad King 28ef53b55b Merge topic 'cxxmodules-export-iface-names-test'
f755296f9d Tests/RunCMake/CXXModules: add tests which don't export C++ module properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8126
2023-01-30 10:18:51 -05:00
Ben Boeckel a7c29f3ebd cmTarget: use static string views for per-config properties 2023-01-30 09:32:44 -05:00
Ben Boeckel 47315d817c cmTarget: group remaining properties
These are kind of a mixed assortment.
2023-01-30 09:25:37 -05:00
Ben Boeckel 32d21f215f cmTarget: put build graph-related properties into a group 2023-01-30 09:25:36 -05:00
Ben Boeckel 6f9821d179 cmTarget: put static analysis (co-compile) properties in a group 2023-01-30 09:25:35 -05:00
Ben Boeckel ead9ff61f9 cmTarget: put linking-related properties in a group 2023-01-30 09:25:34 -05:00
Ben Boeckel 9bb824a237 cmTarget: put compile-related properties in a group 2023-01-30 09:25:31 -05:00
Brad King f235fb2a40 Merge topic 'FindImageMagick'
1bba218214 FindImageMagick: Define targets for specific components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8098
2023-01-30 09:01:08 -05:00
Brad King 8443dfa946 curl: Work around missing OpenSSL symbol on machine with LCC 1.23
On a nightly build using LCC 1.23, OpenSSL 2.0.0 is found but does
not seem to have the `X509_STORE_up_ref` symbol used by curl 7.87.
Pending further investigation, disable use of the symbol based on
the compiler version.
2023-01-30 08:22:02 -05:00
Kitware Robot b96d7418b7 CMake Nightly Date Stamp 2023-01-30 00:01:22 -05:00
Andrea Pappacoda 77982de955 CMakePackageConfigHelpers: only emit arch check if needed
Before this patch, the write_basic_package_version_file() function of
the CMakePackageConfigHelpers module always emitted an architecture
check, even if the ARCH_INDEPENDENT option was specified. While this is
not an issue when configuring builds, as the check is skipped, this can
create issues when the "arch independent" version files are installed in
the datadir (e.g. /usr/share) in a MultiArch environment like Debian,
where different architecture packages of the same libraries can be
coinstalled; as the amd64 version of a given library contains "8 * 8"
in the file, while the i386 one contains "4 * 8", there's a conflict, as
files in /usr/share are expected to be identical across architectures.

This patch fixes this issue by only emitting the architecture check code
if needed; when ARCH_INDEPENDENT is specified, no code is written at
all.

Here's a diff between the version files generated before and after this
patch:

    diff -u old/indep.cmake new/indep.cmake
    --- old/indep.cmake	2023-01-29 13:43:04.840671117 +0100
    +++ new/indep.cmake	2023-01-29 13:57:28.475191551 +0100
    @@ -52,19 +52,3 @@
     endif()

    -# if the installed project requested no architecture check, don't perform the check
    -if("TRUE")
    -  return()
    -endif()
    -
    -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
    -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
    -  return()
    -endif()
    -
    -# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
    -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
    -  math(EXPR installedBits "8 * 8")
    -  set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
    -  set(PACKAGE_VERSION_UNSUITABLE TRUE)
    -endif()
    diff -u old/no-indep.cmake new/no-indep.cmake
    --- old/no-indep.cmake	2023-01-29 13:42:05.010710508 +0100
    +++ new/no-indep.cmake	2023-01-29 13:57:40.914237219 +0100
    @@ -52,13 +52,8 @@
     endif()

    -# if the installed project requested no architecture check, don't perform the check
    -if("FALSE")
    -  return()
    -endif()
    -
     # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
    -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
    +if(CMAKE_SIZEOF_VOID_P STREQUAL "" OR "8" STREQUAL "")
       return()
     endif()

Fixes: #24375
2023-01-29 14:00:13 +01:00
Kitware Robot a5e272c76f CMake Nightly Date Stamp 2023-01-29 00:01:14 -05:00
Brad King 8f82e755f3 Ninja: Fix detection of MSVC showIncludes prefix in Italian
The prefix does not have two colons.  Update our regex.

Fixes: #24357
2023-01-28 07:16:58 -05:00
Brad King d6e7e4d4a1 Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languages
Add cases for English, French, German, and Japanese.
2023-01-28 07:16:58 -05:00
Brad King 9596305c0b Tests: Generalize RunCMake.Ninja ShowIncludes test infrastructure
Prepare to add support for more languages.
2023-01-28 06:30:08 -05:00
Brad King 50333868e3 Merge topic 'ci-intel-compiler'
e671692d9c gitlab-ci: add jobs testing Intel 2023.0.0 compilers on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8132
2023-01-28 06:23:00 -05:00
Kitware Robot 3955e045fc CMake Nightly Date Stamp 2023-01-28 00:01:10 -05:00