diff --git a/scripts/common.sh b/scripts/common.sh index 541264c1e..bc88aae70 100755 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -21,6 +21,7 @@ MTL_VERSIONS_FILE_PATH="${MTL_VERSIONS_FILE:-${MTL_DIR}/versions.env}" if [[ -f "${MTL_VERSIONS_FILE_PATH}" ]]; then MTL_VERSIONS_FILE_PATH="$(readlink -f "${MTL_VERSIONS_FILE_PATH}")" export MTL_VERSIONS_FILE_PATH +# shellcheck source=/dev/null . "${MTL_VERSIONS_FILE_PATH}" fi @@ -32,6 +33,7 @@ export JPEGXS_DIR="${BUILD_DIR}/jpegxs" export LIBFABRIC_DIR="${BUILD_DIR}/libfabric" export LIBFDT_DIR="${BUILD_DIR}/libfdt" export JSONC_DIR="${BUILD_DIR}/json-c" +export CMAKE_DIR="${BUILD_DIR}/cmake" export NASM_DIR="${BUILD_DIR}/nasm" export ICE_DIR="${DRIVERS_DIR}/ice/${ICE_VER}" diff --git a/scripts/setup_build_env.sh b/scripts/setup_build_env.sh index 98a9e5c2c..a5f21bc7a 100755 --- a/scripts/setup_build_env.sh +++ b/scripts/setup_build_env.sh @@ -74,7 +74,7 @@ function install_ubuntu_package_dependencies() llvm \ m4 \ meson \ - nasm cmake=3.22* \ + nasm \ pkg-config \ python3-dev \ python3-pyelftools \ @@ -85,6 +85,7 @@ function install_ubuntu_package_dependencies() zlib1g-dev \ "${APT_LINUX_HEADERS}" \ "${APT_LINUX_MOD_EXTRA}" && \ + lib_build_and_install_cmake && \ lib_build_and_install_golang && \ return 0 || return 1 } @@ -103,7 +104,6 @@ function install_yum_package_dependencies() curl-minimal \ ca-certificates \ clang \ - cmake=3.22.1-1ubuntu1 \ dracut \ dtc \ elfutils-libelf-devel \ @@ -145,6 +145,7 @@ function install_yum_package_dependencies() wget \ zlib-devel && \ python3 -m pip install meson ninja && \ + lib_build_and_install_cmake && \ lib_install_nasm_from_rpm && \ lib_build_and_install_libfdt && \ lib_build_and_install_jsonc && \ @@ -184,6 +185,17 @@ function get_download_unpack_dependencies() apply_dpdk_patches } +# Download, build and install cmake from source code +function lib_build_and_install_cmake() +{ + git_download_strip_unpack "kitware/cmake" "refs/tags/${CMAKE_VER}" "${CMAKE_DIR}" && \ + pushd "${CMAKE_DIR}" && \ + "${CMAKE_DIR}/bootstrap" --prefix=/usr/local && \ + make -j "${NPROC}" -C "${CMAKE_DIR}" && \ + as_root make -j "${NPROC}" -C "${CMAKE_DIR}" install && \ + popd +} + # Download and install rpm repo for nasm function lib_install_nasm_from_rpm() { diff --git a/versions.env b/versions.env index dcbcba420..15f873de1 100644 --- a/versions.env +++ b/versions.env @@ -1,4 +1,5 @@ BPF_VER=42065ea6627ff6e1ab4c65e51042a70fbf30ff7c +CMAKE_VER=v3.31.8 DPDK_VER=23.11 GPRC_VER=v1.68.2 ICE_VER=1.14.9