#!/bin/sh # sit class file # # Christoph Niethammer (C) 2012 # # sit command: # PREFIX_BASE=/opt ./sit numlib/trilinos/11.4.3 # # sit command for trilinos with mpi: # PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.8.1 MPI=openmpi MPI_VERSION=1.6.5 ./sit numlib/trilinos/11.4.3 CATEGORY="numlib" PACKAGE="trilinos" VERSION="11.4.3" URL="http://trilinos.sandia.gov/" INSTALLER="Elke Flehmig " # cmake 2.8 or higher is required case $PLATFORM in hermit|hermit1) sit_fail "on hermit, trilinos is installed by cray!" ;; esac # now continue for laki module load tools/cmake/2.8.12 # Archive A and package name P A=${PACKAGE}-${VERSION}-Source.tar.gz P=${PACKAGE}-${VERSION}-Source src_configure() { cd $BUILDDIR export TRILINOS_PATH=$SRCDIR # export EXTRA_ARGS=$@ export EXTRA_ARGS="" # Each invocation of CMake caches the values of build options in a # CMakeCache.txt file. If you run CMake again without deleting the # CMakeCache.txt file, CMake won't notice any build options that have # changed, because it found their original values in the cache file. # Deleting the CMakeCache.txt file before invoking CMake will insure # that CMake learns about any build options you may have changed. # # not necessary because sit reruns clean up everything at first # rm -f CMakeCache.txt # # A sampling of CMake build options. # # CMAKE_INSTALL_PREFIX: Where to install Trilinos. # CMAKE_BUILD_TYPE: DEBUG or RELEASE. # CMAKE_CXX_COMPILER: The C++ compiler to use when building Trilinos. # CMAKE_C_COMPILER: The C compiler to use when building Trilinos. # Some parts of Trilinos are implemented in C. # CMAKE_Fortran_COMPILER: The Fortran compiler to use when building # Trilinos. Some parts of Trilinos are implemented in Fortran. # HAVE_GCC_ABI_DEMANGLE: Setting this option to ON improves # debugging messages. # CMAKE_VERBOSE_MAKEFILE: Set to OFF (or FALSE) if you prefer a quiet # build. # Trilinos_ENABLE_ALL_PACKAGES: If you like, you can build _all_ of # Trilinos, but you don't have to. # Trilinos_ENABLE_Epetra: If ON, build Epetra. # Trilinos_ENABLE_Triutils: If ON, bulid Triutils. # Trilinos_ENABLE_TESTS: If ON, build the tests for all packages that # are to be built. # Trilinos_ENABLE_EXAMPLES: If ON, build the examples for all # packages that are to be built. if [ -z "$MPI" ] ; then export CMAKE_ARGS=" -D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \ -D CMAKE_BUILD_TYPE:STRING=DEBUG \ -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ \ -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc \ -D CMAKE_Fortran_COMPILER:FILEPATH=/usr/bin/gfortran \ -D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \ -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=ON \ -D Trilinos_ENABLE_TESTS:BOOL=ON \ " else export CMAKE_ARGS=" -D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \ -D CMAKE_BUILD_TYPE:STRING=DEBUG \ -D CMAKE_CXX_COMPILER:FILEPATH=mpicxx \ -D CMAKE_C_COMPILER:FILEPATH=mpicc \ -D CMAKE_Fortran_COMPILER:FILEPATH=mpif90 \ -D HAVE_GCC_ABI_DEMANGLE:BOOL=ON \ -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=ON \ -D Trilinos_ENABLE_TESTS:BOOL=ON \ -D TPL_ENABLE_MPI:BOOL=ON \ -D MPI_BASE_DIR:PATH=/opt/mpi/$MPI/$MPI_VERSION \ " fi cmake \ ${CMAKE_ARGS} \ $EXTRA_ARGS \ ${TRILINOS_PATH} } src_pretest() { make test $MAKEOPTS }