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

export DPKG_GENSYMBOLS_CHECK_LEVEL=4
export LOMIRI_CONTENT_HUB_TESTING=1
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
include /usr/share/dpkg/buildflags.mk

PROJECT_DH_OPTIONS = --with click

# Disable coverage reporting, enable locally for introspecting test coverage
CONFIGURE_OPTS += -DENABLE_COVERAGE=OFF

ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
  CONFIGURE_OPTS += -DENABLE_TESTS=OFF
  DEB_BUILD_PROFILES += noinsttest
endif

ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
  CONFIGURE_OPTS += -DENABLE_DOC=OFF
endif

# Skip tests on architectures where tests are being flaky, timeout, etc.
TESTSKIP_ARCHITECTURES_QT6 := armhf
TESTSKIP_ARCHITECTURES_QT5 :=

%:
	dh $@ $(PROJECT_DH_OPTIONS)

override_dh_auto_configure:
	dh_auto_configure --builddirectory=build-qt6 --buildsystem=cmake -- $(CONFIGURE_OPTS) -DENABLE_QT6=ON  -DENABLE_DOC=OFF ..
	dh_auto_configure --builddirectory=build-qt5 --buildsystem=cmake -- $(CONFIGURE_OPTS) -DENABLE_QT6=OFF                  ..

override_dh_auto_build:
	dh_auto_build --builddirectory=build-qt6 --buildsystem=cmake ..
	dh_auto_build --builddirectory=build-qt5 --buildsystem=cmake ..

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
ifeq (,$(filter $(DEB_HOST_ARCH),$(TESTSKIP_ARCHITECTURES_QT6)))
	dh_auto_test --builddirectory=build-qt6 --buildsystem=cmake --no-parallel ..
endif
ifeq (,$(filter $(DEB_HOST_ARCH),$(TESTSKIP_ARCHITECTURES_QT5)))
	dh_auto_test --builddirectory=build-qt5 --buildsystem=cmake --no-parallel ..
endif
endif

override_dh_auto_install:
ifneq (,$(findstring nocheck,$(DEB_BUILD_PROFILES)))
	mkdir -p debian/lomiri-content-hub-testability
endif
	dh_auto_install --builddirectory=build-qt6 --buildsystem=cmake ..
	dh_auto_install --builddirectory=build-qt5 --buildsystem=cmake ..
	dh_apparmor -plomiri-content-hub-testability --profile-name=lomiri-content-hub-testability
	mkdir -p debian/tmp/var/cache/lomiri-content-hub/peers

override_dh_install:
	rmdir debian/tmp/usr/share/doc/lomiri-content-hub/qml/html/images/
	cd debian/tmp/usr/share/doc/lomiri-content-hub/cpp/html/ && rdfind -makesymlinks true -makeresultsfile false .
	cd debian/tmp/usr/share/doc/lomiri-content-hub/cpp/html/ && symlinks -rc .
	cd debian/tmp/usr/share/doc/lomiri-content-hub/qml/html/ && rdfind -makesymlinks true -makeresultsfile false .
	cd debian/tmp/usr/share/doc/lomiri-content-hub/qml/html/ && symlinks -rc .
	dh_install

override_dh_missing:
	dh_missing --fail-missing

override_dh_auto_clean:
	dh_auto_clean --builddirectory=build-qt6 --buildsystem=cmake ..
	dh_auto_clean --builddirectory=build-qt5 --buildsystem=cmake ..

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