#!/usr/bin/make -f

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

export DEB_BUILD_MAINT_OPTIONS   := hardening=+bindnow
SHELL := bash

# Use this variable to define the particular version of OGRE that we're building
OGRE_VERSION=2.3

OGRE_CHANGELOG = Docs/ChangeLog.html

# Directories to install with Multi-arch and versioned OGRE dir names
LIB_MULTIARCH_DIR = /usr/lib/$(DEB_HOST_MULTIARCH)

LIB_MULTIARCH_OGRE_RELATIVE=lib/$(DEB_HOST_MULTIARCH)/OGRE-$(OGRE_VERSION)
HEADERS_MULTIARCH_PRIVATE_DIR = /usr/include/OGRE-$(OGRE_VERSION)

EXTRA_CMAKE_FLAGS =
ifeq ($(DEB_HOST_ARCH),arm64)
  EXTRA_CMAKE_FLAGS = -DOGRE_SIMD_NEON:BOOL=FALSE \
		      -DOGRE_SIMD_SSE2:BOOL=FALSE
endif
ifeq ($(DEB_HOST_ARCH),armhf)
  EXTRA_CMAKE_FLAGS = -DOGRE_SIMD_NEON:BOOL=FALSE \
		      -DOGRE_SIMD_SSE2:BOOL=FALSE
endif


override_dh_auto_configure:
	dh_auto_configure -- \
		-DCMAKE_CXX_FLAGS="$(CXXFLAGS) -DOGRE_DEBUG_MODE=0" \
		-DOGRE_LIB_DIRECTORY="$(LIB_MULTIARCH_OGRE_RELATIVE)" \
		-DOGRE_USE_NEW_PROJECT_NAME=ON \
		-DOGRE_FULL_RPATH:BOOL=FALSE \
		-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS:BOOL=TRUE\
		-DOGRE_BUILD_RENDERSYSTEM_GLES2:BOOL=FALSE \
		-DOGRE_BUILD_RENDERSYSTEM_VULKAN:BOOL=TRUE \
		-DOGRE_BUILD_COMPONENT_HLMS:BOOL=TRUE \
		-DOGRE_BUILD_COMPONENT_PLANAR_REFLECTIONS:BOOL=TRUE \
		-DOGRE_INSTALL_DOCS:BOOL=TRUE \
		-DOGRE_BUILD_SAMPLES2:BOOL=FALSE \
		-DOGRE_INSTALL_SAMPLES:BOOL=FALSE \
		-DOGRE_VULKAN_WINDOW_NULL:BOOL=TRUE \
		-DOGRE_CONFIG_UNIX_NO_X11:BOOL=FALSE \
		-DOGRE_GLSUPPORT_USE_EGL_HEADLESS:BOOL=TRUE \
		-DOGRE_GLSUPPORT_USE_GLX:BOOL=TRUE $(EXTRA_CMAKE_FLAGS)

override_dh_auto_build-indep:
	dh_auto_build -i --
	# generate doxygen API doc
	dh_auto_build -i -- OgreDoc

override_dh_install-arch:
	dh_install -a
	dh_missing --list-missing

override_dh_installchangelogs:
	dh_installchangelogs -- $(OGRE_CHANGELOG)

override_dh_shlibdeps:
	dh_shlibdeps -l/usr/lib/$(DEB_HOST_MULTIARCH)/OGRE-$(OGRE_VERSION)/

override_dh_builddeb:
	dh_builddeb -- -Zgzip

%:
	dh $@ --buildsystem=cmake
