Utilities: Announce both system-installed and bundled dependencies

CMake already says if it's using a system-installed component when
configuring:

    -- Using system-installed BZIP2

For clarity, also list what components are using the bundled source
code.  Example output:

    -- Using system installed: ZLIB
    -- Using bundled: BZIP2 CPPDAP CURL EXPAT FORM JSONCPP LIBARCHIVE
       LIBLZMA LIBRHASH LIBUV NGHTTP2 ZSTD KWIML

This is useful when verifying packaging of CMake itself.
This commit is contained in:
Ross Burton
2025-11-18 11:52:54 +00:00
committed by Brad King
parent 2d88cb03d0
commit 82e3d17b5e

View File

@@ -225,11 +225,24 @@ macro(CMAKE_HANDLE_SYSTEM_LIBRARIES)
# Avoid messaging about curl-only dependencies.
list(REMOVE_ITEM UTILITIES NGHTTP2)
endif()
set(DEPS_SYSTEM "")
set(DEPS_BUNDLED "")
foreach(util IN LISTS UTILITIES ITEMS KWIML)
if(CMAKE_USE_SYSTEM_${util})
message(STATUS "Using system-installed ${util}")
string(APPEND DEPS_SYSTEM " ${util}")
else()
string(APPEND DEPS_BUNDLED " ${util}")
endif()
endforeach()
if(DEPS_SYSTEM)
message(STATUS "Using system-installed:${DEPS_SYSTEM}")
endif()
if(DEPS_BUNDLED)
message(STATUS "Using bundled:${DEPS_BUNDLED}")
endif()
unset(DEPS_SYSTEM)
unset(DEPS_BUNDLED)
# Inform utility library header wrappers whether to use system versions.
configure_file(Utilities/cmThirdParty.h.in Utilities/cmThirdParty.h @ONLY)