From bbaf70c083f621c9eac5177eb3084eb75de30cd0 Mon Sep 17 00:00:00 2001 From: Rafael Kitover Date: Tue, 15 Jul 2025 16:46:17 +0000 Subject: [PATCH] build: fix slow CMake vcpkg startup time Set the CMake cache variables for `vcpkg list` in `CACHE` instead of `PARENT_SCOPE`, because the parent scope is now a transient function and nothing was being cached, causing very slow run speed. Signed-off-by: Rafael Kitover --- cmake/Set-Toolchain-vcpkg.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/Set-Toolchain-vcpkg.cmake b/cmake/Set-Toolchain-vcpkg.cmake index b005b54e..f9c1ffa6 100644 --- a/cmake/Set-Toolchain-vcpkg.cmake +++ b/cmake/Set-Toolchain-vcpkg.cmake @@ -159,7 +159,7 @@ function(vcpkg_is_installed vcpkg_exe pkg_name pkg_ver pkg_triplet powershell ou string(REGEX REPLACE "\r?\n" ";" vcpkg_list_raw "${vcpkg_list_text}") - set(VCPKG_INSTALLED_COUNT 0 PARENT_SCOPE) + set(VCPKG_INSTALLED_COUNT 0 CACHE INTERNAL "Number of installed vcpkg packages" FORCE) foreach(pkg ${vcpkg_list_raw}) if(NOT pkg MATCHES "^([^:[]+)[^:]*:([^ ]+) +([0-9][^ ]*) +.*\$") continue() @@ -181,8 +181,8 @@ function(vcpkg_is_installed vcpkg_exe pkg_name pkg_ver pkg_triplet powershell ou list(APPEND VCPKG_INSTALLED ${inst_pkg_name} ${inst_pkg_ver} ${inst_pkg_rev} ${inst_pkg_triplet}) math(EXPR VCPKG_INSTALLED_COUNT "${VCPKG_INSTALLED_COUNT} + 1") endforeach() - set(VCPKG_INSTALLED ${VCPKG_INSTALLED} PARENT_SCOPE) - set(VCPKG_INSTALLED_COUNT ${VCPKG_INSTALLED_COUNT} PARENT_SCOPE) + set(VCPKG_INSTALLED ${VCPKG_INSTALLED} CACHE INTERNAL "List of installed vcpkg packages" FORCE) + set(VCPKG_INSTALLED_COUNT ${VCPKG_INSTALLED_COUNT} CACHE INTERNAL "Number of installed vcpkg packages" FORCE) endif() if(NOT VCPKG_INSTALLED_COUNT GREATER 0)