#!/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

# to please dpkg-shlibdeps and java private libs in /usr/lib/jni
export LD_LIBRARY_PATH+=:/usr/lib/jni

# 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
else
WITH_CLI =
DEB_WRAP_CSHARP = 0
endif

%:
	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_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_VTK_JAVA_JAR:FILEPATH=/usr/share/java/vtk.jar \
		-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)

override_dh_strip:
	dh_strip --dbg-package=libgdcm2.0-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)
