#!/usr/bin/make -f
# -*- makefile -*-

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

include /usr/share/dpkg/architecture.mk

# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

export QT_SELECT := 5

BUILDHOME=$(CURDIR)/debian/build
QT5_BUILDDIR=build-qt5
QT5_DESTDIR=$(CURDIR)/debian/tmp-qt5
QT6_BUILDDIR=build-qt6
QT6_DESTDIR=$(CURDIR)/debian/tmp-qt6

override_dh_clean:
	dh_clean
	rm -f results.txt
	rm -rfv $(BUILDHOME)
	rm -rfv $(QT5_BUILDDIR) $(QT5_DESTDIR)
	rm -rfv $(QT6_BUILDDIR) $(QT6_DESTDIR)

override_dh_auto_configure:
	dh_auto_configure --builddirectory=$(QT5_BUILDDIR) --buildsystem=cmake -- -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$(DEB_HOST_MULTIARCH) -DENABLE_QT6=OFF -DENABLE_SERVICES=ON  -DENABLE_UBUNTU_COMPAT=ON  -DBUILD_TESTING=ON -DENABLE_DOC=ON
	dh_auto_configure --builddirectory=$(QT6_BUILDDIR) --buildsystem=cmake -- -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/$(DEB_HOST_MULTIARCH) -DENABLE_QT6=ON  -DENABLE_SERVICES=ON  -DENABLE_UBUNTU_COMPAT=OFF -DBUILD_TESTING=ON -DENABLE_DOC=ON

override_dh_auto_build:
	dh_auto_build --builddirectory=$(QT5_BUILDDIR) --buildsystem=cmake
	dh_auto_build --builddirectory=$(QT6_BUILDDIR) --buildsystem=cmake

override_dh_auto_test:
	mkdir -p $(BUILDHOME)
	HOME=$(BUILDHOME) xvfb-run -a dh_auto_test --builddirectory=$(QT5_BUILDDIR) --buildsystem=cmake
	HOME=$(BUILDHOME) xvfb-run -a dh_auto_test --builddirectory=$(QT6_BUILDDIR) --buildsystem=cmake

override_dh_auto_install:
	dh_auto_install --builddirectory=$(QT5_BUILDDIR) --buildsystem=cmake --destdir=$(QT5_DESTDIR)
	dh_auto_install --builddirectory=$(QT6_BUILDDIR) --buildsystem=cmake --destdir=$(QT6_DESTDIR)
	rm -v $(QT5_DESTDIR)/usr/lib/*/libldm-priv-common.so
	rm -v $(QT6_DESTDIR)/usr/lib/*/libldm-priv-common-qt6.so

override_dh_auto_clean:
	dh_auto_clean --builddirectory=$(QT5_BUILDDIR) --buildsystem=cmake
	dh_auto_clean --builddirectory=$(QT6_BUILDDIR) --buildsystem=cmake

override_dh_install:
	# These are the same as the Qt5 ones, not bothering
	# (we built with docs so manpages are built)
	rm -rv $(QT6_DESTDIR)/usr/share/doc/lomiri-download-manager/cpp
	rm -rv $(QT6_DESTDIR)/usr/share/doc/lomiri-download-manager/qml
	rmdir $(QT6_DESTDIR)/usr/share/doc/lomiri-download-manager
	rmdir $(QT6_DESTDIR)/usr/share/doc
	dh_install --sourcedir=$(QT6_DESTDIR) \
		-plibldm-common-qt6-0 \
		-plibldm-common-qt6-dev \
		-plibldm-priv-common-qt6-0 \
		-pliblomiri-download-manager-client-qt6-0 \
		-pliblomiri-download-manager-client-qt6-dev \
		-pliblomiri-download-manager-common-qt6-0 \
		-pliblomiri-download-manager-common-qt6-dev \
		-pliblomiri-upload-manager-common-qt6-0 \
		-pliblomiri-upload-manager-common-qt6-dev \
		-plomiri-download-manager-qt6 \
		-plomiri-upload-manager-qt6 \
		-pqml6-module-lomiri-downloadmanager
	# liblomiri-download-manager-client-doc
	mkdir -p "$(QT5_DESTDIR)/usr/share/doc/liblomiri-download-manager-client-doc/"
	mv $(QT5_DESTDIR)/usr/share/doc/lomiri-download-manager/cpp/* $(QT5_DESTDIR)/usr/share/doc/liblomiri-download-manager-client-doc/
	find "$(QT5_DESTDIR)/usr/share/doc/liblomiri-download-manager-client-doc/" -name *.md5 -delete
	rdfind -makesymlinks true "$(QT5_DESTDIR)/usr/share/doc/liblomiri-download-manager-client-doc/"
	symlinks -rc "$(QT5_DESTDIR)/usr/share/doc/liblomiri-download-manager-client-doc/"
	# qml-module-lomiri-downloadmanager
	mkdir -p "$(QT5_DESTDIR)/usr/share/doc/qml-module-lomiri-downloadmanager-doc/"
	mv $(QT5_DESTDIR)/usr/share/doc/lomiri-download-manager/qml/* $(QT5_DESTDIR)/usr/share/doc/qml-module-lomiri-downloadmanager-doc/
	find "$(QT5_DESTDIR)/usr/share/doc/qml-module-lomiri-downloadmanager-doc/" -name *.md5 -delete
	rdfind -makesymlinks true "$(QT5_DESTDIR)/usr/share/doc/qml-module-lomiri-downloadmanager-doc/"
	symlinks -rc "$(QT5_DESTDIR)/usr/share/doc/qml-module-lomiri-downloadmanager-doc/"
	# this directory is empty...
	rmdir $(QT5_DESTDIR)/usr/share/doc/qml-module-lomiri-downloadmanager-doc/html/images/
	dh_install --sourcedir=$(QT5_DESTDIR) --remaining-packages

override_dh_missing:
	dh_missing --fail-missing --sourcedir=$(QT5_DESTDIR)
	dh_missing --fail-missing --sourcedir=$(QT6_DESTDIR)

# Add migrations add-on when build on Ubuntu & original name is available.
DH_MIGRATIONS = $(shell type dh_migrations >/dev/null 2>&1 && echo "--with migrations")

%:
	dh $@ $(DH_MIGRATIONS)

override_dh_installdeb:
	dh_apparmor --profile-name=usr.lib.lomiri-download-manager.ldm-extractor -plomiri-download-manager
	dh_installdeb

override_dh_installchangelogs:
	dh_installchangelogs NEWS

get-orig-source:
	uscan --noconf --force-download --rename --download-current-version --destdir=..
