| 1 |
#!/usr/bin/make -f
|
| 2 |
# export DH_VERBOSE=1
|
| 3 |
|
| 4 |
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
| 5 |
|
| 6 |
# to please dpkg-shlibdeps and java private libs in /usr/lib/jni
|
| 7 |
LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):/usr/lib/jni
|
| 8 |
|
| 9 |
# PHP5 extensions dir:
|
| 10 |
PHP_EX=$(shell /usr/bin/php-config5 --extension-dir)
|
| 11 |
|
| 12 |
# required for DEB_MONO_ARCHS (debian/control.in)
|
| 13 |
-include /usr/share/mono/mono-archs.make
|
| 14 |
|
| 15 |
# Mono is not available for all Debian architectures.
|
| 16 |
ifeq ($(shell dh_listpackages | grep -q cil && echo yes),yes)
|
| 17 |
WITH_CLI = --with cli
|
| 18 |
DEB_WRAP_CSHARP = 1
|
| 19 |
# dpkg-shlibdeps needs to know where is libKitware.mummy.Runtime.Unmanaged.so
|
| 20 |
LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):/usr/lib/cli/Kitware.mummy.Runtime-1.0
|
| 21 |
else
|
| 22 |
WITH_CLI =
|
| 23 |
DEB_WRAP_CSHARP = 0
|
| 24 |
endif
|
| 25 |
export LD_LIBRARY_PATH
|
| 26 |
|
| 27 |
# deduce documentation option (build-indep target)
|
| 28 |
ifeq "" "$(filter %-doc,$(shell dh_listpackages))"
|
| 29 |
BUILDDOC = OFF
|
| 30 |
else
|
| 31 |
BUILDDOC = ON
|
| 32 |
endif
|
| 33 |
|
| 34 |
%:
|
| 35 |
dh $@ $(WITH_CLI) --with python2 --with javahelper --parallel
|
| 36 |
|
| 37 |
PYVER := $(shell pyversions -dv)
|
| 38 |
PYMODDIR := /usr/lib/$(shell pyversions -r)
|
| 39 |
VTKVERS=$(shell apt-cache policy libvtk5-dev | grep "Installed:" | cut -d: -f2 | cut -d' ' -f2 | cut -d- -f1 | cut -d. -f1-2)
|
| 40 |
|
| 41 |
# GDCM_DOCUMENTATION:BOOL=ON is required to build man page (build target)
|
| 42 |
# Need to make sure to build using the same vtk/python version:
|
| 43 |
CMAKE_EXTRA_FLAGS += -DCMAKE_SKIP_RPATH=ON \
|
| 44 |
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
|
| 45 |
-DGDCM_NO_EXECUTABLE_PROPERTIES=ON \
|
| 46 |
-DGDCM_BUILD_APPLICATIONS=ON \
|
| 47 |
-DGDCM_DOCUMENTATION:BOOL=ON \
|
| 48 |
-DGDCM_VTK_DOCUMENTATION:BOOL=$(BUILDDOC) \
|
| 49 |
-DDOCUMENTATION_DOWNLOAD_VTK_TAGFILE:BOOL=OFF \
|
| 50 |
-DGDCM_PDF_DOCUMENTATION:BOOL=$(BUILDDOC) \
|
| 51 |
-DGDCM_BUILD_SHARED_LIBS:BOOL=ON \
|
| 52 |
-DGDCM_WRAP_PYTHON:BOOL=ON \
|
| 53 |
-DGDCM_WRAP_CSHARP:BOOL=$(DEB_WRAP_CSHARP) \
|
| 54 |
-DGDCM_WRAP_JAVA:BOOL=ON \
|
| 55 |
-DGDCM_WRAP_PHP:BOOL=ON \
|
| 56 |
-DGDCM_USE_PVRG:BOOL=ON \
|
| 57 |
-DGDCM_USE_SYSTEM_PVRG:BOOL=ON \
|
| 58 |
-DGMCS_EXECUTABLE:FILEPATH=/usr/bin/mono-csc \
|
| 59 |
-DGDCM_BUILD_TESTING:BOOL=OFF \
|
| 60 |
-DGDCM_USE_SYSTEM_EXPAT:BOOL=ON \
|
| 61 |
-DGDCM_USE_SYSTEM_UUID:BOOL=ON \
|
| 62 |
-DGDCM_USE_SYSTEM_ZLIB:BOOL=ON \
|
| 63 |
-DGDCM_USE_SYSTEM_OPENJPEG:BOOL=ON \
|
| 64 |
-DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON \
|
| 65 |
-DGDCM_USE_SYSTEM_CHARLS:BOOL=ON \
|
| 66 |
-DGDCM_USE_SYSTEM_POPPLER:BOOL=ON \
|
| 67 |
-DGDCM_USE_PARAVIEW:BOOL=OFF \
|
| 68 |
-DGDCM_USE_ACTIVIZ:BOOL=ON \
|
| 69 |
-DPYTHON_INCLUDE_DIR:PATH=/usr/include/python2.7 \
|
| 70 |
-DPYTHON_LIBRARY:FILEPATH=/usr/lib/python2.7/config/libpython2.7.so \
|
| 71 |
-DGDCM_INSTALL_DOC_DIR:STRING=share/doc/gdcm-doc \
|
| 72 |
-DTAGFILES:STRING="/usr/share/doc/vtk-doc/html/vtk$(VTKVERS).tag=/usr/share/doc/vtk-doc/html/" \
|
| 73 |
-DGDCM_USE_VTK:BOOL=ON
|
| 74 |
|
| 75 |
override_dh_auto_configure:
|
| 76 |
dh_auto_configure -- $(CMAKE_EXTRA_FLAGS)
|
| 77 |
|
| 78 |
override_dh_install-arch:
|
| 79 |
dh_install --list-missing
|
| 80 |
|
| 81 |
override_dh_auto_install:
|
| 82 |
# See #664188
|
| 83 |
sed -i -e "s/FATAL_ERROR/STATUS/g" obj-*/CMake/ExportConfiguration/CMakeFiles/Export/lib/gdcm-2.2/GDCMTargets-relwithdebinfo.cmake
|
| 84 |
dh_auto_install
|
| 85 |
# PHP
|
| 86 |
mkdir -p debian/tmp/$(PHP_EX)
|
| 87 |
mkdir -p debian/tmp/usr/share/php
|
| 88 |
mv debian/tmp/usr/lib/gdcm.php debian/tmp/usr/share/php
|
| 89 |
mv debian/tmp/usr/lib/gdcm.so debian/tmp/$(PHP_EX)
|
| 90 |
mv debian/tmp/usr/lib/vtkgdcm.php debian/tmp/usr/share/php
|
| 91 |
mv debian/tmp/usr/lib/vtkgdcm.so debian/tmp/$(PHP_EX)
|
| 92 |
echo "php:Depends=phpapi-`php-config5 --phpapi`" >> debian/php5-gdcm.substvars
|
| 93 |
echo "php:Depends=phpapi-`php-config5 --phpapi`" >> debian/php5-vtkgdcm.substvars
|
| 94 |
# Python
|
| 95 |
mv debian/tmp/usr/lib/python debian/tmp/$(PYMODDIR)
|
| 96 |
mv debian/tmp/usr/lib/_gdcmswig.so* debian/tmp/$(PYMODDIR)/dist-packages/
|
| 97 |
|
| 98 |
override_dh_strip:
|
| 99 |
dh_strip --dbg-package=libgdcm2.2-dbg
|
| 100 |
|
| 101 |
override_dh_clideps:
|
| 102 |
ifeq ($(DEB_WRAP_CSHARP), 1)
|
| 103 |
dh_clideps
|
| 104 |
endif
|
| 105 |
|
| 106 |
# Let's be smart with building doc
|
| 107 |
override_dh_auto_build-indep:
|
| 108 |
-$(MAKE) -C obj-* vtkgdcmDoxygenDoc
|
| 109 |
|
| 110 |
# No tests needed for docs
|
| 111 |
override_dh_auto_test-indep:
|
| 112 |
|
| 113 |
pkg_doc = gdcm-doc
|
| 114 |
pkg_exa = gdcm-examples
|
| 115 |
|
| 116 |
override_dh_compress:
|
| 117 |
# do not compress .map file for doxygen graph
|
| 118 |
dh_compress -X.map -X.pdf
|
| 119 |
|
| 120 |
# TODO I cannot set documentation to separate build target as man page
|
| 121 |
# depends on doc, and bin tools depends on man page
|
| 122 |
#build-indep:
|
| 123 |
# $(MAKE) GDCMDoxygenDoc
|
| 124 |
#build-arch:
|
| 125 |
# $(MAKE)
|
| 126 |
|
| 127 |
debian/control: debian/control.in
|
| 128 |
sed -e"s/@PYVER@/$(PYVER)/g" -e "s/@DEB_MONO_ARCHS@/$(DEB_MONO_ARCHS)/g" $< > $@
|
| 129 |
|
| 130 |
get-orig-source:
|
| 131 |
uscan --verbose --force-download --rename
|