Add cmake options
This commit is contained in:
parent
2fd343076f
commit
ab30a7b3bd
36
petsc.spec
36
petsc.spec
@ -107,15 +107,13 @@
|
|||||||
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
|
%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
|
||||||
%if 0%{?el6}
|
%if 0%{?el6}
|
||||||
%bcond_with arch64
|
%bcond_with arch64
|
||||||
|
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
|
||||||
%else
|
%else
|
||||||
%bcond_without arch64
|
%bcond_without arch64
|
||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%bcond_with arch64
|
%bcond_with arch64
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?el6}
|
|
||||||
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with arch64}
|
%if %{with arch64}
|
||||||
%bcond_without blas64
|
%bcond_without blas64
|
||||||
@ -166,7 +164,7 @@ BuildRequires: blas-devel
|
|||||||
BuildRequires: lapack-devel
|
BuildRequires: lapack-devel
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: gcc, gcc-c++
|
BuildRequires: gcc, gcc-c++, cmake3
|
||||||
BuildRequires: gcc-gfortran
|
BuildRequires: gcc-gfortran
|
||||||
BuildRequires: libX11-devel
|
BuildRequires: libX11-devel
|
||||||
BuildRequires: python2-devel, python2-sphinx
|
BuildRequires: python2-devel, python2-sphinx
|
||||||
@ -412,6 +410,7 @@ CFLAGS="$CFLAGS -O3" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3" LDFLAGS="$LDF
|
|||||||
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
||||||
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
||||||
--with-default-arch=0 --with-make=1 \
|
--with-default-arch=0 --with-make=1 \
|
||||||
|
--with-cmake-exec=%{_bindir}/cmake3 --with-ctest-exec=%{_bindir}/ctest3 \
|
||||||
--with-single-library=1 \
|
--with-single-library=1 \
|
||||||
--with-precision=double \
|
--with-precision=double \
|
||||||
--with-petsc-arch=%{_arch} \
|
--with-petsc-arch=%{_arch} \
|
||||||
@ -498,6 +497,7 @@ CFLAGS="$CFLAGS -O3" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3" LDFLAGS="$LDF
|
|||||||
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
||||||
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
--FC_LINKER_FLAGS="$LDFLAGS -lgfortran" \
|
||||||
--with-default-arch=0 --with-make=1 \
|
--with-default-arch=0 --with-make=1 \
|
||||||
|
--with-cmake-exec=%{_bindir}/cmake3 --with-ctest-exec=%{_bindir}/ctest3 \
|
||||||
--with-single-library=1 \
|
--with-single-library=1 \
|
||||||
--with-precision=double \
|
--with-precision=double \
|
||||||
--with-petsc-arch=%{_arch} \
|
--with-petsc-arch=%{_arch} \
|
||||||
@ -561,6 +561,7 @@ CFLAGS="$CFLAGS -O3" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3" LDFLAGS="$LDF
|
|||||||
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran -L$MPI_LIB -lmpi_mpifh" \
|
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran -L$MPI_LIB -lmpi_mpifh" \
|
||||||
--FC_LINKER_FLAGS=" -lgfortran" \
|
--FC_LINKER_FLAGS=" -lgfortran" \
|
||||||
--with-default-arch=0 --with-make=1 \
|
--with-default-arch=0 --with-make=1 \
|
||||||
|
--with-cmake-exec=%{_bindir}/cmake3 --with-ctest-exec=%{_bindir}/ctest3 \
|
||||||
--with-single-library=1 \
|
--with-single-library=1 \
|
||||||
--with-precision=double \
|
--with-precision=double \
|
||||||
--with-petsc-arch=%{_arch} \
|
--with-petsc-arch=%{_arch} \
|
||||||
@ -674,6 +675,7 @@ CFLAGS="$CFLAGS -O3" CXXFLAGS="$CXXFLAGS -O3" FFLAGS="$FFLAGS -O3" LDFLAGS="$LDF
|
|||||||
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran -L$MPI_LIB -lmpichf90" \
|
--CC_LINKER_FLAGS="$LDFLAGS -lgfortran -L$MPI_LIB -lmpichf90" \
|
||||||
--FC_LINKER_FLAGS=" -lgfortran" \
|
--FC_LINKER_FLAGS=" -lgfortran" \
|
||||||
--with-default-arch=0 --with-make=1 \
|
--with-default-arch=0 --with-make=1 \
|
||||||
|
--with-cmake-exec=%{_bindir}/cmake3 --with-ctest-exec=%{_bindir}/ctest3 \
|
||||||
--with-single-library=1 \
|
--with-single-library=1 \
|
||||||
--with-precision=double \
|
--with-precision=double \
|
||||||
--with-petsc-arch=%{_arch} \
|
--with-petsc-arch=%{_arch} \
|
||||||
@ -954,11 +956,11 @@ export PETSC_ARCH=%{_arch}
|
|||||||
|
|
||||||
%if %{with debug}
|
%if %{with debug}
|
||||||
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
|
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
|
||||||
make -C %{name}-%{version} test MPIEXEC='%{_builddir}/%{name}-%{version}/%{name}-%{version}/bin/petscmpiexec -valgrind'
|
|
||||||
%else
|
|
||||||
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
||||||
|
make -C %{name}-%{version} test MPIEXEC='%{_builddir}/%{name}-%{version}/%{name}-%{version}/bin/petscmpiexec -valgrind'
|
||||||
|
%else
|
||||||
make -C %{name}-%{version} test
|
make -C %{name}-%{version} test
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -968,46 +970,54 @@ export PETSC_DIR=%{_builddir}/%{name}-%{version}/build64
|
|||||||
export PETSC_ARCH=%{_arch}
|
export PETSC_ARCH=%{_arch}
|
||||||
|
|
||||||
## 'make test' needs to link against -lpetsc
|
## 'make test' needs to link against -lpetsc
|
||||||
## Not elegant fix
|
## Crude fix:
|
||||||
ln -s %{_builddir}/%{name}-%{version}/build64/%{_arch}/lib/libpetsc64.so %{_builddir}/%{name}-%{version}/build64/%{_arch}/lib/libpetsc.so
|
ln -s %{_builddir}/%{name}-%{version}/build64/%{_arch}/lib/libpetsc64.so %{_builddir}/%{name}-%{version}/build64/%{_arch}/lib/libpetsc.so
|
||||||
|
|
||||||
%if %{with debug}
|
%if %{with debug}
|
||||||
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
|
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
|
||||||
make -C build64 test MPIEXEC='%{_builddir}/%{name}-%{version}/build64/bin/petscmpiexec -valgrind'
|
|
||||||
%else
|
|
||||||
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
||||||
|
make -C build64 test MPIEXEC='%{_builddir}/%{name}-%{version}/build64/bin/petscmpiexec -valgrind'
|
||||||
|
%else
|
||||||
make -C build64 test
|
make -C build64 test
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with openmpi}
|
%if %{with openmpi}
|
||||||
%{_openmpi_load}
|
%{_openmpi_load}
|
||||||
export LD_LIBRARY_PATH=$MPI_LIB:%{_libdir}:%{_builddir}/%{name}-%{version}/buildopenmpi_dir/%{_arch}/lib
|
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/buildopenmpi_dir/%{_arch}/lib
|
||||||
export PETSC_DIR=%{_builddir}/%{name}-%{version}/buildopenmpi_dir
|
export PETSC_DIR=%{_builddir}/%{name}-%{version}/buildopenmpi_dir
|
||||||
export PETSC_ARCH=%{_arch}
|
export PETSC_ARCH=%{_arch}
|
||||||
export MPI_INTERFACE_HOSTNAME=localhost
|
export MPI_INTERFACE_HOSTNAME=localhost
|
||||||
|
%if %{with debug}
|
||||||
|
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
|
||||||
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
||||||
|
make -C buildopenmpi_dir test MPIEXEC='%{_builddir}/%{name}-%{version}/buildopenmpi_dir/bin/petscmpiexec -valgrind'
|
||||||
|
%else
|
||||||
make -C buildopenmpi_dir test
|
make -C buildopenmpi_dir test
|
||||||
|
%endif
|
||||||
%{_openmpi_unload}
|
%{_openmpi_unload}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
%if 0%{?fedora} || 0%{?rhel} >= 7
|
||||||
%if %{with mpich}
|
%if %{with mpich}
|
||||||
%{_mpich_load}
|
%{_mpich_load}
|
||||||
export LD_LIBRARY_PATH=$MPI_LIB:%{_libdir}:%{_builddir}/%{name}-%{version}/buildmpich_dir/%{_arch}/lib
|
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/buildmpich_dir/%{_arch}/lib
|
||||||
export PETSC_DIR=%{_builddir}/%{name}-%{version}/buildmpich_dir
|
export PETSC_DIR=%{_builddir}/%{name}-%{version}/buildmpich_dir
|
||||||
export PETSC_ARCH=%{_arch}
|
export PETSC_ARCH=%{_arch}
|
||||||
export MPI_INTERFACE_HOSTNAME=localhost
|
export MPI_INTERFACE_HOSTNAME=localhost
|
||||||
|
%if %{with debug}
|
||||||
|
export PETSCVALGRIND_OPTIONS=" --tool=memcheck --leak-check=yes --track-origins=yes"
|
||||||
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
export CXXFLAGS="-O0 -g -Wl,-z,now -fPIC"
|
||||||
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
export FFLAGS="-O0 -g -Wl,-z,now -fPIC -I%{_libdir}/gfortran/modules"
|
||||||
|
make -C buildmpich_dir test MPIEXEC='%{_builddir}/%{name}-%{version}/buildmpich_dir/bin/petscmpiexec -valgrind'
|
||||||
|
%else
|
||||||
make -C buildmpich_dir test
|
make -C buildmpich_dir test
|
||||||
|
%endif
|
||||||
%{_mpich_unload}
|
%{_mpich_unload}
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
Loading…
Reference in New Issue
Block a user