#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS   := $(shell dpkg-buildflags --get CPPFLAGS) $(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) $(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS  := $(shell dpkg-buildflags --get LDFLAGS)

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

DEB_VERSION := $(shell dpkg-parsechangelog -S Version)
DEB_NOEPOCH_VERSION := $(shell echo $(DEB_VERSION) | cut -d: -f2-)
DEB_UPSTREAM_VERSION := $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//')
DEB_STRIPPED_UPSTREAM_VERSION = $(shell echo $(DEB_UPSTREAM_VERSION) | sed -e 's/[\.\+]dfsg.*$$//' )

# upstream script generate_version_file.cmake uses leading v
# use with tweak version 0 to trigger a short upstream version
NETGEN_VERSION = v$(DEB_STRIPPED_UPSTREAM_VERSION)-0

PY3DEF := $(shell py3versions -dv | sed "s/\.//")

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

export MACHINE=LINUX

extra_flags += \
	-DNETGEN_VERSION_GIT=$(NETGEN_VERSION) \
	-DNG_INSTALL_DIR_INCLUDE:PATH=include/netgen \
	-DPREFER_SYSTEM_PYBIND11=ON \
	-DBUILD_STUB_FILES=OFF \
	-DUSE_OCC:BOOL=ON \
	-DUSE_JPEG:BOOL=ON \
	-DUSE_MPEG:BOOL=ON \
	-DUSE_SUPERBUILD:BOOL=OFF \
	-DUSE_NATIVE_ARCH:BOOL=OFF \
	-DUSE_MPI:BOOL=ON \
	-DENABLE_UNIT_TESTS=ON \
	-DCMAKE_BUILD_TYPE=RelWithDebInfo \
	-DCMAKE_SKIP_RPATH=ON

execute_after_dh_clean:
	rm -rf tests/pytest/__pycache__ tests/pytest/.pytest_cache tests/pytest/test*.vol

override_dh_auto_configure:
	dh_auto_configure -- $(extra_flags)
	sed -i s/DEB_HOST_MULTIARCH/${DEB_HOST_MULTIARCH}/ debian/netgen.desktop

override_dh_auto_test:
	dh_auto_install
	cd tests/pytest && \
          PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-packages \
          LD_LIBRARY_PATH=$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) \
          python3 -m pytest

execute_after_dh_python3-arch:
	for pylib in libngpy libngguipy; do \
	  pylib_dh=`basename debian/python3-netgen/usr/lib/python3/dist-packages/netgen/$${pylib}*$(PY3DEF)*.so`; \
	  sed "s|netgen/$${pylib}.so|netgen/${pylib_dh}|" -i debian/libnglib-dev/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/netgen/netgen-targets-relwithdebinfo.cmake; \
	done

override_dh_shlibdeps:
	dh_shlibdeps -l/usr/lib/${DEB_HOST_MULTIARCH}/netgen
