#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

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

# This has to be exported to make some magic below work.
export DH_OPTIONS

# Comment this out if you want to include the tests when the package is built
skip_the_tests=-DBUILD_TESTING:BOOL=OFF

%:
	dh  $@

override_dh_auto_configure:
	dh_auto_configure -- $(skip_the_tests) \
		-DCMAKE_BUILD_TYPE:STRING=DebianPackage \
		-DDEFAULT_CONF_PATH:PATH=/etc/freeDiameter \
		-DALL_EXTENSIONS:BOOL=ON
		

