Commit Graph

59065 Commits

Author SHA1 Message Date
Alex Turbov
d5336ed714 Build: include_directories()target_include_directories() 2022-09-22 09:24:47 -04:00
Alex Turbov
d6b708482f CMakeVersion.cmake: set(VAR "${VAR}…")string(APPEND VAR "…") 2022-09-22 09:24:47 -04:00
Alex Turbov
4ff8604604 Build: Do not use variables for sources lists
Instead use `add_library()` with unconditionally compiled sources and
conditional `target_sources()` with extra sources to compile.
2022-09-22 09:24:47 -04:00
Alex Turbov
0aed435b35 Build: Simplify configure_file() calls 2022-09-22 09:24:47 -04:00
Alex Turbov
a67c9f9756 cmake.version.manifest: Replace tabs with spaces 2022-09-22 09:24:46 -04:00
Alex Turbov
dd28d76203 CMakeLists: Remove redundant spaces around CMake command calls 2022-09-22 09:24:46 -04:00
Alex Turbov
a509602699 Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
Brad King
914d21de58 bootstrap: Enable add_compile_definitions command
Make the command available to CMake's own CMake code.
2022-09-22 09:23:50 -04:00
Brad King
fc17277bda Merge topic 'detect-lib_foo.a-msvc'
be848a71b0 MSVC: Teach find_library to consider the 'libfoo.a' naming convention

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7694
2022-09-20 09:12:57 -04:00
Brad King
396ed90aa1 Merge topic 'help-byproducts'
37381506dc Help: Link from add_custom_target to policy on BYPRODUCTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7695
2022-09-20 08:55:47 -04:00
Brad King
b15ddc766c Merge topic 'try_compile-more-consistent-errors'
30a234d275 try_compile: Improve error message consistency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7696
2022-09-20 08:54:22 -04:00
Kitware Robot
245f6ad0f3 CMake Nightly Date Stamp 2022-09-20 00:01:15 -04:00
Hinell
37381506dc Help: Link from add_custom_target to policy on BYPRODUCTS
Link policy explaining BYPRODUCTS.

Apply the change from commit 00b788e85e (Help:custom_command: link
policy on BYPRODUCTS, 2022-09-09) to `add_custom_target` docs too.

Issue: #23786
2022-09-19 12:39:29 -04:00
Yonggang Luo
be848a71b0 MSVC: Teach find_library to consider the 'libfoo.a' naming convention
When targeting the GNU ABI, we consider `.a` libraries first but also
accept `.lib`.  For symmetry, when targeting the MSVC ABI, we now
consider `.lib` first but also accept `.a`.

This adds support for meson-generated static libraries, which are named
with the pattern `lib${foo}.a`:

* https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa

Fixes: #23975
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
2022-09-19 11:02:44 -04:00
Brad King
620cf9efa7 Merge topic 'use-new-project-try_compile'
d00d8537f6 Modules: Use new keyword-dispatched try_compile signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7690
2022-09-19 10:25:26 -04:00
Brad King
71cfcbe816 Merge topic 'transitive-usage-reqs-lnks'
3d31f99b74 Help: Link from usage requirement commands to detailed explanation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7653
2022-09-19 10:24:15 -04:00
Brad King
e9d9cd348c Merge topic 'help-add-custom-comman-byproducts'
00b788e85e Help:custom_command: link policy on BYPRODUCTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7662
2022-09-19 10:23:02 -04:00
Brad King
6949d0195d Merge topic 'android-clang-no-ndk-version'
1c86e397fe Android/Clang: Tolerate undefined CMAKE_ANDROID_NDK_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7689
2022-09-19 10:22:15 -04:00
Brad King
f485e2c65b Merge topic 'env-tls-certs'
10bf34a2d9 cmCurl: Honor OpenSSL certificate environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7670
2022-09-19 10:21:22 -04:00
Brad King
10afb5eb87 Merge branch 'release-3.24' 2022-09-19 10:19:12 -04:00
Brad King
689eb0c306 Merge topic 'matlab-r2022b'
edbdfba3f5 FindMatlab: add R2022b 9.13 version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7683
2022-09-19 10:19:12 -04:00
Brad King
27a05e84e2 Merge topic 'matlab-r2022b' into release-3.24
edbdfba3f5 FindMatlab: add R2022b 9.13 version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7683
2022-09-19 10:19:11 -04:00
Brad King
ea792d5812 Merge topic 'add-try_compile-test-documentation'
e933fccc7e Tests: document try_{compile,run} old/new signature testing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7681
2022-09-19 10:18:04 -04:00
Brad King
33f314764d Merge topic 'improve-try_compile-arg-error'
f976800577 try_compile: More useful error if insufficient arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7682
2022-09-19 10:17:02 -04:00
Kitware Robot
40af69a106 CMake Nightly Date Stamp 2022-09-19 00:01:23 -04:00
Kitware Robot
9bdeaa79e2 CMake Nightly Date Stamp 2022-09-18 00:01:11 -04:00
Kitware Robot
c364068a81 CMake Nightly Date Stamp 2022-09-17 00:01:16 -04:00
Matthew Woehlke
30a234d275 try_compile: Improve error message consistency
Tweak some error messages from try_compile (and try_run) to be more
consistent with each other.
2022-09-16 15:29:35 -04:00
Matthew Woehlke
d00d8537f6 Modules: Use new keyword-dispatched try_compile signature
Modify modules that ship with CMake and use the project flavor of
try_compile to use the new signature added by commit 56ae40cc59
(try_compile: Add PROJECT keyword-dispatched signature, 2022-09-14).
2022-09-16 13:14:51 -04:00
Hinell
3d31f99b74 Help: Link from usage requirement commands to detailed explanation
Augment vague mentions of "Transitive Usage Requirements" with links to
a detailed explanation.

Fixes: #23799
2022-09-16 10:54:27 -04:00
Hinell
00b788e85e Help:custom_command: link policy on BYPRODUCTS
Link policy explaining BYPRODUCTS.

Fixes: #23786
2022-09-16 10:50:46 -04:00
Boris Egorov
1c86e397fe Android/Clang: Tolerate undefined CMAKE_ANDROID_NDK_VERSION
The previous fix for #21772, commit 005e2cdfb0 (Android: Do not use gold
for ndk >= r22, 2021-02-26, v3.20.0-rc3~1^2), doesn't work with typical
android toolchain file, like this one:

    https://android.googlesource.com/platform/ndk/+/master/build/cmake/android-legacy.toolchain.cmake

The condition fails to work when CMAKE_ANDROID_NDK_VERSION is undefined:
second part evaluates to true, although ndk version is not known.

I've encountered following environment where CMAKE_ANDROID_NDK_VERSION
is used without definition:

* Build uses android toolchain file, which sets CMAKE_SYSTEM_VERSION=1
  and doesn't set CMAKE_ANDROID_NDK_VERSION.
* Code in Platform/Android-Determine.cmake exits early when it detects
  toolchain usage (via value CMAKE_SYSTEM_VERSION=1). This file is the
  only place in cmake modules where variable CMAKE_ANDROID_NDK_VERSION
  is set, and by early return we skip this definition.
2022-09-16 10:36:58 -04:00
Michael Hirsch
edbdfba3f5 FindMatlab: add R2022b 9.13 version map 2022-09-16 10:29:19 -04:00
Brad King
3436858697 Merge topic 'try_compile-new-project-signature'
56ae40cc59 try_compile: Add PROJECT keyword-dispatched signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7677
2022-09-16 10:26:27 -04:00
Brad King
ed8e860998 Merge topic 'xcode-lib-dirs'
d4cc39842e Xcode: Do not append per-config suffixes to library search paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7672
2022-09-16 10:25:14 -04:00
Brad King
95d54eef45 Merge topic 'fphsa-no-version-var'
07f0a78874 FPHSA: Fix regression when VERSION_VAR is missing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7680
2022-09-16 10:23:50 -04:00
Kyle Edwards
24ee97edf5 Merge topic 'cmake-presets-package-clear'
ec8b67918c cmCMakePresetsGraph: Clear package presets in ClearPresets()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7688
2022-09-16 09:51:50 -04:00
Kyle Edwards
a638dff7b3 Merge topic 'cmake-presets-list-error-message'
e7087308ce cmake --list-presets: List package as a valid option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7684
2022-09-16 09:51:13 -04:00
Maxim Cournoyer
10bf34a2d9 cmCurl: Honor OpenSSL certificate environment variables
Honor the OpenSSL environment variables used to specify the location of
the TLS certificates, as specified in the `curl(1)` man page.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-09-16 09:40:28 -04:00
Kitware Robot
cabba23ab2 CMake Nightly Date Stamp 2022-09-16 00:01:22 -04:00
Kyle Edwards
ec8b67918c cmCMakePresetsGraph: Clear package presets in ClearPresets() 2022-09-15 16:36:43 -04:00
Kyle Edwards
e7087308ce cmake --list-presets: List package as a valid option 2022-09-15 14:50:55 -04:00
Matthew Woehlke
f976800577 try_compile: More useful error if insufficient arguments
Tweak try_compile and try_run to give a more informative error (rather
than "unknown error") when given an insufficient number of arguments.
2022-09-15 13:34:30 -04:00
Matthew Woehlke
e933fccc7e Tests: document try_{compile,run} old/new signature testing
Add a brief documentation blurb to the try_compile and try_run test sets
on writing tests for both "old" and "new" signatures.
2022-09-15 12:32:38 -04:00
Brad King
07f0a78874 FPHSA: Fix regression when VERSION_VAR is missing
If a package is found but FPHSA is called by the find module without a
`VERSION_VAR`, and the `find_package` call specifies a version, we have
previously accepted the package as found.  This was accidentally
regressed by commit 8f50f135ae (FPHSA: Improve error message when
VERSION_VAR is empty or has been unset(), 2022-08-01).  Restore it and
add a test case.
2022-09-15 11:00:02 -04:00
Mikko Sivulainen
d4cc39842e Xcode: Do not append per-config suffixes to library search paths
Add policy `CMP0142` to remove the automatic addition of the
`$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` suffix in a compatible way.

Fixes: #21757
2022-09-15 10:27:23 -04:00
Brad King
01a25d72c6 Merge topic 'add_tasking_compiler'
94df5b6ef1 Tasking: Add support for several compiler toolsets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7491
2022-09-15 09:19:58 -04:00
Brad King
3c6d2c0213 Merge topic 'export-ios-app-layout'
d26c520f4b export: Fix IMPORTED_LOCATION of iOS flat app bundles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7676
2022-09-15 09:08:43 -04:00
Brad King
c3522accd5 Merge topic 'binutils-apple-no-lld'
a54e25b547 BinUtils: Avoid the 'ld.lld' ELF linker on Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7671
2022-09-15 09:07:51 -04:00
Brad King
b178311c63 Merge topic 'fix-try_compile-tests'
4ecbf1f938 Tests: Fix recently added tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7678
2022-09-15 09:07:04 -04:00