Commit Graph

13386 Commits

Author SHA1 Message Date
Brad King
e4819c3a7a Merge topic 'armclang-update-version-computation'
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8636
2023-07-18 13:48:50 -04:00
Daniel Brondani
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level
According to ARMClang documentation 6.20, the patch version number
should not include the last two digits of `__ARMCOMPILER_VERSION`,
which are reserved for internal use by ARM.
2023-07-18 13:29:01 -04:00
Brad King
08cdc91c09 Merge topic 'FindProtobuf-version-schemes'
6e90d79577 FindProtobuf: Fix new version number scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8629
2023-07-14 11:03:10 -04:00
Jannik Beyerstedt
6e90d79577 FindProtobuf: Fix new version number scheme
Revise the changes from commit fc7dcc6a24 (FindProtobuf: Support new
version number scheme, 2023-06-19, v3.27.0-rc3~2^2).  Changing the
content of `Protobuf_VERSION` to exclude the major version of the library
might break code as it can't be used to detect breaking changes in the
library any more.

However, protoc v22 and up don't print the major version any more, so we
need to compare the against a truncated version number, too.
2023-07-14 09:34:13 -04:00
Brad King
ba616fcb6d Merge topic 'android-platform'
bfe4722a61 Android: Restore platform info and search paths shared with Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8626
2023-07-14 08:33:13 -04:00
Brad King
bfe4722a61 Android: Restore platform info and search paths shared with Linux
These were accidentally dropped by commit 1373373823 (enable_language:
Establish target platform identification variables earlier, 2023-06-06,
v3.27.0-rc1~3^2~1).

Fixes: #25077
2023-07-13 08:19:15 -04:00
Gregor Jasny
25977e177b apple: add preliminary visionOS support 2023-07-11 20:20:25 +02:00
Brad King
10a1759a6d Merge topic 'android-host-system-version'
fff6c469f8 Android: Populate CMAKE_HOST_SYSTEM_VERSION on native builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8607
2023-07-07 10:30:32 -04:00
Brad King
619d850886 Merge topic 'findprotobuf-mingw'
e978b3b814 FindProtobuf: Fix linking to shared libraries on MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8609
2023-07-07 10:29:31 -04:00
Brad King
cd70f0f9eb Merge topic 'findprotobuf-mingw' into release-3.27
e978b3b814 FindProtobuf: Fix linking to shared libraries on MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8609
2023-07-07 10:29:30 -04:00
Brad King
d2e3821935 Merge topic 'hip-lib64'
f79428619e HIP: Fix search for hip-lang CMake package on Fedora distros

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8614
2023-07-07 10:27:19 -04:00
Brad King
f79428619e HIP: Fix search for hip-lang CMake package on Fedora distros
These distros package the hip-lang package under `lib64`, so search it
too.  This is similar to commit bae57dc281 (HIP: Fix search for hip-lang
CMake package on multiarch distros, 2023-05-31, v3.27.0-rc1~28^2).

Fixes: #25050
2023-07-05 12:37:34 -04:00
مهدي شينون (Mehdi Chinoune)
e978b3b814 FindProtobuf: Fix linking to shared libraries on MinGW
Fixes: #25011
2023-07-05 08:25:01 -04:00
funsafe-ptr
fff6c469f8 Android: Populate CMAKE_HOST_SYSTEM_VERSION on native builds
Follow up commit c5892e484e (Android: add support for native
compilation, such as with the Termux app, 2019-10-15,
v3.17.0-rc1~594^2).
2023-07-05 06:41:13 -04:00
Brad King
442e2fab10 Merge topic 'FindProtobuf-upstream-options'
f784ef75a7 FindProtobuf: Add documentation for protobuf_generate()
cd3ff53c88 FindProtobuf: Add DEPENDENCIES to protobuf_generate
31adc11030 FindProtobuf: Add PLUGIN_OPTIONS and PROTOC_OPTIONS to protobuf_generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8601
2023-07-05 06:38:31 -04:00
André Apitzsch
f784ef75a7 FindProtobuf: Add documentation for protobuf_generate()
Note, the argument `DESCRIPTORS` is not documented as upstream doesn't
provide this argument and code might break when switching to upstream
later.

Instead of the argument `DESCRIPTORS`
`PROTOC_OPTIONS "--descriptor_set_out=NAME.desc"` can be used.

Argument description has been copied from [1].

Fixes: #23037

[1] 8ec0295ad7/docs/cmake_protobuf_generate.md
2023-06-30 09:47:58 -04:00
Brad King
3efd705508 Merge topic 'FindPython-enhance-tests'
97b3a2ac17 FindPython: Add labels Python2 and/or Python3 on tests
9b45210b05 FindPython: Add tests for IronPython v3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8603
2023-06-30 09:32:45 -04:00
Brad King
807d9165fb Merge topic 'FetchContent-unparsed-arguments'
9ede4cab2b FetchContent: Protect ExternalProject keywords from unknown arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !8598
2023-06-30 09:29:28 -04:00
André Apitzsch
cd3ff53c88 FindProtobuf: Add DEPENDENCIES to protobuf_generate
See upstream PR for details https://github.com/protocolbuffers/protobuf/pull/10014.
2023-06-30 09:10:18 +02:00
André Apitzsch
31adc11030 FindProtobuf: Add PLUGIN_OPTIONS and PROTOC_OPTIONS to protobuf_generate 2023-06-30 09:08:35 +02:00
Marc Chevrier
9b45210b05 FindPython: Add tests for IronPython v3 2023-06-29 17:07:56 +02:00
Brad King
9ede4cab2b FetchContent: Protect ExternalProject keywords from unknown arguments
`ExternalProject_Add` treats all keyword arguments as multi-valued.
FetchContent re-orders some keyword arguments w.r.t. unparsed arguments.
Add an internal keyword argument to separate the keyword values from
following unparsed arguments.

This was exposed by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) by adding
`GIT_REPOSITORY` to the set of re-ordered keyword arguments.  This
caused its value to absorb following unparsed arguments.

Fixes: #25029
2023-06-29 09:49:51 -04:00
Brad King
62f2e5a994 Merge topic 'FindCxxTest-doc'
676d1da38b FindCxxTest: Modernize documentation formatting
dfe0f58962 FindCxxTest: Update link to cxxtest project page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8589
2023-06-26 09:45:46 -04:00
Brad King
b1d2c495dd Merge topic 'FindCxxTest-doc' into release-3.27
676d1da38b FindCxxTest: Modernize documentation formatting
dfe0f58962 FindCxxTest: Update link to cxxtest project page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8589
2023-06-26 09:45:45 -04:00
Brad King
d599c9e92e Merge topic 'support_nvhpc_versions_without_isystem'
f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8588
2023-06-26 09:44:57 -04:00
Brad King
b7810bfb18 Merge topic 'support_nvhpc_versions_without_isystem' into release-3.27
f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8588
2023-06-26 09:44:56 -04:00
Brad King
7af90b7bf7 Merge topic 'link-depends-is-OFF'
5945a98ced link dependencies: deactivate the feature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8587
2023-06-26 09:43:56 -04:00
Brad King
676d1da38b FindCxxTest: Modernize documentation formatting 2023-06-23 12:20:03 -04:00
Brad King
dfe0f58962 FindCxxTest: Update link to cxxtest project page 2023-06-23 12:20:03 -04:00
Robert Maynard
f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem
Fixes: #25019
2023-06-23 12:14:09 -04:00
Brad King
09df135b60 Merge topic 'FindEXPAT-static'
302501ad36 FindEXPAT: add a EXPAT_USE_STATIC_LIBS hint

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8572
2023-06-23 11:01:48 -04:00
Brad King
483c971940 Merge topic 'FindCURL-static'
97d0f76453 FindCURL: add a CURL_USE_STATIC_LIBS hint

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8573
2023-06-23 11:01:09 -04:00
Marc Chevrier
5945a98ced link dependencies: deactivate the feature
Unfortunately it breaks in combination with LTO due to a bug in the GNU
linker.

Fixes: #25014
2023-06-23 10:35:04 -04:00
Even Rouault
302501ad36 FindEXPAT: add a EXPAT_USE_STATIC_LIBS hint
The effect of that hint is to restrict the candidate library names, but
more essentially to set the `XML_STATIC` compile definitions which is
required to get proper linking.

Vcpkg-Issue: https://github.com/microsoft/vcpkg/issues/1100
GDAL-Issue: https://github.com/OSGeo/gdal/issues/7955
2023-06-22 10:18:07 -04:00
Even Rouault
97d0f76453 FindCURL: add a CURL_USE_STATIC_LIBS hint
The effect of that hint is to set a CURL_STATICLIB compile definition,
and to auxiliary system windows libraries for MSVC builds.

GDAL-Issue: https://github.com/OSGeo/gdal/issues/7955
2023-06-22 10:17:16 -04:00
Brad King
7bf3d2a202 Merge topic 'android-platform-vars'
ab66b89a46 Android: Restore platform id vars with legacy toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8576
2023-06-20 13:10:00 -04:00
Brad King
fd949f6e01 Merge topic 'android-platform-vars' into release-3.27
ab66b89a46 Android: Restore platform id vars with legacy toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8576
2023-06-20 13:09:58 -04:00
Brad King
023da1a718 Merge topic 'FindProtobuf-version-schemes'
fc7dcc6a24 FindProtobuf: Support new version number scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8574
2023-06-20 13:08:47 -04:00
Brad King
ab66b89a46 Android: Restore platform id vars with legacy toolchain file
Restore definition of `ANDROID` and `UNIX` when `CMAKE_SYSTEM_VERSION`
is `1`.  This was broken by commit 1373373823 (enable_language:
Establish target platform identification variables earlier, 2023-06-06,
v3.27.0-rc1~3^2~1).

Fixes: #25004
2023-06-20 10:39:37 -04:00
Jannik Beyerstedt
fc7dcc6a24 FindProtobuf: Support new version number scheme
Protobuf changed it's version number scheme with version 21. The first number
(usually the major version) is not synchronized between compiler and library
version, but the second and third number are. See
https://protobuf.dev/news/2022-05-06/ for more details.

Fixes: #24847
2023-06-20 09:59:53 -04:00
Brad King
827f0bc9a0 Merge topic 'FindPostgreSQL-15'
80ba2cccfc FindPostgreSQL: Add support for version 15

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8568
2023-06-16 08:35:35 -04:00
Brad King
80ba2cccfc FindPostgreSQL: Add support for version 15 2023-06-16 08:21:04 -04:00
Brad King
536c1de1d4 Drop Visual Studio 11 2012 generator
This generator has been deprecated since CMake 3.25.  Remove it.
2023-06-13 14:20:48 -04:00
Brad King
4a2b708144 Modules: Restore unnecessary inclusions for compatibility
Since commit 03c6ebf2b5 (Modules:Check,GenerateExportHeader: include
only what's needed, 2023-03-09, v3.27.0-rc1~327^2) some existing
projects broke because they were accidentally relying on indirect
inclusion of some check modules.  For now, restore the unnecessary
includes for compatibility.  They can be removed with a policy later.

Fixes: #24991
Issue: #24994
2023-06-12 09:59:23 -04:00
Brad King
abc93ff511 Merge topic 'FindCUDAToolkit-cupti-nvperf' into release-3.27
f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8545
2023-06-08 10:48:09 -04:00
Robert Maynard
f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets 2023-06-07 13:58:09 -04:00
Brad King
e4c53cdc15 BinUtils: Drop now-unnecessary cross-compiling workaround for Apple hosts
Previously we added fallbacks to `llvm-{ar,strip}` on Apple hosts
in case of cross-compiling because the `APPLE` platform variable
was not set w.r.t. the target platform.  The platform variable
has been fixed, so remove the fallbacks.

Issue: #23333
2023-06-07 07:02:20 -04:00
Brad King
1373373823 enable_language: Establish target platform identification variables earlier
Set target platform identification variables like `APPLE` and `LINUX`
as soon as the target system is identified.  This makes them available
during toolchain and binutils selection.

Fixes: #23333
2023-06-07 07:02:20 -04:00
Brad King
1d916bf3d2 kFreeBSD,GNU: Provide multiarch library directory regex earlier
Make `CMAKE_LIBRARY_ARCHITECTURE_REGEX` available while determining
compilers before `Platform/{kFreeBSD,GNU}` is loaded.

Follow up commit cc737ae829 (Linux: Provide multiarch library directory
regex earlier, 2023-05-31).
2023-06-06 15:35:20 -04:00
Brad King
ec472999dc Merge topic 'apple-clang-asm-compiler-id'
8c789bee83 AppleClang: Fix ASM compiler identification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8537
2023-06-06 10:00:52 -04:00