1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
#!/usr/bin/make -f
BUILDDIR = $(CURDIR)/debian/build
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
%:
dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR) --with python3
export OMPI_MCA_plm_rsh_agent=/bin/false #workaround to start MPI-applications in chroot
disable_mpi_archs = kfreebsd-amd64 kfreebsd-i386 ia64
disable_auto_test_archs = mips64el
export LD_LIBRARY_PATH := $(CURDIR)/debian/tmp/usr/lib:$(LD_LIBRARY_PATH);
extra_flags += \
-DENABLE_OS_SPECIFIC_INSTALL:BOOL=ON \
-DENABLE_SYSTEM_CONTRIB:BOOL=ON \
-DENABLE_METIS:BOOL=OFF \
-DENABLE_MED:BOOL=OFF \
-DENABLE_TAUCS:BOOL=OFF \
-DENABLE_OSMESA:BOOL=OFF \
-DENABLE_CGNS:BOOL=ON \
-DENABLE_OCC:BOOL=ON \
-DENABLE_OCC_CAF:BOOL=ON \
-DENABLE_WRAP_PYTHON:BOOL=ON \
-DENABLE_BUILD_SHARED:BOOL=ON \
-DENABLE_BUILD_DYNAMIC:BOOL=ON \
-DENABLE_ONELAB:BOOL=ON \
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_INCLUDE_PATH:STRING="/usr/include/mpi" \
-DOCC_LIB:STRING="/usr/lib/${DEB_HOST_MULTIARCH}" │
ifeq (,$(filter $(DEB_HOST_ARCH),$(disable_mpi_archs)))
extra_flags += \
-DCMAKE_CXX_FLAGS="-DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX -lmpi -fPIC \
-Wall $(shell dpkg-buildflags --get CXXFLAGS)" \
-DENABLE_MPI:BOOL=ON
else
extra_flags += \
-DCMAKE_CXX_FLAGS="-DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX -fopenmp -fPIC \
-Wall $(shell dpkg-buildflags --get CXXFLAGS)" \
-DENABLE_MPI:BOOL=OFF
endif
override_dh_auto_clean:
rm -rf $(BUILDDIR)
rm -rf $(CURDIR)/debian/tmp
rm -f doc/texinfo/gmsh.vr
rm -f doc/texinfo/gmsh.fn
rm -f doc/texinfo/gmsh.ky
rm -f doc/texinfo/gmsh.pg
rm -f doc/texinfo/gmsh.toc
rm -f doc/texinfo/gmsh.log
rm -f doc/texinfo/gmsh.cp
rm -f doc/texinfo/gmsh.tp
rm -f doc/texinfo/gmsh.tps
rm -f doc/texinfo/gmsh.cps
rm -f doc/texinfo/gmsh.aux
rm -f doc/texinfo/gmsh.html
rm -f doc/texinfo/gmsh.pdf
rm -f doc/texinfo/gmsh.info
override_dh_auto_configure:
dh_auto_configure -- $(extra_flags)
override_dh_auto_build:
dh_auto_build
# To avoid the texi2dvi pb add LC_ALL=C
dh_auto_build -- pdf html info LC_ALL=C
override_dh_installdocs:
dh_installdocs --doc-main-package=gmsh-doc -pgmsh
dh_installdocs --doc-main-package=gmsh-doc -pgmsh-doc
dh_installdocs --doc-main-package=gmsh-doc -plibgmsh-dev
dh_installdocs --doc-main-package=gmsh-doc -plibgmsh4.1
dh_installdocs --doc-main-package=gmsh-doc -ppython3-gmsh
override_dh_auto_test:
mkdir test-dir
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
ifeq (,$(filter $(DEB_HOST_ARCH),$(disable_auto_test_archs)))
cp demos/simple_geo/transfinite.geo test-dir
cd test-dir; LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILDDIR}" $(BUILDDIR)/gmsh transfinite.geo -2 -o transfinite2d.mesh
cd test-dir; LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILDDIR}" $(BUILDDIR)/gmsh transfinite.geo -3 -o transfinite3d.mesh
cd test-dir; LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILDDIR}" $(BUILDDIR)/gmsh transfinite.geo -2 -o transfinite2d.msh
cd test-dir; LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILDDIR}" $(BUILDDIR)/gmsh transfinite.geo -3 -o transfinite3d.msh
cd test-dir; LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILDDIR}" $(BUILDDIR)/gmsh transfinite.geo -2 -o transfinite2d.stl
cd test-dir; LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILDDIR}" $(BUILDDIR)/gmsh transfinite.geo -3 -o transfinite3d.stl
cd test-dir; ls -ln;
endif
endif
rm -rf test-dir
override_dh_auto_install:
# Not able to package libgmsh-julia yet
find . -name gmsh.jl -delete
override_dh_missing-arch:
dh_missing --fail-missing
|