Commit Graph

12146 Commits

Author SHA1 Message Date
Brad King
7a07d089b9 Merge topic 'cpack-freebsd-pkg'
c3715e08e4 FreeBSD: tidy up
a76f19d5e8 FreeBSD: handle new package-file-suffix
d5ae2f9754 FreeBSD: fix up the package name
0ac1ac798e FreeBSD: migrate to newer pkg_create(3) API

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Semphriss <dev.semphris@gmail.com>
Merge-request: !5854
2021-12-22 08:53:54 -05:00
Brad King
9d80742db4 Merge topic 'FindGLUT-include-dirs'
6fda93faf8 FindGLUT: Provide modern-named GLUT_INCLUDE_DIRS result variable
641b3f4101 FindGLUT: Modernize documentation layout
924b2999a1 FindGLUT: Move mark_as_advanced calls closer to find calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6820
2021-12-21 09:29:20 -05:00
Brad King
132f45a099 Merge topic 'FindBoost-1.78'
d45667d459 FindBoost: Do not warn about now-supported version 1.78

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6819
2021-12-21 09:28:02 -05:00
Adriaan de Groot
d5ae2f9754 FreeBSD: fix up the package name
When using libpkg, the output filename is determined by libpkg
itself, based on information in the manifest: package name and
version, basically. This doesn't necessarily match the name that
CMake has determined via CPACK_TEMPORARY_PACKAGE_FILE_NAME or
CPACK_PACKAGE_FILE_NAME. So reset the CMake-determined list
to match what libpkg will do.
2021-12-21 13:59:27 +01:00
Brad King
6fda93faf8 FindGLUT: Provide modern-named GLUT_INCLUDE_DIRS result variable
Previously this module only provided `GLUT_INCLUDE_DIR`, which does not
follow the modern naming convention documented in `cmake-developer(7)`.

Issue: #23018
2021-12-20 09:53:33 -05:00
Brad King
641b3f4101 FindGLUT: Modernize documentation layout 2021-12-20 09:49:55 -05:00
Brad King
924b2999a1 FindGLUT: Move mark_as_advanced calls closer to find calls 2021-12-20 09:47:41 -05:00
Brad King
b2d764fea1 Merge topic 'FindGLUT-include-dirs'
ae6b25d920 FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6814
2021-12-20 09:30:01 -05:00
Brad King
e3ece528c8 Merge topic 'googletest-executor-error'
0f51987d42 GoogleTest: show test executor in error message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6813
2021-12-20 09:23:44 -05:00
Brad King
6db5fdae4d Merge topic 'FindGSL-version-regex'
58f2708b90 FindGSL: Improve version extraction regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6812
2021-12-20 09:22:27 -05:00
Brad King
d45667d459 FindBoost: Do not warn about now-supported version 1.78
In commit d176ff71c0 (FindBoost: Add support for Boost 1.78, 2021-12-15)
we forgot to update the future-version check.

Issue: #23016
2021-12-20 09:03:54 -05:00
Brad King
ae6b25d920 FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path
Since commit f90d15458a (FindGLUT: Use pkg-config to find flags if
available, 2021-06-11, v3.22.0-rc1~469^2) we return early if pkg-config
provides the information.  During review of that commit, code to
populate the legacy `GLUT_INCLUDE_DIR` result variable was removed from
that code path.  Add code to provide it.

Also fix the test case to use `GLUT_INCLUDE_DIR`, the result variable
documented officially by the module.

Fixes: #23018
2021-12-17 15:17:29 -05:00
Paul-Antoine Arras
0f51987d42 GoogleTest: show test executor in error message
Fixes: #22920
2021-12-17 16:50:12 +01:00
مهدي شينون (Mehdi Chinoune)
58f2708b90 FindGSL: Improve version extraction regex
Fixes: #23017
2021-12-17 09:32:17 -05:00
Brad King
be948f7150 Merge topic 'FindBoost-python-3.10'
d4bb6c0c7f FindBoost: Add support for Python 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6809
2021-12-17 08:54:53 -05:00
Brad King
92ecf5c989 Merge topic 'FindBoost-python-3.10' into release-3.22
d4bb6c0c7f FindBoost: Add support for Python 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6809
2021-12-17 08:54:52 -05:00
Brad King
5cd7a6ac1e Merge topic 'vs-intel-oneapi-toolset' into release-3.22
612c0d49f4 VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6806
2021-12-17 08:52:02 -05:00
Brad King
5dfcb318a0 Merge topic 'vs-intel-oneapi-toolset'
612c0d49f4 VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6806
2021-12-17 08:52:02 -05:00
Oleg Sidorkin
d4bb6c0c7f FindBoost: Add support for Python 3.10
Regexps in FindBoost assumed that python's minor version had only one
digit.  That became not true for 3.10.

Fixes: #23025
2021-12-16 15:15:12 -05:00
Brad King
17c74ec4d7 Merge topic 'FetchContent-doc-typo'
ed9ac756e8 FetchContent: Fix typo in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6803
2021-12-16 10:40:12 -05:00
Brad King
3071e27c76 Merge topic 'FindBoost-1.78'
d176ff71c0 FindBoost: Add support for Boost 1.78

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6804
2021-12-16 10:25:54 -05:00
William R. Dieter
612c0d49f4 VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021
The logic added by commit 7808cbd644 (CMakeDetermineCompilerId: support
Intel DPC++ compiler toolset for VS gen, 2020-12-06, v3.20.0-rc1~330^2)
matches a specific toolset known to be the `icx.exe` compiler, and
assumes all other Intel C++ compilers (that are not DPC++) must be
`icl.exe`.

Since `icx.exe` is officially replacing `icl.exe`, use a regex that
matches the now-fixed set of toolsets known to use `icl.exe`.  Any other
Intel C++ compiler will be assumed to be `icx.exe`.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-12-15 15:56:20 -05:00
Brad King
d176ff71c0 FindBoost: Add support for Boost 1.78
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_78_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.78.0 source tree.

The dependencies differ from those of 1.77:

* The `log` component no longer depends on `date_time`.

Fixes: #23016
2021-12-15 10:22:53 -05:00
Jukka Aho
ed9ac756e8 FetchContent: Fix typo in documentation 2021-12-15 16:45:27 +02:00
Brad King
7f6cce63fc Merge topic 'android-system-stl'
38b00f8801 Android: Fix linking android_support for pre-21 system STL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6799
2021-12-14 09:40:17 -05:00
Ryan Prichard
38b00f8801 Android: Fix linking android_support for pre-21 system STL
This typo was introduced in commit 4dca078829 (Android: Link c++abi and
android_support when necessary, 2020-10-29, v3.20.0-rc1~541^2).

Fixes: #23004
2021-12-13 10:43:14 -05:00
Brad King
8595851d58 FindBLAS: Find OpenMP dependency quietly
The `find_package(OpenMP)` calls added/updated by:

* commit f7f3d8987a (FindBLAS: Add dependency of OpenBLAS on OpenMP for
                     BLA_STATIC, 2020-11-10, v3.20.0-rc1~492^2)
* commit 9ef82d95d8 (FindBLAS: Fix detection of OpenMP as dependency of
                     BLA_STATIC, 2021-04-07, v3.20.1~3^2)

were missing the `QUIET` option.

Fixes: #23000
2021-12-10 09:51:42 -05:00
Brad King
2393020b4f Merge topic 'python3.11-support'
43844c5d82 FindPython: Add support for Python 3.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !6792
2021-12-08 09:53:59 -05:00
Tomáš Hrnčiar
43844c5d82 FindPython: Add support for Python 3.11 2021-12-07 12:41:01 -05:00
Brad King
79afbb2bb3 Merge topic 'lib-arch-no-usr'
d4ba945c48 CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6790
2021-12-07 09:37:29 -05:00
Brad King
0a46df3c91 Merge topic 'FindOpenSSL-applink'
586d483983 FindOpenSSL: Fix typo in applink condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6787
2021-12-07 09:33:26 -05:00
Raphael Gozzo
d4ba945c48 CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object path
The current regular expression is able to match `/usr/lib/<arch>`,
`/usr/usr/lib/<arch>`, `/usr/usr/usr/lib/<arch>`, ... but not
`/lib/<arch>`.

This behavior ends up causing the detected architecture to
be x86_64-pc-linux-gnu when the Clang compiler is installed on
a "non-system" location (like /opt/llvm-13) which, in turn, makes
almost every 'find_library()' fail because the correct
architecture is x86_64-linux-gnu.

This is due to a typo in commit 764606e256 (CMakeDetermineCompilerABI:
Extract lib arch from implicit object file paths, 2021-04-05,
v3.20.1~10^2), which used `+` instead of `?`.
2021-12-06 16:47:29 -05:00
Brad King
ae48449cf0 FindOpenSSL: Search in lib64 directories on non-Windows platforms
The upstream `openssl` build system may install libraries to `lib64`
even on platforms whose conventions do not use `lib64` for
distro-packaged libraries.

Fixes: #22945
2021-12-06 12:03:08 -05:00
Brad King
586d483983 FindOpenSSL: Fix typo in applink condition
In commit 7b83ca816a (FindOpenSSL: add target OpenSSL::applink to
support OpenSSL's applink feature, 2020-05-12, v3.18.0-rc1~150^2) the
version check was written as "major.major.fix" instead of
"major.minor.fix".
2021-12-06 10:50:25 -05:00
Brad King
6627cc23b4 Merge topic 'FindPkgConfig-pkgconf'
90a49647e9 FindPkgConfig: Restore finding pkg-config before pkgconf

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6780
2021-12-03 08:53:26 -05:00
Brad King
90a49647e9 FindPkgConfig: Restore finding pkg-config before pkgconf
Since commit 94a84dc0af (FindPkgConfig: add pkgconf to the search list.,
2021-07-02, v3.22.0-rc1~468^2), `pkgconf` is preferred over `pkg-config`
if they appear in the same directory.  In some environments,
`pkg-config` may be a wrapper that adds semantics beyond either
`pkgconf` or the normal `pkg-config`.  Prefer `pkg-config` over
`pkgconf` in order to preserve the prior behavior in such environments.

Fixes: #22976
2021-12-02 12:38:22 -05:00
Brad King
3bb6e0dd00 Merge topic 'FindPython-static-libs-hint'
a35bf772de FindPython: clarify static libraries hint usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6772
2021-12-02 11:48:39 -05:00
Marc Chevrier
a35bf772de FindPython: clarify static libraries hint usage
Fixes: #22956
2021-12-01 10:06:45 -05:00
Brad King
dbf0c8c233 Merge topic 'GNUInstallDirs-freebsd-mandir'
c07bba2730 GNUInstallDirs: Update CMAKE_INSTALL_MANDIR for FreeBSD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6722
2021-12-01 09:42:13 -05:00
Brad King
6f05012126 Merge topic 'GNUInstallDirs-conda-fix'
7896991af0 GNUInstallDirs: Prefer system lib64 over conda lib when ambiguous

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6773
2021-12-01 09:34:33 -05:00
Brad King
cab4551889 Merge topic 'GNUInstallDirs-conda-fix' into release-3.22
7896991af0 GNUInstallDirs: Prefer system lib64 over conda lib when ambiguous

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6773
2021-12-01 09:34:32 -05:00
Dmitry Marakasov
c07bba2730 GNUInstallDirs: Update CMAKE_INSTALL_MANDIR for FreeBSD
FreeBSD has switched from PREFIX/man ro PREFIX/share/man
see https://cgit.freebsd.org/ports/tree/CHANGES entry 20200115.

Fixes: #22883
2021-11-30 12:16:37 -05:00
Robert Maynard
7896991af0 GNUInstallDirs: Prefer system lib64 over conda lib when ambiguous
Update logic added by commit ecaca8c129 (GNUInstallDirs now aware of
conda lib directory requirements, 2021-09-08, v3.22.0-rc1~142^2).
When it is ambiguous if we are doing a conda install or a system
install prefer using the system library directory.

Fixes: #22962
2021-11-30 10:51:33 -05:00
Brad King
c8f039b77f Merge topic 'doc-CMAKE_INSTALL_MODE'
3caeee0c86 Help: Clarify CMAKE_INSTALL_MODE documentation
699d4a98e2 Help: Use definition list for allowed values of CMAKE_INSTALL_MODE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6743
2021-11-30 08:46:12 -05:00
Brad King
5109a22d61 Merge topic 'doc-CMAKE_INSTALL_MODE' into release-3.22
3caeee0c86 Help: Clarify CMAKE_INSTALL_MODE documentation
699d4a98e2 Help: Use definition list for allowed values of CMAKE_INSTALL_MODE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6743
2021-11-30 08:46:11 -05:00
Brad King
b7c679f03a Merge topic 'compiler-id-classic-c'
0fc8b2f61c CompilerId: Restore support for classic C by avoiding C++ style comments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6759
2021-11-29 12:27:37 -05:00
Felix Lelchuk
3caeee0c86 Help: Clarify CMAKE_INSTALL_MODE documentation
Fixes: #22869
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2021-11-24 08:30:38 +11:00
Brad King
0fc8b2f61c CompilerId: Restore support for classic C by avoiding C++ style comments
C++ style comments were added by commit fc3a1cbdd8 (CompilerID: Compiler
extensions default detection, 2021-05-29, v3.22.0-rc1~52^2~2), but they
may not be supported by the default mode of some C compilers.  Use
C-style comments instead.  For consistency, do this for all languages.

Fixes: #22942
2021-11-23 10:00:31 -05:00
Brad King
df123f7d5f Merge topic 'FindGTest-target-for-gmock'
50bf457a0d FindGTest: Add target for gmock library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6632
2021-11-22 11:53:19 -05:00
Eero Aaltonen
50bf457a0d FindGTest: Add target for gmock library
`googlemock` has been absorbed into the
[googletest](https://github.com/google/googletest) project and is built
and installed from the same source tree.

As GTest may be built with or without GMock, skip GMock if it is not
present.

Do not provide result variables for GMock.  They are not provided by
upstream GTest's CMake Package Configuration File.

Also update the test case to cover linking to `GTest::gmock`.
2021-11-22 11:23:39 -05:00