PETSc needs HDF5| Patched for disabling the PETSc tests of CMake

This commit is contained in:
sagitter 2019-06-28 22:29:57 +02:00
parent abc773e612
commit 895b67c621
2 changed files with 85 additions and 2 deletions

View File

@ -0,0 +1,75 @@
--- a/config/SundialsPETSc.cmake
+++ b/config/SundialsPETSc.cmake
@@ -25,49 +25,4 @@
# set PETSC_LIBRARIES
include(FindPETSc)
-# If we have the PETSC libraries, test them
-if(PETSC_LIBRARIES)
- message(STATUS "Looking for PETSc libraries...")
- # Create the PETSCTest directory
- set(PETSCTest_DIR ${PROJECT_BINARY_DIR}/PETSCTest)
- file(MAKE_DIRECTORY ${PETSCTest_DIR})
- # Create a CMakeLists.txt file
- file(WRITE ${PETSCTest_DIR}/CMakeLists.txt
- "CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2)\n"
- "PROJECT(ltest C)\n"
- "SET(CMAKE_VERBOSE_MAKEFILE ON)\n"
- "SET(CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\")\n"
- "SET(CMAKE_C_COMPILER ${MPI_C_COMPILER})\n"
- "SET(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS}\")\n"
- "SET(CMAKE_C_FLAGS_RELEASE \"${CMAKE_C_FLAGS_RELEASE}\")\n"
- "SET(CMAKE_C_FLAGS_DEBUG \"${CMAKE_C_FLAGS_DEBUG}\")\n"
- "SET(CMAKE_C_FLAGS_RELWITHDEBUGINFO \"${CMAKE_C_FLAGS_RELWITHDEBUGINFO}\")\n"
- "SET(CMAKE_C_FLAGS_MINSIZE \"${CMAKE_C_FLAGS_MINSIZE}\")\n"
- "INCLUDE_DIRECTORIES(${PETSC_INCLUDE_DIR})\n"
- "ADD_EXECUTABLE(ltest ltest.c)\n"
- "TARGET_LINK_LIBRARIES(ltest ${PETSC_LIBRARIES})\n")
- # Create a C source file which calls a PETSC function
- file(WRITE ${PETSCTest_DIR}/ltest.c
- "\#include \"petscvec.h\"\n"
- "int main(){\n"
- "Vec x;\n"
- "VecCreate(PETSC_COMM_WORLD, &x);\n"
- "return(0);\n"
- "}\n")
- # Attempt to link the "ltest" executable
- try_compile(LTEST_OK ${PETSCTest_DIR} ${PETSCTest_DIR} ltest OUTPUT_VARIABLE MY_OUTPUT)
-
- # To ensure we do not use stuff from the previous attempts,
- # we must remove the CMakeFiles directory.
- file(REMOVE_RECURSE ${PETSCTest_DIR}/CMakeFiles)
- # Process test result
- if(LTEST_OK)
- message(STATUS "Checking if PETSc works... OK")
- set(PETSC_FOUND TRUE)
- else(LTEST_OK)
- message(STATUS "Checking if PETSc works... FAILED")
- endif(LTEST_OK)
-else(PETSC_LIBRARIES)
- PRINT_WARNING("PETSC LIBRARIES NOT Found. Please check library path" "${PETSC_LIBRARY_DIR} ")
- message(STATUS "Looking for PETSc libraries... FAILED")
-endif(PETSC_LIBRARIES)
+set(PETSC_FOUND TRUE)
--- a/examples/ida/petsc/CMakeLists.txt
+++ b/examples/ida/petsc/CMakeLists.txt
@@ -19,8 +19,6 @@
# Examples using SUNDIALS linear solvers
SET(IDA_examples
- #"idaHeat2D_jac_petsc\;1\;4" # Not to be released in 2.7.0
- "idaHeat2D_kry_petsc\;1\;4\;develop"
)
IF(MPI_C_COMPILER)
--- a/examples/nvector/petsc/CMakeLists.txt
+++ b/examples/nvector/petsc/CMakeLists.txt
@@ -19,8 +19,6 @@
# Examples using SUNDIALS PETSc nvector
SET(nvector_petsc_examples
- "test_nvector_petsc\;1000 0\;\;\;" # run sequentially
- "test_nvector_petsc\;1000 0\;1\;4\;" # run 4 procs
)
# Dependencies for nvector examples

View File

@ -51,6 +51,10 @@ Patch0: %{name}-3.1.1-set_superlumt_name.patch
# This patch rename superLUMT64 library
Patch1: %{name}-3.1.1-set_superlumt64_name.patch
# PETSc libraries unrecognized for unknown reasons
# This patch disables the PETSc tests of CMake
Patch2: %{name}-disable_petsc_tests.patch
%if 0%{?with_fortran}
BuildRequires: gcc-gfortran
%endif
@ -103,6 +107,7 @@ BuildRequires: hypre-openmpi-devel
%if 0%{?with_petsc}
BuildRequires: petsc-openmpi-devel >= 3.10
BuildRequires: scalapack-openmpi-devel
BuildRequires: hdf5-openmpi-devel
%endif
Requires: openmpi%{?_isa}
@ -136,6 +141,7 @@ BuildRequires: hypre-mpich-devel
%if 0%{?with_petsc}
BuildRequires: petsc-mpich-devel >= 3.10
BuildRequires: scalapack-mpich-devel
BuildRequires: hdf5-mpich-devel
%endif
Requires: mpich%{?_isa}
%if 0%{?with_fortran}
@ -180,6 +186,8 @@ pushd sundials-%{version}
%patch0 -p0
%endif
%patch2 -p1 -b .disable_petsc_tests
##Set serial library's paths
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/nvector|g' src/nvector/serial/CMakeLists.txt
sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/nvector|g' src/nvector/openmp/CMakeLists.txt
@ -655,8 +663,7 @@ popd
%{_libdir}/libsundials_fsunlinsol*.so
%{_libdir}/libsundials_fsunnonlinsol*.so
%endif
%dir %{_includedir}/sundials
%{_includedir}/sundials/sundials_config.h
%{_includedir}/sundials/
%{_includedir}/nvector/
%{_includedir}/sunmatrix/
%{_includedir}/sunlinsol/
@ -807,6 +814,7 @@ popd
%changelog
* Wed Jun 26 2019 Antonio Trande <sagitterATfedoraproject.org> - 4.1.0-3
- Do not use curly brackets under %%files
- PETSc needs HDF5
* Thu Apr 25 2019 Antonio Trande <sagitterATfedoraproject.org> - 4.1.0-2
- Reorganization of the files