From 3d6ff434a6559f22352e77c1118acea9d77c85d5 Mon Sep 17 00:00:00 2001 From: Mark Schofield <34426337+MarkSchofield@users.noreply.github.com> Date: Sun, 21 Sep 2025 23:41:47 -0700 Subject: [PATCH] 'Build-CMakeBuild' should re-run configuration if the code model cannot be loaded --- PSCMake/PSCMake.psm1 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PSCMake/PSCMake.psm1 b/PSCMake/PSCMake.psm1 index 5eca240..14a684c 100644 --- a/PSCMake/PSCMake.psm1 +++ b/PSCMake/PSCMake.psm1 @@ -364,15 +364,17 @@ function Build-CMakeBuild { # 2) '-fresh' was specified # 3) "$BinaryDirectory/CMakeCache.txt" doesn't exist # 4) The "Get-CMakeBuildCodeModelDirectory" folder doesn't exist + # 5) "Get-CMakeBuildCodeModel" returns $null if ($Configure -or $Fresh -or (-not (Test-Path -Path $CMakeCacheFile -PathType Leaf)) -or - (-not (Test-Path -Path (Get-CMakeBuildCodeModelDirectory $BinaryDirectory) -PathType Container))) { + (-not (Test-Path -Path (Get-CMakeBuildCodeModelDirectory $BinaryDirectory) -PathType Container)) -or + (-not ($CodeModel = Get-CMakeBuildCodeModel $BinaryDirectory)) + ) { ConfigureCMake -CMake $CMake $CMakePresetsJson $ConfigurePreset -Fresh:$Fresh + $CodeModel = Get-CMakeBuildCodeModel $BinaryDirectory } - $CodeModel = Get-CMakeBuildCodeModel $BinaryDirectory - [string[]] $ConfigurationNames = @($null) if ($Configuration) { $ConfigurationNames = foreach ($CandidateConfigurationName in $Configuration) {