import subprocess import os from lib import cpp, arch from lib.make import * upstream_version = "4.4.2" [upstream_major, upstream_minor, upstream_rev] = upstream_version.split(".") version(upstream_version) description("a cross-platform, open-source build system generator") maintainer("sisungo ") source_url( "https://github.com/Kitware/CMake/releases/download/v4.4.2/cmake-4.4.2.tar.gz" ) builddep("shortcut/c++") builddep("shortcut/autotools") builddep("shortcut/cmake") builddep(f"libcurl-dev @{arch.get_target()}") builddep(f"aws-lc-dev @{arch.get_target()}") builddep(f"libcurl-dev @{arch.get_target()}") builddep(f"libexpat-dev @{arch.get_target()}") builddep(f"libz-dev @{arch.get_target()}") builddep(f"libbzip2-dev @{arch.get_target()}") builddep(f"liblzma-dev @{arch.get_target()}") builddep(f"libzstd-dev @{arch.get_target()}") builddep(f"libnghttp2-dev @{arch.get_target()}") builddep(f"librhash-dev @{arch.get_target()}") builddep(f"libarchive-dev @{arch.get_target()}") builddep(f"linux-dev @{arch.get_target()}") def build(): os.environ["CMAKE_PREFIX_PATH"] = f"/lib/{arch.get_target()}" cpp.cmake([ f"-DCMAKE_INSTALL_PREFIX={get_prefix('cmake')}", "-DCMAKE_USE_SYSTEM_CURL=ON", "-DCMAKE_USE_SYSTEM_ZLIB=ON", "-DCMAKE_USE_SYSTEM_ZSTD=ON", "-DCMAKE_USE_SYSTEM_LIBRHASH=ON", "-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON", "-DCMAKE_USE_SYSTEM_LIBLZMA=ON", "-DCMAKE_USE_SYSTEM_EXPAT=ON", "-DCMAKE_USE_SYSTEM_BZIP2=ON", ]) cpp.ninja() cpp.ninja_install() on_build(build) def pack_cmake(composer): composer.add_dir("bin", "bin") composer.makedir("share") composer.add_dir(f"share/cmake-{upstream_major}.{upstream_minor}") package("cmake") dep("semi-libc @same-arch") dep("libcxx @same-arch") dep("libcurl @same-arch") dep("librhash @same-arch") dep("libz @same-arch") dep("libarchive @same-arch") dep("libexpat @same-arch") on_pack(pack_cmake)