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/packages/paraview/env.sh b/packages/paraview/env.sh index 07782cd..193694a 100644 --- a/packages/paraview/env.sh +++ b/packages/paraview/env.sh @@ -1,22 +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=5.9.0 - version_tag=v${version} - numpy_version=1.19.2 + version=git + version_tag=master source_dir_name=paraview-$version_tag - build_dir_name=build-$version_tag + build_dir_name=build-paraview-$version_tag declare -A cmake_vars @@ -24,7 +23,8 @@ if [ -z "$INSTALLER_PARAVIEW_ENV_SH" ]; then 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[USE_SYSTEM_boost]=ON @@ -33,6 +33,9 @@ if [ -z "$INSTALLER_PARAVIEW_ENV_SH" ]; then 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[ENABLE_gdal]=ON cmake_vars[USE_SYSTEM_zlib]=ON 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..0786d03 100644 --- a/platforms/archer2/paraview/config.sh +++ b/platforms/archer2/paraview/config.sh @@ -4,9 +4,10 @@ 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 + # To let CMake find boost no bother export Boost_ROOT=$BOOST_DIR