source_dir . '/CMakeLists.txt'); if (preg_match('/set \(YAML_VERSION_MAJOR (\d+)\)/', $content, $major) && preg_match('/set \(YAML_VERSION_MINOR (\d+)\)/', $content, $minor) && preg_match('/set \(YAML_VERSION_PATCH (\d+)\)/', $content, $patch)) { return "{$major[1]}.{$minor[1]}.{$patch[1]}"; } return null; } protected function build(): void { $cmake = UnixCMakeExecutor::create($this)->addConfigureArgs('-DBUILD_TESTING=OFF'); if (version_compare(get_cmake_version(), '4.0.0', '>=')) { $cmake->addConfigureArgs('-DCMAKE_POLICY_VERSION_MINIMUM=3.5'); } $cmake->build(); } }