#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

DPKG_EXPORT_BUILDFLAGS = 1
-include /usr/share/dpkg/buildflags.mk
export LDFLAGS='-Wl,--as-needed'

# to please dpkg-shlibdeps and java private libs in /usr/lib/jni
LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):/usr/lib/jni

# required for DEB_MONO_ARCHS (debian/control.in)
-include /usr/share/mono/mono-archs.make

# Mono is not available for all Debian architectures.
ifeq ($(shell dh_listpackages | grep -q cil && echo yes),yes)
WITH_CLI = --with cli
DEB_WRAP_CSHARP = 1
# dpkg-shlibdeps needs to know where is libKitware.mummy.Runtime.Unmanaged.so
LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):/usr/lib/cli/Kitware.mummy.Runtime-1.0
else
WITH_CLI =
DEB_WRAP_CSHARP = 0
endif
export LD_LIBRARY_PATH

%:
	dh $@ $(WITH_CLI) --with python2 --parallel

PYVER 	 := $(shell pyversions -dv)
PYMODDIR := /usr/lib/$(shell pyversions -r)

CMAKE_EXTRA_FLAGS += -DCMAKE_SKIP_RPATH=ON \
		-DGDCM_NO_EXECUTABLE_PROPERTIES=ON \
		-DGDCM_BUILD_APPLICATIONS=ON \
		-DGDCM_DOCUMENTATION:BOOL=ON \
		-DGDCM_PDF_DOCUMENTATION:BOOL=OFF \
		-DGDCM_BUILD_SHARED_LIBS:BOOL=ON \
		-DGDCM_WRAP_PYTHON:BOOL=ON \
		-DGDCM_WRAP_CSHARP:BOOL=$(DEB_WRAP_CSHARP) \
		-DGDCM_WRAP_JAVA:BOOL=ON \
		-DGDCM_WRAP_PHP:BOOL=OFF \
		-DGDCM_USE_PVRG:BOOL=ON \
		-DGDCM_USE_SYSTEM_PVRG:BOOL=ON \
		-DGMCS_EXECUTABLE:FILEPATH=/usr/bin/mono-csc \
		-DGDCM_BUILD_TESTING:BOOL=OFF \
		-DGDCM_USE_SYSTEM_EXPAT:BOOL=ON \
		-DGDCM_USE_SYSTEM_UUID:BOOL=ON \
		-DGDCM_USE_SYSTEM_ZLIB:BOOL=ON \
		-DGDCM_USE_SYSTEM_OPENJPEG:BOOL=ON \
		-DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON \
		-DGDCM_USE_SYSTEM_CHARLS:BOOL=ON \
		-DGDCM_USE_SYSTEM_POPPLER:BOOL=ON \
		-DGDCM_USE_PARAVIEW:BOOL=OFF \
		-DGDCM_USE_ACTIVIZ:BOOL=ON \
		-DGDCM_USE_VTK:BOOL=ON

override_dh_auto_configure:
	dh_auto_configure -- $(CMAKE_EXTRA_FLAGS)

override_dh_install:
	dh_install --list-missing

override_dh_auto_install:
	dh_auto_install
	mv debian/tmp/usr/lib/python debian/tmp/$(PYMODDIR)
	mv debian/tmp/usr/lib/_gdcmswig.so* debian/tmp/$(PYMODDIR)/dist-packages/

override_dh_strip:
	dh_strip --dbg-package=libgdcm2.2-dbg

override_dh_clideps:
ifeq ($(DEB_WRAP_CSHARP), 1)
	dh_clideps
endif

# TODO I cannot set documentation to separate build target as man page
# depends on doc, and bin tools depends on man page
#build-indep:
#	$(MAKE) GDCMDoxygenDoc
#build-arch:
#	$(MAKE)

debian/control: debian/control.in
	sed -e"s/@PYVER@/$(PYVER)/g" -e "s/@DEB_MONO_ARCHS@/$(DEB_MONO_ARCHS)/g" $< > $@

get-orig-source:
	uscan --verbose --force-download
