trilinos; version 13.x support added

This commit is contained in:
2023-11-14 15:07:03 +01:00
parent cfced7ddb8
commit 2ab0509dfa

View File

@@ -1,9 +1,9 @@
#!/usr/bin/env modbuild
pbuild::set_download_url \
"https://github.com/$P/$P/tarball/$P-release-${V//./-}" \
"https://github.com/trilinos/Trilinos/archive/refs/tags/$P-release-${V_PKG//./-}.tar.gz" \
"$P-${V_PKG}.tar.gz"
# https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-13-4-0.tar.gz
pbuild::set_sha256sum \
"trilinos-12.12.1.tar.gz:c8f2029fa36230b9f384c56139aaa33111227bcf653e73f7daf3c9efdecc1d2d"
@@ -28,59 +28,99 @@ pbuild::configure() {
config_args+=( "-DLAPACK_INCLUDE_DIRS:PATH=${LAPACK_INCLUDE_DIRS}" )
config_args+=( "-DLAPACK_LIBRARY_NAMES:STRING=${LAPACK_LIBRARY_NAMES}" )
fi
if (( V_MAJOR == 12 && V_MINOR >= 12)); then
config_args+=( "-DTrilinos_ENABLE_SEACAS:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_OpenMP:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Serial:BOOL=ON" )
config_args+=( "-DKokkos_ENABLE_OpenMP:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Pthread:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Cuda:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Cuda_UVM:BOOL=OFF" )
config_args+=( "-DTpetra_INST_SERIAL:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_TESTS:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_MueLu:BOOL=ON" )
fi
PARMETIS_INCLUDE_DIRS="${PARMETIS_PREFIX}/include"
PARMETIS_LIBRARIES="${PARMETIS_PREFIX}/lib/libparmetis.a"
METIS_INCLUDE_DIRS="${PARMETIS_PREFIX}/include/metis"
METIS_LIBRARIES="${PARMETIS_PREFIX}/lib/libmetis.a"
if pbuild::version_lt 12.12.0; then
config_args+=( "-DTPL_ENABLE_DLlib:BOOL=OFF" )
config_args+=( "-DTPL_ENABLE_QT:BOOL=OFF" )
config_args+=( "-DTPL_ENABLE_MPI:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_BLAS:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_LAPACK:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_METIS:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_ParMETIS:BOOL=ON" )
config_args+=( "-DTPL_METIS_INCLUDE_DIRS:PATH=$METIS_INCLUDE_DIRS" )
config_args+=( "-DTPL_METIS_LIBRARIES:PATH=$METIS_LIBRARIES" )
config_args+=( "-DTPL_ParMETIS_INCLUDE_DIRS:PATH=$PARMETIS_INCLUDE_DIRS" )
config_args+=( "-DTPL_ParMETIS_LIBRARIES:PATH=$PARMETIS_LIBRARIES" )
config_args+=( "-DTrilinos_ENABLE_Amesos:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Amesos2:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_AztecOO:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Belos:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Epetra:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_EpetraExt:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Galeri:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Ifpack:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Isorropia:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_ML:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_MueLu:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_NOX:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Optika:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_Teuchos:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Tpetra:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_TESTS:BOOL=OFF" )
elif pbuild::version_ge 12.12.0; then
config_args+=( "-DGtest_SKIP_INSTALL:BOOL=ON" )
config_args+=( "-DMueLu_ENABLE_Kokkos_Refactor:STRING=ON" )
config_args+=( "-DMueLu_ENABLE_Kokkos_Refactor_Use_By_Default:STRING=ON" )
config_args+=( "-DTpetra_ENABLE_DEPRECATED_CODE:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON" )
config_args+=( "-DTpetra_ENABLE_TESTS:BOOL=OFF" )
config_args+=( "-DTpetra_ENABLE_EXAMPLES:BOOL=OFF" )
config_args+=( "-DTpetra_INST_INT_INT:BOOL=OFF" )
config_args+=( "-DTpetra_INST_INT_LONG:BOOL=ON" )
config_args+=( "-DTpetra_INST_INT_LONG_LONG:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Serial:BOOL=ON" )
config_args+=( "-DKokkos_ENABLE_OpenMP:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Pthread:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Cuda:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Cuda_UVM:BOOL=OFF" )
config_args+=( "-DKokkos_ENABLE_Cuda_Lambda:BOOL=OFF" )
config_args+=( "-DTpetra_INST_SERIAL:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_DLlib:BOOL=OFF" )
config_args+=( "-DTPL_ENABLE_QT:BOOL=OFF" )
config_args+=( "-DTPL_ENABLE_MPI:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_BLAS:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_LAPACK:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_METIS:BOOL=ON" )
config_args+=( "-DTPL_ENABLE_ParMETIS:BOOL=ON" )
config_args+=( "-DTPL_METIS_INCLUDE_DIRS:PATH=$METIS_INCLUDE_DIRS" )
config_args+=( "-DTPL_METIS_LIBRARIES:PATH=$METIS_LIBRARIES" )
config_args+=( "-DTPL_ParMETIS_INCLUDE_DIRS:PATH=$PARMETIS_INCLUDE_DIRS" )
config_args+=( "-DTPL_ParMETIS_LIBRARIES:PATH=$PARMETIS_LIBRARIES" )
config_args+=( "-DTrilinos_ENABLE_SEACAS:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_OpenMP:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_MueLu:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Amesos:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Amesos2:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_AztecOO:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Belos:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Epetra:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_EpetraExt:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Galeri:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Ifpack:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Isorropia:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_ML:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_MueLu:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_NOX:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Optika:BOOL=OFF" )
config_args+=( "-DTrilinos_ENABLE_Teuchos:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_Tpetra:BOOL=ON" )
config_args+=( "-DTrilinos_ENABLE_TESTS:BOOL=OFF" )
fi
cmake \
-D CMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_INSTALL_PREFIX:PATH=$PREFIX \
-DCMAKE_CXX_FLAGS:STRING="-DMPICH_IGNORE_CXX_SEEK -fPIC" \
-DCMAKE_C_FLAGS:STRING="-DMPICH_IGNORE_CXX_SEEK -fPIC" \
-DCMAKE_CXX_STANDARD:STRING="11" \
-DCMAKE_CXX_STANDARD:STRING="14" \
-DCMAKE_Fortran_FLAGS:STRING="-fPIC" \
-DTPL_ENABLE_DLlib:BOOL=OFF \
-DTPL_ENABLE_QT:BOOL=OFF \
-DTPL_ENABLE_MPI:BOOL=ON \
-DTPL_ENABLE_BLAS:BOOL=ON \
-DTPL_ENABLE_LAPACK:BOOL=ON \
-DTPL_ENABLE_METIS:BOOL=ON \
-DTPL_ENABLE_ParMETIS:BOOL=ON \
-DTPL_METIS_INCLUDE_DIRS:PATH=$METIS_INCLUDE_DIRS \
-DTPL_METIS_LIBRARIES:PATH=$METIS_LIBRARIES \
-DTPL_ParMETIS_INCLUDE_DIRS:PATH=$PARMETIS_INCLUDE_DIRS \
-DTPL_ParMETIS_LIBRARIES:PATH=$PARMETIS_LIBRARIES \
-DTrilinos_ENABLE_Amesos:BOOL=ON \
-DTrilinos_ENABLE_Amesos2:BOOL=ON \
-DTrilinos_ENABLE_AztecOO:BOOL=ON \
-DTrilinos_ENABLE_Belos:BOOL=ON \
-DTrilinos_ENABLE_Epetra:BOOL=ON \
-DTrilinos_ENABLE_EpetraExt:BOOL=ON \
-DTrilinos_ENABLE_Galeri:BOOL=ON \
-DTrilinos_ENABLE_Ifpack:BOOL=ON \
-DTrilinos_ENABLE_Isorropia:BOOL=ON \
-DTrilinos_ENABLE_ML:BOOL=ON \
-DTrilinos_ENABLE_MueLu:BOOL=ON \
-DTrilinos_ENABLE_NOX:BOOL=ON \
-DTrilinos_ENABLE_Optika:BOOL=OFF \
-DTrilinos_ENABLE_Teuchos:BOOL=ON \
-DTrilinos_ENABLE_Tpetra:BOOL=ON \
-DTrilinos_ENABLE_TESTS:BOOL=OFF \
"${config_args[@]}" \
"${SRC_DIR}" || exit 1
}