#!/usr/bin/make -f

# Set this value to 0/1 to turn off/on verbose mode.
export DH_VERBOSE=0

ABI_VERSION := 4

DEB_BUILDDIR := obj-$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

DEB_CMAKE_EXTRA_FLAGS = \
              -DCMAKE_INSTALL_PREFIX:PATH=/usr \
              -DCMAKE_BUILD_TYPE:STRING=Release \
              -DCMAKE_CXX_FLAGS="-Wno-deprecated $(CXXFLAGS)" \
              -DCMAKE_VERBOSE_MAKEFILE=$(DH_VERBOSE) \
              -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed $(LDFLAGS)" \
              -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed $(LDFLAGS)" \
              -DCMAKE_SKIP_RPATH:BOOL=ON \
              -DIGSTK_WITH_LIBRARY_VERSION:BOOL=ON \
              -DIGSTK_DEVELOPMENT_VERSION:BOOL=ON \
              -DIGSTK_BUILD_EXAMPLES:BOOL=OFF \
              -DIGSTK_BUILD_TESTING:BOOL=ON \
              -DCMAKE_BUILD_TYPE:STRING=Release \
              -DIGSTK_USE_Qt:BOOL=ON \
              -DIGSTK_USE_FLTK:BOOL=ON \
              -DIGSTK_USE_OpenIGTLink:BOOL=ON \
              -DIGSTK_USE_OpenCV:BOOL=OFF \
              -DIGSTK_USE_MicronTracker:BOOL=OFF \
              -DBUILD_SHARED_LIBS:BOOL=ON \
              -DBUILD_DOCUMENTATION:BOOL=ON \
              -DQT_MOC_EXECUTABLE:PATH=/usr/bin/moc-qt4 \
              -DQT_UIC_EXECUTABLE:PATH=/usr/bin/uic-qt4 \
              -DQT_QMAKE_EXECUTABLE:PATH=/usr/bin/qmake

# if using precompiled static library provided by Claron Tech.:
#              -DIGSTK_USE_MicronTracker:BOOL=ON \
#              -DMTC_INCLUDE_DIRECTORY:PATH=/tmp/MTC/Dist \
#              -DMTC_LIBRARY:PATH=/tmp/MTC/Dist \ 
# TODO: /usr/bin/ld: cannot find -lMTC \

%:
	dh $@ --parallel

override_dh_auto_configure:
	dh_auto_configure -- $(DEB_CMAKE_EXTRA_FLAGS)

override_dh_auto_build-indep:
	mkdir -p $(DEB_BUILDDIR)/Utilities/Doxygen/doc/html
	$(MAKE) Documentation -C $(DEB_BUILDDIR)

override_dh_install-arch:
	dh_install
	## libigstk${ABI_VERSION}-dev ##
	dh_install -plibigstk${ABI_VERSION}-dev    debian/tmp/usr/include/IGSTK/*                       usr/include/IGSTK
#	dh_install -plibigstk${ABI_VERSION}-dev    ../../Utilities/SceneGraphVisualization/igstk*.h     usr/include/IGSTK
	#
	# install libs and *cmake files
	dh_install -plibigstk${ABI_VERSION}-dev    debian/tmp/usr/lib/IGSTK/*.so                        usr/lib
	dh_install -plibigstk${ABI_VERSION}-dev    debian/tmp/usr/lib/IGSTK/*.cmake                     usr/lib/IGSTK
	#
	## libigstk${ABI_VERSION} ##
	dh_install -plibigstk${ABI_VERSION}        debian/tmp/usr/lib/IGSTK/*.so.*                      usr/lib

override_dh_install-indep:
        # remove zero byte files
	find $(DEB_BUILDDIR)/Utilities/Doxygen/doc/ -depth -empty | xargs rm -rf
	#
	dh_install -pigstk-doc      $(DEB_BUILDDIR)/Utilities/Doxygen/doc/html       usr/share/doc/igstk-doc

override_dh_installexamples-indep:
	dh_installexamples -pigstk-examples Examples/*
	# remove executable file mode bit
	[ -d debian/igstk-examples ] && \
	find debian/igstk-examples/usr/share/doc/igstk-examples/examples \
            -type f -exec chmod 644 \{\} \;

override_dh_auto_test:
	# perform tests ('-' ignores return values)
	- cd $(DEB_BUILDDIR) && LD_LIBRARY_PATH=`pwd`/bin:$$LD_LIBRARY_PATH /usr/bin/xvfb-run -a /usr/bin/ctest -VV

override_dh_strip:
	dh_strip --dbg-package=libigstk${ABI_VERSION}-dbg

