diff --git a/dev/release/verify-apt.sh b/dev/release/verify-apt.sh index 02296c2079a..e0e51440214 100755 --- a/dev/release/verify-apt.sh +++ b/dev/release/verify-apt.sh @@ -143,6 +143,7 @@ echo "::endgroup::" echo "::group::Test Apache Arrow C++" +mkdir -p build ${APT_INSTALL} libarrow-dev=${package_version} required_packages=() required_packages+=(cmake) @@ -152,15 +153,25 @@ required_packages+=(make) required_packages+=(pkg-config) required_packages+=(${workaround_missing_packages[@]}) ${APT_INSTALL} ${required_packages[@]} -mkdir -p build -cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ -pushd build/minimal_build -cmake . -make -j$(nproc) -./arrow-example -c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 -./arrow-example -popd +# cmake version 3.31.6 -> 3.31.6 +cmake_version=$(cmake --version | head -n1 | sed -e 's/^cmake version //') +# 3.31.6 -> 3.31 +cmake_version_major_minor=${cmake_version%.*} +# 3.31 -> 3 +cmake_version_major=${cmake_version_major_minor%.*} +# 3.31 -> 31 +cmake_version_minor=${cmake_version_major_minor#*.} +if [ "${cmake_version_major}" -gt "3" ] || \ + [ "${cmake_version_major}" -eq "3" -a "${cmake_version_minor}" -ge "25" ]; then + cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ + pushd build/minimal_build + cmake . + make -j$(nproc) + ./arrow-example + c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 + ./arrow-example + popd +fi echo "::endgroup::" diff --git a/dev/release/verify-yum.sh b/dev/release/verify-yum.sh index 8691e538ec7..a8d4de4a8c3 100755 --- a/dev/release/verify-yum.sh +++ b/dev/release/verify-yum.sh @@ -190,6 +190,7 @@ echo "::endgroup::" echo "::group::Test Apache Arrow C++" +mkdir -p build ${install_command} ${enablerepo_epel} arrow-devel-${package_version} if [ -n "${devtoolset}" ]; then ${install_command} ${scl_package} @@ -214,15 +215,25 @@ else gcc-c++ \ make fi -mkdir -p build -cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ -pushd build/minimal_build -${cmake_command} . -make -j$(nproc) -./arrow-example -c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 -./arrow-example -popd +# cmake version 3.31.6 -> 3.31.6 +cmake_version=$(${cmake_command} --version | head -n1 | sed -e 's/^cmake version //') +# 3.31.6 -> 3.31 +cmake_version_major_minor=${cmake_version%.*} +# 3.31 -> 3 +cmake_version_major=${cmake_version_major_minor%.*} +# 3.31 -> 31 +cmake_version_minor=${cmake_version_major_minor#*.} +if [ "${cmake_version_major}" -gt "3" ] || \ + [ "${cmake_version_major}" -eq "3" -a "${cmake_version_minor}" -ge "25" ]; then + cp -a "${TOP_SOURCE_DIR}/cpp/examples/minimal_build" build/ + pushd build/minimal_build + ${cmake_command} . + make -j$(nproc) + ./arrow-example + c++ -o arrow-example example.cc $(pkg-config --cflags --libs arrow) -std=c++17 + ./arrow-example + popd +fi echo "::endgroup::" if [ "${have_glib}" = "yes" ]; then