Commit Graph

60727 Commits

Author SHA1 Message Date
Ben Boeckel aeb1b2ae3d cmMakefileTargetGenerator: simplify string streaming 2023-01-31 22:23:36 -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
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
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
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
Brad King e671692d9c gitlab-ci: add jobs testing Intel 2023.0.0 compilers on Linux
Note that the classic compiler version is 2021.8.0, but we still
have it in the 2023.0.0 base image.
2023-01-27 16:07:25 -05:00
Brad King f9f5957884 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-12-21 (c12fb3dd)
2023-01-27 15:58:44 -05:00
Curl Upstream dac458ddbf curl 2022-12-21 (c12fb3dd)
Code extracted from:

    https://github.com/curl/curl.git

at commit c12fb3ddaf48e709a7a4deaa55ec485e4df163ee (curl-7_87_0).
2023-01-27 15:58:30 -05:00
Brad King 39dcf9469d curl: Update script to get curl 7.87.0 2023-01-27 15:58:19 -05:00
Brad King b2fe717a49 file: Avoid using deprecated curl progress callback 2023-01-27 15:57:54 -05:00
Brad King 1cd38de47f ctest: Drop unnecessary use of deprecated CURLOPT_PUT
All usage sites are already preceded by use of its replacement,
CURLOPT_UPLOAD.
2023-01-27 15:43:29 -05:00
Ben Boeckel bf3425c3d2 ci: add a comment to run IWYU in verbose mode
Useful to avoid setting up the CI locally to get a single extra message.
2023-01-27 11:18:59 -05:00
Ben Boeckel 25f0b4f397 CMake: add an option to run IWYU in verbose mode
This helps to diagnose places where IWYU asks to include headers for
internal stdlib details.
2023-01-27 11:09:07 -05:00
Brad King c6dd4fa21d Tests: Extend RunCMake.Ninja ShowIncludes case with sample path
Verify that the prefix is separated from the path.
2023-01-27 10:55:37 -05:00
Brad King a9d97492fd Ninja: Record showIncludes detection in configure log
Also avoid running the detection multiple times.
2023-01-27 10:55:37 -05:00
hstejas 1bba218214 FindImageMagick: Define targets for specific components
- With this change we can use e.g. ImageMagick::Magick++ directly
  in targt_link_libraries.
- This change also adds CFLAGS which was missing before.
- Also adds example on how to use the targets.
2023-01-27 10:33:10 -05:00
Brad King 7ac338be98 Merge topic 'ci-imagemagick'
85f16fe913 ci: add ImageMagick to Debian and Fedora base images

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8124
2023-01-27 10:31:41 -05:00
Brad King 77074c3eb5 Merge topic 'vs-asm-flags'
24bcad5bac VS: Honor compile options for ASM_NASM
b44714a642 VS: Honor compile options for ASM_MARMASM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8125
2023-01-27 10:29:44 -05:00
Brad King eabc3c64e8 Merge topic 'jmalak-master-patch-responsefile'
a6bdf54a5e Watcom: Fix double-quote to be single-quote in response files for wlink

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8119
2023-01-27 10:27:27 -05:00
Kitware Robot a50b278512 CMake Nightly Date Stamp 2023-01-27 00:01:12 -05:00
Ben Boeckel f755296f9d Tests/RunCMake/CXXModules: add tests which don't export C++ module properties
The existing `export-interfaces-{build,install}` tests were actually
doing this, but make those test exporting the interfaces and copy the
existing tests to tests which explicitly test the "no properties"
condition.
2023-01-26 23:19:44 -05:00
Brad King 24bcad5bac VS: Honor compile options for ASM_NASM
The Ninja and Makefile generators honor `target_compile_options` and
friends for ASM_NASM `.asm` sources.  Teach the VS generator to
honor them too for consistency.

Issue: #24289
2023-01-26 13:51:49 -05:00
Brad King 85f16fe913 ci: add ImageMagick to Debian and Fedora base images 2023-01-26 13:00:28 -05:00
Brad King b44714a642 VS: Honor compile options for ASM_MARMASM
The Ninja and Makefile generators honor `target_compile_options` and
friends for ASM_MARMMASM `.asm` sources.  Teach the VS generator to
honor them too for consistency.

Issue: #24289
2023-01-26 12:56:25 -05:00
Jiri Malak a6bdf54a5e Watcom: Fix double-quote to be single-quote in response files for wlink
Response files contained double-quote for any response file, but response files for wlink must contains single-quote. This is fix for libraries list response file. Problem for object file list was fixed by MR
!8115
2023-01-26 15:27:53 +01:00
Brad King ed09c0aecd Merge topic 'configure_file_docs_use_target_inc_dirs'
c89d467bf2 Help: configure_file doc example use `target_include_directories`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8121
2023-01-26 09:16:37 -05:00
Brad King 6dca2dd86d Merge topic 'xcode-swift-inherited-flags'
01c1d81527 Xcode: Inherit Swift flags and compilation conditions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8122
2023-01-26 09:15:57 -05:00
Brad King d693c35ea6 Merge topic 'watcom-win16'
e194caa5a3 OpenWatcom: Add correct support for 16-bit Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8116
2023-01-26 09:13:25 -05:00
Brad King 1f97d068ac Merge topic 'jmalak-master-patch-watcomquote'
a1d065e5c7 Watcom: Replace WATCOMQUOTE format by UseWatcomQuote attribute

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8115
2023-01-26 09:12:14 -05:00
Brad King eb130c0864 Merge topic 'vs-BuildInParallel'
8024c41685 VS: Do not concurrently build custom commands with generated MAIN_DEPENDENCY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8120
2023-01-26 09:11:08 -05:00
Kitware Robot 3c9766d3a2 CMake Nightly Date Stamp 2023-01-26 00:01:10 -05:00
Ross Kilgariff 01c1d81527 Xcode: Inherit Swift flags and compilation conditions
Extend the change from commit dfaf55fbfd (Xcode: add extra
'$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03,
v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions,
allowing CocoaPods and CMake to interoperate when used in the same
project.
2023-01-25 15:15:03 -05:00