diff --git a/src/Package/Library/zstd.php b/src/Package/Library/zstd.php index 8cbf7aa6..f12bf3e0 100644 --- a/src/Package/Library/zstd.php +++ b/src/Package/Library/zstd.php @@ -17,7 +17,7 @@ class zstd public function buildWin(LibraryPackage $package): void { WindowsCMakeExecutor::create($package) - ->setRootDir("{$package->getSourceDir()}/build/cmake") + ->setWorkingDir("{$package->getSourceDir()}/build/cmake") ->setBuildDir("{$package->getSourceDir()}/build/cmake/build") ->addConfigureArgs( '-DZSTD_BUILD_STATIC=ON', diff --git a/src/StaticPHP/Runtime/Executor/WindowsCMakeExecutor.php b/src/StaticPHP/Runtime/Executor/WindowsCMakeExecutor.php index 9e097819..1f057f12 100644 --- a/src/StaticPHP/Runtime/Executor/WindowsCMakeExecutor.php +++ b/src/StaticPHP/Runtime/Executor/WindowsCMakeExecutor.php @@ -176,6 +176,12 @@ class WindowsCMakeExecutor extends Executor return implode(' ', array_merge($this->configure_args, $this->getDefaultCMakeArgs())); } + public function setWorkingDir(string $dir): static + { + $this->cmd = $this->cmd->cd($dir); + return $this; + } + /** * Returns the default CMake args. */ @@ -207,12 +213,12 @@ class WindowsCMakeExecutor extends Executor private function initBuildDir(): void { if ($this->build_dir === null) { - $this->build_dir = "{$this->package->getSourceDir()}\\build"; + $this->build_dir = "{$this->package->getSourceRoot()}\\build"; } } private function initCmd(): void { - $this->cmd = cmd()->cd($this->package->getSourceDir()); + $this->cmd = cmd()->cd($this->package->getSourceRoot()); } }