#!/usr/bin/make -f
DH_VERBOSE=0

DPKG_EXPORT_BUILDFLAGS = 1
-include /usr/share/dpkg/buildflags.mk

export DEB_BUILD_MAINT_OPTIONS=hardening=+all

# Upstream default paths: "lib/ctk-0.1", "include/ctk-0.1", "lib/ctk-0.1/plugins" and "lib/ctk-0.1/CMake" but versioning seems pointless (https://github.com/commontk/CTK/issues/358#issuecomment-359455314)
# -DCTK_LIB_Visualization/VTK/Widgets_USE_TRANSFER_FUNCTION_CHARTS:BOOL=ON leads to a compilation error: ui_ctkVTKScalarsToColorsWidget.h missing
# https://www.mail-archive.com/debian-bugs-closed@lists.debian.org/msg847889.html
CMAKE_FLAGS = \
    -DBUILD_TESTING:BOOL=OFF \
    -DCMAKE_BUILD_TYPE:STRING=Release \
    -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    -DCMAKE_SKIP_RPATH:BOOL=ON \
    -DCMAKE_VERBOSE_MAKEFILE:BOOL=$(DH_VERBOSE) \
    -DCTK_APP_ctkCommandLineModuleExplorer:BOOL=ON \
    -DCTK_APP_ctkDICOM:BOOL=ON \
    -DCTK_APP_ctkPluginBrowser:BOOL=ON \
    -DCTK_APP_ctkPluginGenerator:BOOL=ON \
    -DCTK_BUILD_QTDESIGNER_PLUGINS:BOOL=ON \
    -DCTK_ENABLE_DICOM:BOOL=ON \
    -DCTK_ENABLE_PluginFramework:BOOL=ON \
    -DCTK_ENABLE_Python_Wrapping:BOOL=ON \
    -DCTK_ENABLE_Widgets:BOOL=ON \
    -DCTK_INSTALL_LIB_DIR=lib/$(DEB_HOST_MULTIARCH) \
    -DCTK_INSTALL_INCLUDE_DIR=/usr/include/ctk \
    -DCTK_INSTALL_PLUGIN_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/ctk/plugins \
    -DCTK_INSTALL_CMAKE_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/ctk \
    -DCTK_LIB_CommandLineModules/Backend/FunctionPointer:BOOL=ON \
    -DCTK_LIB_CommandLineModules/Backend/LocalProcess:BOOL=ON \
    -DCTK_LIB_CommandLineModules/Core:BOOL=ON \
    -DCTK_LIB_CommandLineModules/Frontend/QtGui:BOOL=ON \
    -DCTK_LIB_CommandLineModules/Frontend/QtWebKit:BOOL=ON \
    -DCTK_LIB_Core:BOOL=ON \
    -DCTK_LIB_DICOM/Core:BOOL=ON \
    -DCTK_LIB_DICOM/Widgets:BOOL=ON \
    -DCTK_LIB_ImageProcessing/ITK/Core:BOOL=ON \
    -DCTK_LIB_PluginFramework:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_USE_VTK:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_WRAP_QTCORE:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_WRAP_QTGUI:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_WRAP_QTUITOOLS:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_WRAP_QTNETWORK:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_WRAP_QTMULTIMEDIA:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Core_PYTHONQT_WRAP_QTWEBKIT:BOOL=ON \
    -DCTK_LIB_Scripting/Python/Widgets:BOOL=ON \
    -DCTK_LIB_Visualization/VTK/Core:BOOL=ON \
    -DCTK_LIB_Visualization/VTK/Widgets:BOOL=ON \
    -DCTK_LIB_Visualization/VTK/Widgets_USE_TRANSFER_FUNCTION_CHARTS:BOOL=ON \
    -DCTK_LIB_Widgets:BOOL=ON \
    -DCTK_PLUGIN_org.commontk.configadmin:BOOL=ON \
    -DCTK_PLUGIN_org.commontk.eventadmin:BOOL=ON \
    -DCTK_PLUGIN_org.commontk.log:BOOL=ON \
    -DCTK_PLUGIN_org.commontk.metatype:BOOL=ON \
    -DCTK_PLUGIN_org.commontk.plugingenerator.core:BOOL=ON \
    -DCTK_PLUGIN_org.commontk.plugingenerator.ui:BOOL=ON \
    -DCTK_QT_VERSION=6 \
    -DCTK_SUPERBUILD:BOOL=OFF \
    -DCTK_USE_QTTESTING:BOOL=ON \

pkg_run = libctk0.1
pkg_dev = libctk-dev

%:
	dh $@ --with python3

override_dh_auto_configure:
	dh_auto_configure -- $(CMAKE_FLAGS)

#install/ctk-examples::
#	dh_installexamples -popenigtlink-examples Examples/

#install/ctk-doc::
#	doxygen -u $(DEB_BUILDDIR)/doxygen.config
#	doxygen $(DEB_BUILDDIR)/doxygen.config
#	dh_install -plibctk-doc       $(DEB_BUILDDIR)/Documents/Doxygen/html         usr/share/doc/ctk-doc

override_dh_install:
	find debian/tmp/ -name "*.pyc" -delete
	# Runtime Package
	dh_install -p$(pkg_run) usr/lib/$(DEB_HOST_MULTIARCH)/*.so.*
	# Development Package
	dh_install -p$(pkg_dev) usr/include
	dh_install -p$(pkg_dev) usr/lib/$(DEB_HOST_MULTIARCH)/lib*.so
#	dh_install -plibctk-dev   debian/tmp/usr/lib/ctk-0.1/*.cmake                 usr/lib/ctk-0.1
	mkdir -p debian/libctk-dev/usr/lib/python3/dist-packages/
	mv debian/libctk-dev/usr/bin/Python/* debian/libctk-dev/usr/lib/python3/dist-packages/
	rm -rf debian/libctk-dev/usr/bin/Python/
