#!/usr/bin/make -f

# Set to 1 to enable verbose mode. Debhelper will output every command it runs that modifies files on the build system.
export DH_VERBOSE=1

%:
	dh $@ --with python2 --with python3 --buildsystem=cmake --parallel

CMAKE_COMMON_OPTIONS := -DCMAKE_SKIP_RPATH=true \
			-DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) \
			-DUSE_XVFB=true \
			-DCTEST_TESTING_TIMEOUT=600 \
                        -DBUILD_TESTS=N

#### CONFIGURE ####

override_dh_auto_configure:
	# RELEASE
	for PYX in $(shell pyversions -rv) ; do \
	    mkdir -p build-$${PYX}; \
	    dh_auto_configure -a --builddirectory=build-$${PYX} -- \
	                      $(CMAKE_COMMON_OPTIONS) \
	                      -DCMAKE_BUILD_TYPE:STRING="Release" \
	                      -DPYTHON_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$${PYX}.so \
	                      -DPYTHON_INCLUDE_DIR=/usr/include/python$${PYX} \
	                      -DPYTHON_EXECUTABLE=/usr/bin/python$${PYX} ; \
	done

	for PYX in $(shell py3versions -rv) ; do \
	    mkdir -p build-$${PYX}; \
	    dh_auto_configure -a --builddirectory=build-$${PYX} -- \
	                      $(CMAKE_COMMON_OPTIONS) \
	                      -DCMAKE_BUILD_TYPE:STRING="Release" \
	                      -DPYTHON_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$${PYX}m.so \
	                      -DPYTHON_INCLUDE_DIR=/usr/include/python$${PYX}m \
	                      -DPYTHON_EXECUTABLE=/usr/bin/python$${PYX} ; \
	done
	
	# DEBUG
	for PYX in $(shell pyversions -rv) ; do \
	    mkdir -p build-$${PYX}-dbg; \
	    dh_auto_configure -a --builddirectory=build-$${PYX}-dbg -- \
	                      $(CMAKE_COMMON_OPTIONS) \
	                      -DCMAKE_BUILD_TYPE:STRING="Debug" \
	                      -DPYTHON_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$${PYX}.so \
	                      -DPYTHON_DEBUG_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$${PYX}_d.so \
	                      -DPYTHON_INCLUDE_DIR=/usr/include/python$${PYX}_d \
	                      -DPYTHON_EXECUTABLE=/usr/bin/python$${PYX}-dbg ; \
	done

	for PYX in $(shell py3versions -rv) ; do \
	    mkdir -p build-$${PYX}-dbg; \
	    dh_auto_configure -a --builddirectory=build-$${PYX}-dbg -- \
	                      $(CMAKE_COMMON_OPTIONS) \
	                      -DCMAKE_BUILD_TYPE:STRING="Debug" \
	                      -DPYTHON_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$${PYX}m.so \
	                      -DPYTHON_DEBUG_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$${PYX}dm.so \
	                      -DPYTHON_INCLUDE_DIR=/usr/include/python$${PYX}dm \
	                      -DPYTHON_EXECUTABLE=/usr/bin/python$${PYX}dm ; \
	done

#### BUILD ####

override_dh_auto_build:
	for PYX in $(shell pyversions -rv) ; do \
	    dh_auto_build -a --builddirectory=build-$${PYX}; \
	    dh_auto_build -a --builddirectory=build-$${PYX}-dbg; \
	done

#### INSTALL ####

override_dh_auto_install:
	for PYX in $(shell pyversions -rv) $(shell py3versions -rv) ; do \
	    dh_auto_install -a --builddirectory=build-$${PYX} --destdir=debian/tmp; \
	    dh_auto_install -a --builddirectory=build-$${PYX}-dbg --destdir=debian/tmp-dbg; \
	done

#### TEST ####
override_dh_auto_test:
	@echo "Skipping tests at the moment"

#### CLEAN ####
override_dh_auto_clean:
	rm -rf build-*
	- rm -rf debian/tmp
	- rm -rf debian/tmp-dbg

#### INSTALL ####
override_dh_install:
	dh_install \
		-ppython-pyside2-dbg \
		-ppython-pyside2.qtconcurrent-dbg \
		-ppython-pyside2.qtcore-dbg \
		-ppython-pyside2.qtgui-dbg \
		-ppython-pyside2.qthelp-dbg \
		-ppython-pyside2.qtnetwork-dbg \
		-ppython-pyside2.qtprintsupport-dbg \
		-ppython-pyside2.qtqml-dbg \
		-ppython-pyside2.qtquick-dbg \
		-ppython-pyside2.qtquickwidgets-dbg \
		-ppython-pyside2.qtscript-dbg \
		-ppython-pyside2.qtsql-dbg \
		-ppython-pyside2.qtsvg-dbg \
		-ppython-pyside2.qttest-dbg \
		-ppython-pyside2.qtuitools-dbg \
		-ppython-pyside2.qtwebkit-dbg \
		-ppython-pyside2.qtwebkitwidgets-dbg \
		-ppython-pyside2.qtwidgets-dbg \
		-ppython-pyside2.qtx11extras-dbg \
		-ppython-pyside2.qtxml-dbg \
		-ppython3-pyside2-dbg \
		-ppython3-pyside2.qtconcurrent-dbg \
		-ppython3-pyside2.qtcore-dbg \
		-ppython3-pyside2.qtgui-dbg \
		-ppython3-pyside2.qthelp-dbg \
		-ppython3-pyside2.qtnetwork-dbg \
		-ppython3-pyside2.qtprintsupport-dbg \
		-ppython3-pyside2.qtqml-dbg \
		-ppython3-pyside2.qtquick-dbg \
		-ppython3-pyside2.qtquickwidgets-dbg \
		-ppython3-pyside2.qtscript-dbg \
		-ppython3-pyside2.qtsql-dbg \
		-ppython3-pyside2.qtsvg-dbg \
		-ppython3-pyside2.qttest-dbg \
		-ppython3-pyside2.qtuitools-dbg \
		-ppython3-pyside2.qtwebkit-dbg \
		-ppython3-pyside2.qtwebkitwidgets-dbg \
		-ppython3-pyside2.qtwidgets-dbg \
		-ppython3-pyside2.qtx11extras-dbg \
		-ppython3-pyside2.qtxml-dbg \
	--sourcedir=debian/tmp-dbg --fail-missing
	dh_install -a --remaining-packages --fail-missing
