Commit Graph

57450 Commits

Author SHA1 Message Date
Craig Scott 8ce9bb8a0c FetchContent: Don't leak internal variables 2022-05-18 23:25:42 +10:00
Craig Scott 74a6ddc339 cmFindPackageCommand: Handle Makefile variable definitions more robustly
During argument parsing in InitialPass(), Makefile variables were
being added for components. Most other such variables were set
in the call to SetModuleVariables(), which happens much later.
Both sets of variables were then restored to their previous values
as part of a call to AppendSuccessInformation(), but that is not an
obvious nor robust place to undo those variable changes.

InitialPass() also pushes a new item to the package root stack, but
the corresponding pop was in AppendSuccessInformation().
Again, this puts a symmetric operation in an asymmetric place.

Refactor the code slightly such that Makefile variables are set in
one clear location, then restored later in the same function.
Also move the package root stack pop into the same function as
the push. AppendSuccessInformation() now has one clear
responsibility and doesn't perform any unrelated cleanup on
behalf of InitialPass().
2022-05-17 14:33:29 +10:00
Kitware Robot 943210856a CMake Nightly Date Stamp 2022-05-17 00:01:08 -04:00
Brad King c4ed5341c4 Merge topic 'CMAKE_PROJECT_TOP_LEVEL_INCLUDES'
a6c34b0353 project(): Add new CMAKE_PROJECT_TOP_LEVEL_INCLUDES file injection point
8aa29a1793 CMakeDetermineSystem: Remove unreachable code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7250
2022-05-16 09:26:59 -04:00
Brad King 1dd7430495 Merge topic 'test-clang-15'
91987aec24 Tests: Add missing return types to C function prototypes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7260
2022-05-16 09:26:16 -04:00
Brad King e924d3780b Merge branch 'release-3.23' 2022-05-16 09:24:53 -04:00
Brad King a9a93b1e33 Merge topic 'cuda-arch-off-vs'
9fe41ecf36 VS: Fix CUDA CodeGeneration field for CMAKE_CUDA_ARCHITECTURES=OFF

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7261
2022-05-16 09:24:53 -04:00
Brad King 29d23ec2cf Merge topic 'cuda-arch-off-vs' into release-3.23
9fe41ecf36 VS: Fix CUDA CodeGeneration field for CMAKE_CUDA_ARCHITECTURES=OFF

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7261
2022-05-16 09:24:52 -04:00
Craig Scott 7a390edefb Merge topic 'fetchcontent-subbuild-config-type'
10865c8e5f FetchContent: Hard-code a config for the sub-build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7228
2022-05-16 07:33:35 -04:00
Kitware Robot c51d9550e7 CMake Nightly Date Stamp 2022-05-16 00:01:14 -04:00
Kitware Robot dc3d0b5a0a CMake Nightly Date Stamp 2022-05-15 00:01:08 -04:00
Kitware Robot de57770901 CMake Nightly Date Stamp 2022-05-14 00:01:08 -04:00
Brad King 9fe41ecf36 VS: Fix CUDA CodeGeneration field for CMAKE_CUDA_ARCHITECTURES=OFF
If we add no CUDA architecture flags, write an empty `CodeGeneration`
field to tell the CUDA Toolkit's VS integration not to add its default
flags.  We already use this approach for `CMAKE_CUDA_ARCHITECTURES=all`
so that the `-arch=all` flag can be added via `AdditionalOptions`.

Fixes: #23490
2022-05-13 11:34:51 -04:00
Brad King 91987aec24 Tests: Add missing return types to C function prototypes
These were diagnosed by a Clang 15 development version.
2022-05-13 11:07:17 -04:00
Brad King e00e67cb92 Merge topic 'presets-pathListSep'
ba969ce5fe cmake-presets: add ${pathListSep} macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7234
2022-05-13 08:54:08 -04:00
Brad King ef7c0cb885 Merge topic 'FindGLUT-system-include-dirs'
8041ca5df0 FindGLUT: Fix GLUT_INCLUDE_DIRS with pkg-config and /usr/include

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7252
2022-05-13 08:52:04 -04:00
Brad King 300c91fecd Merge topic 'externalproject-uses-terminal-flags'
b1c2cb0436 ExternalProject: Make SVN interactive with USES_TERMINAL_{DOWNLOAD,UPDATE}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7248
2022-05-13 08:51:09 -04:00
Brad King 392e73e01a Merge topic 'doc-install-example-components'
308b698f5d Help: Make install() example component names more consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7240
2022-05-13 08:46:58 -04:00
Brad King 044854e7f7 Merge branch 'release-3.23' 2022-05-13 08:45:52 -04:00
Brad King 57559d2848 Merge topic 'ccmake-delete-cache'
2defe9ff95 ccmake: Fix crash when deleting all cache entries
e1c85e29f4 ccmake: Move Initialization of Fields Inline

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7257
2022-05-13 08:45:51 -04:00
Brad King c1d980f722 Merge topic 'ccmake-delete-cache' into release-3.23
2defe9ff95 ccmake: Fix crash when deleting all cache entries
e1c85e29f4 ccmake: Move Initialization of Fields Inline

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7257
2022-05-13 08:45:50 -04:00
Brad King 4d8e4caeff Merge branch 'release-3.23' 2022-05-13 08:43:43 -04:00
Brad King 73f6393005 Merge branch 'release-3.22' 2022-05-13 08:43:37 -04:00
Brad King f8a148f68c Merge branch 'release-3.22' into release-3.23 2022-05-13 08:43:22 -04:00
Brad King 09a6f199cd Merge branch 'release-3.23' 2022-05-13 08:42:49 -04:00
Brad King 9529863f2a Merge topic 'FindPkgConfig-LIBRARY_PATH'
11c8da94d4 FindPkgConfig: Fix preservation of ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7258
2022-05-13 08:42:49 -04:00
Brad King 165208c784 Merge topic 'FindPkgConfig-LIBRARY_PATH' into release-3.23
11c8da94d4 FindPkgConfig: Fix preservation of ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7258
2022-05-13 08:42:48 -04:00
Brad King 184fc13147 Merge branch 'release-3.23' 2022-05-13 08:41:56 -04:00
Brad King 968b5200a5 Merge topic 'FindPython-3.12'
ca2877c039 FindPython: add support for Python 3.12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7255
2022-05-13 08:41:56 -04:00
Brad King a0a1166935 Merge topic 'FindPython-3.12' into release-3.23
ca2877c039 FindPython: add support for Python 3.12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7255
2022-05-13 08:41:55 -04:00
Brad King 6650969259 Merge branch 'release-3.23' 2022-05-13 08:40:46 -04:00
Brad King 3c64e40e90 Merge topic 'ci-msvc-19.32'
cc93d2af08 gitlab-ci: Update Windows builds to MSVC 19.32 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7259
2022-05-13 08:40:46 -04:00
Brad King 384c7521c4 Merge topic 'ci-msvc-19.32' into release-3.23
cc93d2af08 gitlab-ci: Update Windows builds to MSVC 19.32 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7259
2022-05-13 08:40:45 -04:00
Craig Scott a6c34b0353 project(): Add new CMAKE_PROJECT_TOP_LEVEL_INCLUDES file injection point
Fixes: #22685
2022-05-13 18:03:36 +10:00
Craig Scott 10865c8e5f FetchContent: Hard-code a config for the sub-build
If the main project overrides CMAKE_CONFIGURATION_TYPES such
that there is no Debug configuration, some multi-config generators
can fail because they might assume Debug by default (Visual Studio
might do this). Always specify the configuration for multi-config
generators so that we don't rely on any such defaults.

Fixes: #23177
2022-05-13 15:56:17 +10:00
Kitware Robot ef0727f277 CMake Nightly Date Stamp 2022-05-13 00:01:07 -04:00
Brad King cc93d2af08 gitlab-ci: Update Windows builds to MSVC 19.32 toolset 2022-05-12 17:47:44 -04:00
Martin Duffy 2defe9ff95 ccmake: Fix crash when deleting all cache entries
Prevents crash when deleting all cache entries.
Additionally, if advanced entries are hidden, no longer show the first advanced
entry when deleting all visible entries.

Fixes: #23499
2022-05-12 16:43:15 -04:00
Martin Duffy e1c85e29f4 ccmake: Move Initialization of Fields Inline
Move initialization of simple fields in cmCursesMainForm inline.
2022-05-12 16:40:58 -04:00
Brad King d478dda0eb Merge branch 'FindPkgConfig-LIBRARY_PATH' into release-3.22
Merge-request: !7258
2022-05-12 13:34:21 -04:00
Brad King 11c8da94d4 FindPkgConfig: Fix preservation of ENV{PKG_CONFIG_ALLOW_SYSTEM_LIBS}
Fix the ENV save/restore added by commit 36979f5b43 (FindPkgConfig:
Tolerate PKG_CONFIG_SYSTEM_LIBRARY_PATH in environment, 2021-07-13,
v3.22.0-rc1~407^2) to unset the variable if it was originally not set.

While at it, clarify the value to which we temporarily set it. The
`pkg-config` and `pkgconf` tools only check that the variable is set,
and do not care about the value.  Set it to a more true-looking value.

Issue: #22148
2022-05-12 13:18:24 -04:00
Letu Ren 8041ca5df0 FindGLUT: Fix GLUT_INCLUDE_DIRS with pkg-config and /usr/include
Fixes: #23474
2022-05-12 12:58:09 -04:00
Michael Hirsch ca2877c039 FindPython: add support for Python 3.12 2022-05-12 10:55:11 -04:00
Michael Durso Jr b1c2cb0436 ExternalProject: Make SVN interactive with USES_TERMINAL_{DOWNLOAD,UPDATE}
ExternalProject_Add() supports USES_TERMINAL_* flags to enable user
input for different steps.  The Subversion download options ignored
these flags when checking out or updated a Subversion repo.

Fixes: #23348
2022-05-12 10:40:35 -04:00
Erin Melucci ba969ce5fe cmake-presets: add ${pathListSep} macro
Fixes: #23282
2022-05-12 10:37:49 -04:00
Jean-Christophe Fillion-Robin 308b698f5d Help: Make install() example component names more consistent
This commit updates the documentation so that the component examples are
specified using title case to match convention used in both the existing
`Installing Exports` section and in the "Mastering CMake" book.
2022-05-12 10:15:42 -04:00
Brad King a1c61a7e1a Merge branch 'release-3.23' 2022-05-12 09:28:16 -04:00
Brad King c67f0cd592 Merge topic 'doc-package-compatibility-mode'
a82163839a CMakePackageConfigHelpers: Fix note about version files supporting ranges

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7254
2022-05-12 09:28:16 -04:00
Brad King 2019bf5092 Merge topic 'doc-package-compatibility-mode' into release-3.23
a82163839a CMakePackageConfigHelpers: Fix note about version files supporting ranges

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7254
2022-05-12 09:28:15 -04:00
Brad King 9088133eec Merge topic 'FindOpenCL-3.0'
587d1942b5 FindOpenCL: Add support for version 3.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7253
2022-05-12 09:26:58 -04:00