From 246f594fee096b0d7019cd8e4e1af0503da1741d Mon Sep 17 00:00:00 2001 From: Charles Gueunet Date: Mon, 9 Aug 2021 08:33:55 +0100 Subject: [PATCH 1/4] Update superbuild to master with TTK enabled --- packages/paraview/env.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/paraview/env.sh b/packages/paraview/env.sh index a933fd5..3b3ea9a 100644 --- a/packages/paraview/env.sh +++ b/packages/paraview/env.sh @@ -11,8 +11,8 @@ if [ -z "$INSTALLER_PARAVIEW_ENV_SH" ]; then visibility=public name=paraview - version=5.9.0 - version_tag=v${version} + version=git + version_tag=master source_dir_name=paraview-$version_tag build_dir_name=build-$version_tag @@ -22,12 +22,16 @@ if [ -z "$INSTALLER_PARAVIEW_ENV_SH" ]; then declare -A cmake_vars cmake_vars[BUILD_TESTING]=OFF cmake_vars[PARAVIEW_BUILD_SHARED_LIBS]=ON - cmake_vars[PARAVIEW_BUILD_EDITION]=CATALYST_RENDERING + cmake_vars[PARAVIEW_BUILD_EDITION]=CATALYST + cmake_vars[PARAVIEW_ENABLE_MOTIONFX]=OFF # temp fix: https://gitlab.kitware.com/paraview/paraview-superbuild/-/issues/189 cmake_vars[paraview_SOURCE_SELECTION]=$version cmake_vars[ENABLE_boost]=ON cmake_vars[ENABLE_protobuf]=ON cmake_vars[ENABLE_python]=ON cmake_vars[ENABLE_python3]=ON + cmake_vars[ENABLE_numpy]=ON + cmake_vars[ENABLE_ttk]=ON + cmake_vars[ENABLE_zfp]=ON cmake_vars[USE_SYSTEM_python3]=ON cmake_vars[USE_SYSTEM_boost]=ON # PV superbuild uses this instead of CMAKE_INSTALL_PREFIX From 3217ee29ca9664e5317a448e6ab026fd97d61cb4 Mon Sep 17 00:00:00 2001 From: Rupert Nash Date: Wed, 11 Aug 2021 17:16:29 +0100 Subject: [PATCH 2/4] have paraview superbuild compile in parallel --- packages/paraview/env.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/paraview/env.sh b/packages/paraview/env.sh index 3b3ea9a..3b16303 100644 --- a/packages/paraview/env.sh +++ b/packages/paraview/env.sh @@ -36,4 +36,6 @@ if [ -z "$INSTALLER_PARAVIEW_ENV_SH" ]; then cmake_vars[USE_SYSTEM_boost]=ON # PV superbuild uses this instead of CMAKE_INSTALL_PREFIX cmake_vars[superbuild_install_location]=$prefix + # Also doesn't use the standard -j flag for parallelism + cmake_vars[SUPERBUILD_PROJECT_PARALLELISM]=$make_parallelism fi From 29fe4c183cc274b27d61db3dcf4d641e28710e05 Mon Sep 17 00:00:00 2001 From: Charles Gueunet Date: Mon, 23 Aug 2021 17:35:30 +0100 Subject: [PATCH 3/4] Add CMake 3.20.1 --- generic/cmake/build.sh | 2 +- packages/cmake/all.sh | 1 + packages/cmake/build.sh | 1 + packages/cmake/configure.sh | 1 + packages/cmake/download.sh | 23 +++++++++++++++++++++++ packages/cmake/env.sh | 18 ++++++++++++++++++ packages/cmake/install.sh | 14 ++++++++++++++ packages/cmake/modtemplate.tcl | 4 ++++ packages/cmake/module.sh | 1 + platforms/archer2/cmake/config.sh | 7 +++++++ platforms/archer2/paraview/config.sh | 2 +- 11 files changed, 72 insertions(+), 2 deletions(-) create mode 120000 packages/cmake/all.sh create mode 120000 packages/cmake/build.sh create mode 120000 packages/cmake/configure.sh create mode 100755 packages/cmake/download.sh create mode 100644 packages/cmake/env.sh create mode 100755 packages/cmake/install.sh create mode 100644 packages/cmake/modtemplate.tcl create mode 120000 packages/cmake/module.sh create mode 100644 platforms/archer2/cmake/config.sh diff --git a/generic/cmake/build.sh b/generic/cmake/build.sh index dfc6215..1a61ddc 100755 --- a/generic/cmake/build.sh +++ b/generic/cmake/build.sh @@ -9,4 +9,4 @@ thisdir=$(readlink -f $(dirname $BASH_SOURCE)) . $thisdir/env.sh pushd $build_dir_name -cmake --build . -j $make_parallelism +cmake --build . -- -j $make_parallelism diff --git a/packages/cmake/all.sh b/packages/cmake/all.sh new file mode 120000 index 0000000..8dd9959 --- /dev/null +++ b/packages/cmake/all.sh @@ -0,0 +1 @@ +../../generic/all.sh \ No newline at end of file diff --git a/packages/cmake/build.sh b/packages/cmake/build.sh new file mode 120000 index 0000000..bf9308e --- /dev/null +++ b/packages/cmake/build.sh @@ -0,0 +1 @@ +../../generic/cmake/build.sh \ No newline at end of file diff --git a/packages/cmake/configure.sh b/packages/cmake/configure.sh new file mode 120000 index 0000000..e242f13 --- /dev/null +++ b/packages/cmake/configure.sh @@ -0,0 +1 @@ +../../generic/cmake/configure.sh \ No newline at end of file diff --git a/packages/cmake/download.sh b/packages/cmake/download.sh new file mode 100755 index 0000000..d281f63 --- /dev/null +++ b/packages/cmake/download.sh @@ -0,0 +1,23 @@ +#!/bin/bash +if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then + echo "Don't source me" + return 1 +fi +set -e + +thisdir=$(readlink -f $(dirname $BASH_SOURCE)) +. $thisdir/env.sh + +if [ -d $source_dir_name ]; then + pushd $source_dir_name + git pull --ff-only origin $version_tag + git submodule update --init --recursive + popd +else + git clone -b $version_tag --recursive https://gitlab.kitware.com/cmake/cmake.git $source_dir_name +fi + +# Ensure that if this is the first version installed, others can also +# write the package dir. (Doing this here as superbuild does the +# install during build phase, which is otherwise generic). +mkdir_gw $app_dir/$name diff --git a/packages/cmake/env.sh b/packages/cmake/env.sh new file mode 100644 index 0000000..0b50db3 --- /dev/null +++ b/packages/cmake/env.sh @@ -0,0 +1,18 @@ +if [ -z "$INSTALLER_CMAKE_ENV_SH" ]; then + INSTALLER_CMAKE_ENV_SH=1 + installer_cmake_dir=$(readlink -f $(dirname $BASH_SOURCE)) + . $installer_cmake_dir/../../env.sh + + visibility=public + name=cmake + version=3.20.1 + version_tag=v${version} + + source_dir_name=cmake-$version_tag + build_dir_name=build-cmake-$version_tag + + installer_init + + declare -A cmake_vars + cmake_vars[BUILD_TESTING]=OFF +fi diff --git a/packages/cmake/install.sh b/packages/cmake/install.sh new file mode 100755 index 0000000..690d6d5 --- /dev/null +++ b/packages/cmake/install.sh @@ -0,0 +1,14 @@ +#!/bin/bash +if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then + echo "Don't source me" + return 1 +fi +set -e +thisdir=$(readlink -f $(dirname $BASH_SOURCE)) +. $thisdir/env.sh + +pushd $build_dir_name +cmake --build . --target install + +# Make the whole prefix tree group writable +chmod -R g+w $prefix diff --git a/packages/cmake/modtemplate.tcl b/packages/cmake/modtemplate.tcl new file mode 100644 index 0000000..1aebdaa --- /dev/null +++ b/packages/cmake/modtemplate.tcl @@ -0,0 +1,4 @@ +#%Module +module-whatis "CMake-$version" + +prepend-path PATH "${prefix}/bin" diff --git a/packages/cmake/module.sh b/packages/cmake/module.sh new file mode 120000 index 0000000..28fbc69 --- /dev/null +++ b/packages/cmake/module.sh @@ -0,0 +1 @@ +../../generic/module.sh \ No newline at end of file diff --git a/platforms/archer2/cmake/config.sh b/platforms/archer2/cmake/config.sh new file mode 100644 index 0000000..963532e --- /dev/null +++ b/platforms/archer2/cmake/config.sh @@ -0,0 +1,7 @@ +# This totally wipes module setup +module restore -s PrgEnv-gnu +# Ensure our modules are available +mod_use_idem $pub_mod_dir +mod_use_idem $priv_mod_dir + +module load gcc/10.1.0 diff --git a/platforms/archer2/paraview/config.sh b/platforms/archer2/paraview/config.sh index 6134e64..9544dde 100644 --- a/platforms/archer2/paraview/config.sh +++ b/platforms/archer2/paraview/config.sh @@ -4,7 +4,7 @@ module restore -s PrgEnv-gnu mod_use_idem $pub_mod_dir mod_use_idem $priv_mod_dir -module load cmake/3.18.4 +module load cmake/3.20.1 module load gcc/10.1.0 module load python/3.8.5 module load boost/1.72.0 From 4c1f5e81aaca259bbda98dbae2dacfbbb7cc14ca Mon Sep 17 00:00:00 2001 From: Charles Gueunet Date: Mon, 30 Aug 2021 15:29:00 +0100 Subject: [PATCH 4/4] Use private visibitily to fix permission issue --- packages/paraview/env.sh | 10 +++++----- platforms/archer2/paraview/config.sh | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/paraview/env.sh b/packages/paraview/env.sh index 3b16303..8f91da9 100644 --- a/packages/paraview/env.sh +++ b/packages/paraview/env.sh @@ -1,21 +1,21 @@ if [ -z "$INSTALLER_PARAVIEW_ENV_SH" ]; then if git rev-parse --is-inside-work-tree > /dev/null 2> /dev/null; then - echo "Paraview superbuild will fail if run from inside a git repo." - echo "Please use a build directory outwith a git repo." - exit 1 + echo "Paraview superbuild will fail if run from inside a git repo." + echo "Please use a build directory outwith a git repo." + exit 1 fi INSTALLER_PARAVIEW_ENV_SH=1 installer_paraview_dir=$(readlink -f $(dirname $BASH_SOURCE)) . $installer_paraview_dir/../../env.sh - visibility=public + visibility=private name=paraview version=git version_tag=master source_dir_name=paraview-$version_tag - build_dir_name=build-$version_tag + build_dir_name=build-paraview-$version_tag installer_init diff --git a/platforms/archer2/paraview/config.sh b/platforms/archer2/paraview/config.sh index 9544dde..0786d03 100644 --- a/platforms/archer2/paraview/config.sh +++ b/platforms/archer2/paraview/config.sh @@ -8,5 +8,6 @@ module load cmake/3.20.1 module load gcc/10.1.0 module load python/3.8.5 module load boost/1.72.0 + # To let CMake find boost no bother export Boost_ROOT=$BOOST_DIR