diff --git a/src/SPC/builder/linux/library/icu.php b/src/SPC/builder/linux/library/icu.php index ddcfe1b2..87a92234 100644 --- a/src/SPC/builder/linux/library/icu.php +++ b/src/SPC/builder/linux/library/icu.php @@ -15,7 +15,7 @@ class icu extends LinuxLibraryBase protected function build(): void { $cppflags = 'CPPFLAGS="-DU_CHARSET_IS_UTF8=1 -DU_USING_ICU_NAMESPACE=1 -DU_STATIC_IMPLEMENTATION=1 -DPIC -fPIC"'; - $cxxflags = 'CXXFLAGS="-std=c++17 -fPIC -fno-ident"'; + $cxxflags = 'CXXFLAGS="-std=c++17 -DPIC -fPIC -fno-ident"'; $ldflags = getenv('SPC_LIBC') !== 'glibc' ? 'LDFLAGS="-static"' : ''; shell()->cd($this->source_dir . '/source') ->setEnv([ diff --git a/src/SPC/builder/linux/library/libxml2.php b/src/SPC/builder/linux/library/libxml2.php index 6d9470ae..5f4f1dc9 100644 --- a/src/SPC/builder/linux/library/libxml2.php +++ b/src/SPC/builder/linux/library/libxml2.php @@ -30,13 +30,7 @@ class libxml2 extends LinuxLibraryBase 'LIBS' => $this->getLibExtraLibs(), ]) ->execWithEnv( - 'cmake ' . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - '-DCMAKE_INSTALL_LIBDIR=' . BUILD_LIB_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . + "cmake {$this->builder->makeCmakeArgs()} " . '-DIconv_IS_BUILT_IN=OFF ' . '-DLIBXML2_WITH_ICONV=ON ' . "-DLIBXML2_WITH_ZLIB={$enable_zlib} " . diff --git a/src/SPC/builder/macos/library/glfw.php b/src/SPC/builder/macos/library/glfw.php index a3b88b6a..8ab84770 100644 --- a/src/SPC/builder/macos/library/glfw.php +++ b/src/SPC/builder/macos/library/glfw.php @@ -19,7 +19,7 @@ class glfw extends MacOSLibraryBase { // compile! shell()->cd(SOURCE_PATH . '/ext-glfw/vendor/glfw') - ->exec("cmake . {$this->builder->makeCmakeArgs()} -DBUILD_SHARED_LIBS=OFF -DPOSITION_INDEPENDENT_CODE=ON -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF") + ->exec("cmake . {$this->builder->makeCmakeArgs()} -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF") ->exec("make -j{$this->builder->concurrency}") ->exec('make install'); // patch pkgconf diff --git a/src/SPC/builder/macos/library/libxml2.php b/src/SPC/builder/macos/library/libxml2.php index f8d75f83..d4646dba 100644 --- a/src/SPC/builder/macos/library/libxml2.php +++ b/src/SPC/builder/macos/library/libxml2.php @@ -25,15 +25,9 @@ class libxml2 extends MacOSLibraryBase FileSystem::resetDir($this->source_dir . '/build'); shell()->cd($this->source_dir . '/build') ->exec( - 'cmake ' . + "cmake {$this->builder->makeCmakeArgs()} " . // '--debug-find ' . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - '-DCMAKE_INSTALL_LIBDIR=' . BUILD_LIB_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DBUILD_SHARED_LIBS=OFF ' . '-DLIBXML2_WITH_ICONV=ON ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . "-DLIBXML2_WITH_ZLIB={$enable_zlib} " . "-DLIBXML2_WITH_ICU={$enable_icu} " . "-DLIBXML2_WITH_LZMA={$enable_xz} " . diff --git a/src/SPC/builder/unix/UnixBuilderBase.php b/src/SPC/builder/unix/UnixBuilderBase.php index d645a68f..26b5747b 100644 --- a/src/SPC/builder/unix/UnixBuilderBase.php +++ b/src/SPC/builder/unix/UnixBuilderBase.php @@ -60,6 +60,9 @@ abstract class UnixBuilderBase extends BuilderBase { $extra = $this instanceof LinuxBuilder ? '-DCMAKE_C_COMPILER=' . getenv('CC') . ' ' : ''; return $extra . + '-DBUILD_STATIC_LIBS=ON ' . + '-DBUILD_SHARED_LIBS=OFF ' . + '-DPOSITION_INDEPENDENT_CODE=ON ' . '-DCMAKE_BUILD_TYPE=Release ' . '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . '-DCMAKE_INSTALL_BINDIR=bin ' . diff --git a/src/SPC/builder/unix/library/curl.php b/src/SPC/builder/unix/library/curl.php index 5296d636..7a166b20 100644 --- a/src/SPC/builder/unix/library/curl.php +++ b/src/SPC/builder/unix/library/curl.php @@ -86,7 +86,7 @@ trait curl 'LIBS' => $this->getLibExtraLibs(), ]) ->exec('sed -i.save s@\${CMAKE_C_IMPLICIT_LINK_LIBRARIES}@@ ../CMakeLists.txt') - ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} -DPOSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_CURL_EXE=OFF -DBUILD_LIBCURL_DOCS=OFF {$extra} ..") + ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} -DBUILD_CURL_EXE=OFF -DBUILD_LIBCURL_DOCS=OFF {$extra} ..") ->execWithEnv("make -j{$this->builder->concurrency}") ->execWithEnv('make install'); // patch pkgconf diff --git a/src/SPC/builder/unix/library/freetype.php b/src/SPC/builder/unix/library/freetype.php index 903d3746..187ebeff 100644 --- a/src/SPC/builder/unix/library/freetype.php +++ b/src/SPC/builder/unix/library/freetype.php @@ -33,9 +33,7 @@ trait freetype 'LIBS' => $this->getLibExtraLibs(), ]) ->execWithEnv( - "cmake {$this->builder->makeCmakeArgs()} -DFT_DISABLE_HARFBUZZ=ON " . - '-DBUILD_SHARED_LIBS=OFF ' . - "{$extra}.." + "cmake {$this->builder->makeCmakeArgs()} -DFT_DISABLE_HARFBUZZ=ON {$extra}.." ) ->execWithEnv('make clean') ->execWithEnv("make -j{$this->builder->concurrency}") diff --git a/src/SPC/builder/unix/library/gmssl.php b/src/SPC/builder/unix/library/gmssl.php index bf0abe8e..5e2fe153 100644 --- a/src/SPC/builder/unix/library/gmssl.php +++ b/src/SPC/builder/unix/library/gmssl.php @@ -25,7 +25,7 @@ trait gmssl 'LDFLAGS' => $this->getLibExtraLdFlags(), 'LIBS' => $this->getLibExtraLibs(), ]) - ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} -DBUILD_SHARED_LIBS=OFF -DPOSITION_INDEPENDENT_CODE=ON ..") + ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} ..") ->execWithEnv("cmake --build . -j {$this->builder->concurrency}") ->execWithEnv('make install'); } diff --git a/src/SPC/builder/unix/library/libaom.php b/src/SPC/builder/unix/library/libaom.php index d0de97d7..38e0b95a 100644 --- a/src/SPC/builder/unix/library/libaom.php +++ b/src/SPC/builder/unix/library/libaom.php @@ -20,16 +20,7 @@ trait libaom FileSystem::resetDir($this->source_dir . '/builddir'); // Start build shell()->cd($this->source_dir . '/builddir') - ->exec( - 'cmake ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DAOM_TARGET_CPU=generic ' . - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} -DAOM_TARGET_CPU=generic ..") ->exec("cmake --build . -j {$this->builder->concurrency}") ->exec('make install'); $this->patchPkgconfPrefix(['aom.pc']); diff --git a/src/SPC/builder/unix/library/libavif.php b/src/SPC/builder/unix/library/libavif.php index e0b0430d..3c01c102 100644 --- a/src/SPC/builder/unix/library/libavif.php +++ b/src/SPC/builder/unix/library/libavif.php @@ -27,7 +27,7 @@ trait libavif 'LDFLAGS' => $this->getLibExtraLdFlags(), 'LIBS' => $this->getLibExtraLibs(), ]) - ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} -DBUILD_SHARED_LIBS=OFF -DPOSITION_INDEPENDENT_CODE=ON -DAVIF_LIBYUV=OFF ..") + ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} -DAVIF_LIBYUV=OFF ..") ->execWithEnv("cmake --build . -j {$this->builder->concurrency}") ->execWithEnv('make install'); // patch pkgconfig diff --git a/src/SPC/builder/unix/library/libde265.php b/src/SPC/builder/unix/library/libde265.php index bf1546f2..0f7d44a1 100644 --- a/src/SPC/builder/unix/library/libde265.php +++ b/src/SPC/builder/unix/library/libde265.php @@ -20,16 +20,7 @@ trait libde265 FileSystem::resetDir($this->source_dir . '/build'); // Start build shell()->cd($this->source_dir . '/build') - ->exec( - 'cmake ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DENABLE_SDL=OFF ' . // Disable SDL, currently not supported - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} ..") ->exec("cmake --build . -j {$this->builder->concurrency}") ->exec('make install'); $this->patchPkgconfPrefix(['libde265.pc']); diff --git a/src/SPC/builder/unix/library/libevent.php b/src/SPC/builder/unix/library/libevent.php index 437bd68d..58b1b879 100644 --- a/src/SPC/builder/unix/library/libevent.php +++ b/src/SPC/builder/unix/library/libevent.php @@ -39,8 +39,11 @@ trait libevent */ protected function build(): void { - [$lib, $include, $destdir] = SEPARATED_PATH; // CMake needs a clean build directory + $extra = ''; + if (version_compare(get_cmake_version(), '4.0.0', '>=')) { + $extra .= '-DCMAKE_POLICY_VERSION_MINIMUM=3.10 '; + } FileSystem::resetDir($this->source_dir . '/build'); // Start build shell()->cd($this->source_dir . '/build') @@ -50,11 +53,7 @@ trait libevent 'LIBS' => $this->getLibExtraLibs(), ]) ->execWithEnv( - 'cmake ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DCMAKE_BUILD_TYPE=Release ' . + "cmake {$this->builder->makeCmakeArgs()} {$extra}" . '-DEVENT__LIBRARY_TYPE=STATIC ' . '-DEVENT__DISABLE_BENCHMARK=ON ' . '-DEVENT__DISABLE_THREAD_SUPPORT=ON ' . diff --git a/src/SPC/builder/unix/library/libheif.php b/src/SPC/builder/unix/library/libheif.php index 5725b737..9e92cf22 100644 --- a/src/SPC/builder/unix/library/libheif.php +++ b/src/SPC/builder/unix/library/libheif.php @@ -21,13 +21,8 @@ trait libheif // Start build shell()->cd($this->source_dir . '/build') ->exec( - 'cmake ' . + "cmake {$this->builder->makeCmakeArgs()} " . '--preset=release ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . '-DWITH_EXAMPLES=OFF ' . '-DWITH_GDK_PIXBUF=OFF ' . '-DBUILD_TESTING=OFF ' . diff --git a/src/SPC/builder/unix/library/libjpeg.php b/src/SPC/builder/unix/library/libjpeg.php index 5612e130..c4f9833d 100644 --- a/src/SPC/builder/unix/library/libjpeg.php +++ b/src/SPC/builder/unix/library/libjpeg.php @@ -26,7 +26,6 @@ trait libjpeg "cmake {$this->builder->makeCmakeArgs()} " . '-DENABLE_STATIC=ON ' . '-DENABLE_SHARED=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . '..' ) ->exec("cmake --build . -j {$this->builder->concurrency}") diff --git a/src/SPC/builder/unix/library/librabbitmq.php b/src/SPC/builder/unix/library/librabbitmq.php index 1f7fd0e3..d4044b46 100644 --- a/src/SPC/builder/unix/library/librabbitmq.php +++ b/src/SPC/builder/unix/library/librabbitmq.php @@ -20,16 +20,7 @@ trait librabbitmq FileSystem::resetDir($this->source_dir . '/build'); // Start build shell()->cd($this->source_dir . '/build') - ->exec( - 'cmake ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DBUILD_STATIC_LIBS=ON ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} ..") ->exec("cmake --build . -j {$this->builder->concurrency}") ->exec('make install'); } diff --git a/src/SPC/builder/unix/library/libssh2.php b/src/SPC/builder/unix/library/libssh2.php index b99b9e7b..f2132fc8 100644 --- a/src/SPC/builder/unix/library/libssh2.php +++ b/src/SPC/builder/unix/library/libssh2.php @@ -21,13 +21,7 @@ trait libssh2 FileSystem::resetDir($this->source_dir . '/build'); shell()->cd($this->source_dir . '/build') ->exec( - 'cmake ' . - '-DCMAKE_BUILD_TYPE=Release ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - '-DCMAKE_INSTALL_LIBDIR=lib ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . + "cmake {$this->builder->makeCmakeArgs()} " . '-DBUILD_EXAMPLES=OFF ' . '-DBUILD_TESTING=OFF ' . "-DENABLE_ZLIB_COMPRESSION={$enable_zlib} " . diff --git a/src/SPC/builder/unix/library/libuuid.php b/src/SPC/builder/unix/library/libuuid.php index 405941ed..cb13c66b 100644 --- a/src/SPC/builder/unix/library/libuuid.php +++ b/src/SPC/builder/unix/library/libuuid.php @@ -18,11 +18,7 @@ trait libuuid { FileSystem::resetDir($this->source_dir . '/build'); shell()->cd($this->source_dir . '/build') - ->exec( - 'cmake ' . - "{$this->builder->makeCmakeArgs()} -DPOSITION_INDEPENDENT_CODE=ON " . - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} ..") ->exec("cmake --build . -j {$this->builder->concurrency}"); copy($this->source_dir . '/build/libuuid.a', BUILD_LIB_PATH . '/libuuid.a'); FileSystem::createDir(BUILD_INCLUDE_PATH . '/uuid'); diff --git a/src/SPC/builder/unix/library/libuv.php b/src/SPC/builder/unix/library/libuv.php index 2294a1e3..fda11c0a 100644 --- a/src/SPC/builder/unix/library/libuv.php +++ b/src/SPC/builder/unix/library/libuv.php @@ -20,7 +20,7 @@ trait libuv FileSystem::resetDir($this->source_dir . '/build'); // Start build shell()->cd($this->source_dir . '/build') - ->exec("cmake {$this->builder->makeCmakeArgs()} -DPOSITION_INDEPENDENT_CODE=ON -DLIBUV_BUILD_SHARED=OFF ..") + ->exec("cmake {$this->builder->makeCmakeArgs()} -DLIBUV_BUILD_SHARED=OFF ..") ->exec("cmake --build . -j {$this->builder->concurrency}") ->exec('make install'); // patch pkgconfig diff --git a/src/SPC/builder/unix/library/libwebp.php b/src/SPC/builder/unix/library/libwebp.php index 79fc1e3e..29076c6d 100644 --- a/src/SPC/builder/unix/library/libwebp.php +++ b/src/SPC/builder/unix/library/libwebp.php @@ -22,14 +22,7 @@ trait libwebp FileSystem::resetDir($this->source_dir . '/build'); // Start build shell()->cd($this->source_dir . '/build') - ->exec( - 'cmake ' . - $this->builder->makeCmakeArgs() . ' ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DWEBP_BUILD_EXTRAS=ON ' . - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} -DWEBP_BUILD_EXTRAS=ON ..") ->exec("cmake --build . -j {$this->builder->concurrency}") ->exec('make install'); // patch pkgconfig diff --git a/src/SPC/builder/unix/library/libyaml.php b/src/SPC/builder/unix/library/libyaml.php index b519f709..6907535d 100644 --- a/src/SPC/builder/unix/library/libyaml.php +++ b/src/SPC/builder/unix/library/libyaml.php @@ -31,24 +31,14 @@ trait libyaml */ protected function build(): void { - [$lib, $include, $destdir] = SEPARATED_PATH; - + $extra = ''; + if (version_compare(get_cmake_version(), '4.0.0', '>=')) { + $extra .= '-DCMAKE_POLICY_VERSION_MINIMUM=3.5'; + } FileSystem::resetDir($this->source_dir . '/build'); shell()->cd($this->source_dir . '/build') - ->exec( - 'cmake ' . - // '--debug-find ' . - '-DCMAKE_BUILD_TYPE=Release ' . - '-DBUILD_TESTING=OFF ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DCMAKE_INSTALL_PREFIX=/ ' . - "-DCMAKE_INSTALL_LIBDIR={$lib} " . - "-DCMAKE_INSTALL_INCLUDEDIR={$include} " . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} {$extra} -DBUILD_TESTING=OFF ..") ->exec("make -j{$this->builder->concurrency}") - ->exec("make install DESTDIR={$destdir}"); + ->exec('make install DESTDIR=' . BUILD_ROOT_PATH); } } diff --git a/src/SPC/builder/unix/library/libzip.php b/src/SPC/builder/unix/library/libzip.php index c206f3c9..9c00d6a2 100644 --- a/src/SPC/builder/unix/library/libzip.php +++ b/src/SPC/builder/unix/library/libzip.php @@ -29,14 +29,9 @@ trait libzip FileSystem::resetDir($this->source_dir . '/build'); shell()->cd($this->source_dir . '/build') ->exec( - 'cmake ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DCMAKE_BUILD_TYPE=Release ' . + "cmake {$this->builder->makeCmakeArgs()} " . '-DENABLE_GNUTLS=OFF ' . '-DENABLE_MBEDTLS=OFF ' . - '-DBUILD_SHARED_LIBS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . '-DBUILD_DOC=OFF ' . '-DBUILD_EXAMPLES=OFF ' . '-DBUILD_REGRESS=OFF ' . diff --git a/src/SPC/builder/unix/library/mimalloc.php b/src/SPC/builder/unix/library/mimalloc.php index 34b4f7be..bbf80bbd 100644 --- a/src/SPC/builder/unix/library/mimalloc.php +++ b/src/SPC/builder/unix/library/mimalloc.php @@ -24,15 +24,7 @@ trait mimalloc $args .= '-DMI_INSTALL_TOPLEVEL=ON '; FileSystem::resetDir($this->source_dir . '/build'); shell()->cd($this->source_dir . '/build') - ->execWithEnv( - 'cmake ' . - '-DCMAKE_INSTALL_PREFIX=' . BUILD_ROOT_PATH . ' ' . - "-DCMAKE_TOOLCHAIN_FILE={$this->builder->cmake_toolchain_file} " . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DCMAKE_BUILD_TYPE=Release ' . - $args . - '..' - ) + ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} {$args} ..") ->execWithEnv("make -j{$this->builder->concurrency}") ->execWithEnv('make install'); } diff --git a/src/SPC/builder/unix/library/snappy.php b/src/SPC/builder/unix/library/snappy.php index 8d1c3b8a..e1a1d415 100644 --- a/src/SPC/builder/unix/library/snappy.php +++ b/src/SPC/builder/unix/library/snappy.php @@ -20,11 +20,9 @@ trait snappy shell()->cd($this->source_dir . '/cmake/build') ->exec( - 'cmake ' . - "{$this->builder->makeCmakeArgs()} " . + "cmake {$this->builder->makeCmakeArgs()} " . '-DSNAPPY_BUILD_TESTS=OFF ' . '-DSNAPPY_BUILD_BENCHMARKS=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . '../..' ) ->exec("cmake --build . -j {$this->builder->concurrency}") diff --git a/src/SPC/builder/unix/library/tidy.php b/src/SPC/builder/unix/library/tidy.php index ce5cd462..b9bc6951 100644 --- a/src/SPC/builder/unix/library/tidy.php +++ b/src/SPC/builder/unix/library/tidy.php @@ -16,16 +16,13 @@ trait tidy */ protected function build(): void { + $extra = ''; + if (version_compare(get_cmake_version(), '4.0.0', '>=')) { + $extra .= '-DCMAKE_POLICY_VERSION_MINIMUM=3.5'; + } FileSystem::resetDir($this->source_dir . '/build-dir'); shell()->cd($this->source_dir . '/build-dir') - ->exec( - 'cmake ' . - "{$this->builder->makeCmakeArgs()} " . - '-DBUILD_SHARED_LIB=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '-DSUPPORT_CONSOLE_APP=OFF ' . - '..' - ) + ->exec("cmake {$this->builder->makeCmakeArgs()} {$extra} -DSUPPORT_CONSOLE_APP=OFF ..") ->exec("cmake --build . -j {$this->builder->concurrency}") ->exec('make install'); $this->patchPkgconfPrefix(['tidy.pc']); diff --git a/src/SPC/builder/unix/library/zstd.php b/src/SPC/builder/unix/library/zstd.php index 939567f2..a8fe34bc 100644 --- a/src/SPC/builder/unix/library/zstd.php +++ b/src/SPC/builder/unix/library/zstd.php @@ -23,16 +23,9 @@ trait zstd 'LDFLAGS' => $this->getLibExtraLdFlags(), 'LIBS' => $this->getLibExtraLibs(), ]) - ->exec( - 'cmake ' . - "{$this->builder->makeCmakeArgs()} " . - '-DZSTD_BUILD_STATIC=ON ' . - '-DZSTD_BUILD_SHARED=OFF ' . - '-DPOSITION_INDEPENDENT_CODE=ON ' . - '..' - ) - ->exec("cmake --build . -j {$this->builder->concurrency}") - ->exec('make install'); + ->execWithEnv("cmake {$this->builder->makeCmakeArgs()} ..") + ->execWithEnv("cmake --build . -j {$this->builder->concurrency}") + ->execWithEnv('make install'); $this->patchPkgconfPrefix(['libzstd.pc']); } }