File debian.rules of Package linphoneqt-Debian-Ubuntu

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

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
export _name=linphone
export PACKAGE=linphoneqt
export VERSION=5.1.2
export DIR_WHERE_FIRST_CMAKELISTS_DOT_TEXT_IS=buildstartshere

# Get some information about the machine we are building on:
export ARCHITECTURE=$(shell uname -m)
export numberOfProcessorsOnMachine=$(shell nproc)
export wantedJobs=$(shell echo "1.25*$(numberOfProcessorsOnMachine)" | bc -l)
export jobsIget=$(shell echo $(wantedJobs) | awk '{print int($$1+0.5)}')
export TOTAL_DISK = $(shell df -h --total | awk 'END{print $$2}')
export FREEMEM = $(shell free --mega)
export TOTAL_MEM = $(shell free --total --mega | xargs | awk '{print $$19"MB"}')
export TOTAL_RAM = $(shell free --total --mega | xargs | awk '{print $$8"MB"}')
export TOTAL_SWAP = $(shell free --total --mega | xargs | awk '{print $$15"MB"}')

export PRETTY_NAME=$(shell cat /etc/*-release | egrep "PRETTY_NAME" | cut -d = -f 2)

#ifeq ($(PRETTY_NAME),Raspbian)
#    export PLATFORM=Raspbian
#    export BUILDDIR=obj-arm-linux-gnueabihf
#    export LIBDIR=arm-linux-gnueabihf
#endif

ifeq ($(findstring Raspbian,$(PRETTY_NAME)),Raspbian)
    # Found
    export PLATFORM=Raspbian
    export BUILDDIR=obj-arm-linux-gnueabihf
    export LIBDIR=arm-linux-gnueabihf
else
    # Not found
    export PLATFORM=DebianOrUbuntu
    export BUILDDIR=obj-x86_64-linux-gnu
    export LIBDIR=x86_64-linux-gnu
endif



%:
	echo
	echo "----- Entering section % -----"
	echo
	# Template
	# dh $@ --buildsystem=cmake --builddirectory=$(DIR_WHERE_FIRST_CMAKELISTS_DOT_TEXT_IS) --parallel --max-parallel=$(jobsIget)
	dh $@ --buildsystem=cmake --parallel --max-parallel=$(jobsIget)
	echo
	echo "----- Exiting section % -----"
	echo



override_dh_auto_configure:
	echo
	echo "--- Start override_dh_auto_configure: ---"
	echo
	echo "--- Machine data we are building on ---"
	echo "ARCHITECTURE: $$ARCHITECTURE"
	echo "Total disk: $$TOTAL_DISK"
	echo "Output of free -h:"
	echo "$$FREEMEM" 
	echo "Total memory: $$TOTAL_MEM"
	echo "Total RAM: $$TOTAL_RAM"
	echo "Total SWAP: $$TOTAL_SWAP"
	echo "numberOfProcessorsOnMachine=$$numberOfProcessorsOnMachine"
	echo "wantedJobs=$$wantedJobs"
	echo "jobsIget=$$jobsIget"
	echo "--- End machine data we are building on ---"
	echo
	echo "--- List files ---"
	ls /usr/lib
	find /usr/src/packages
	echo "--- End list files ---"
	echo
	echo "Current directory:" #/usr/src/packages/BUILD
	echo "    $(shell pwd)"
	echo
	echo PRETTY_NAME=$(PRETTY_NAME)
	echo PLATFORM=$(PLATFORM)
	echo BUILDDIR=$(BUILDDIR)
	echo LIBDIR=$(LIBDIR)
	echo
	# To avoid error, we have to create directory Debian/Ubuntu:
	# /usr/src/packages/BUILD/obj-x86_64-linux-gnu
	# On Raspbian we have to create directory:
	# /usr/src/packages/BUILD/obj-arm-linux-gnueabihf
	mkdir -v $(BUILDDIR)
	cp /usr/src/packages/SOURCES/$(_name).appdata.xml linphone.appdata.xml
	touch linphone-sdk/CMakeLists.txt
	mkdir -p $(BUILDDIR)/linphone-sdk/desktop/{bin,share}
	# Fix building out-of-git
	echo '#define LINPHONE_QT_GIT_VERSION "${PROJECT_VERSION}"' >> linphone-app/src/config.h.cmake
	# Hardcode linphoneqt version
	echo "project(linphoneqt VERSION $(VERSION))" > linphone-app/linphoneqt_version.cmake
	if [[ $(VERSION) = 5.1.[0-9]* ]]; then \
	  sed -i '/^add_custom_command/s@${CMAKE_INSTALL_PREFIX}/include/@%{buildroot}%{_includedir}/@;/^add_custom_command/s@${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/@%{buildroot}%{_libdir}/@' linphone-app/CMakeLists.txt; \
	  sed -i '/\/ui/s@${qml_dir}@${CMAKE_CURRENT_SOURCE_DIR}/../&@' linphone-app/cmake_builder/linphone_package/CMakeLists.txt; \
	fi
	mkdir -p $(BUILDDIR)/linphone-sdk/desktop/bin
	mkdir -p $(BUILDDIR)/linphone-sdk/desktop/share/linphone
	mkdir -p $(BUILDDIR)/linphone-sdk/desktop/share/sounds/linphone
	#which convert
	#which inkscape
	#find . -type f -name genicons_1.1.sh -exec {} \;
	# cmake -S /path/to/source-dir -B /path/to/build-dir -DCMAKE_VARIABLES_HERE=something
	cmake -S /usr/src/packages/BUILD/ -B /usr/src/packages/BUILD/$(BUILDDIR)/ \
	  -DCMAKE_BUILD_PARALLEL_LEVEL=$(jobsIget) \
	  -DCMAKE_C_FLAGS="$${CMAKE_C_FLAGS} $${optflags} -O0 -g -fpic -ffat-lto-objects -fpermissive" \
	  -DCMAKE_CXX_FLAGS="$${CMAKE_CXX_FLAGS} $${optflags} -O0 -g -fpic -ffat-lto-objects -fpermissive" \
	  -DCMAKE_MODULE_PATH="${CMAKE_MODULE_PATH};/usr/src/packages/SOURCES;/usr/share/BCToolbox/cmake" \
	  -DBelcard_DIR="/usr/share/BelCard/cmake" \
	  -DCMAKE_INSTALL_PREFIX=/usr \
	  -DCMAKE_INSTALL_LIBDIR=lib/$(LIBDIR) \
	  -DCMAKE_BUILD_TYPE=Release \
	  -DLINPHONE_OUTPUT_DIR="/usr/src/packages/BUILD/$(BUILDDIR)/" \
	  -DENABLE_UPDATE_CHECK=OFF \
	  -DENABLE_QT_KEYCHAIN=OFF \
	  -DENABLE_STRICT=OFF \
	  -DENABLE_STATIC=OFF
	echo
	echo
	echo "--- Show what was built ---"
	find /usr/src/packages/BUILD/$(BUILDDIR)/ 2>/dev/null
	echo "--- End show what was built ---"
	echo
	echo
	echo "--- End override_dh_auto_configure: ---"
	echo



override_dh_auto_install:
	echo
	echo "--- Start override_dh_auto_install: ---"
	echo
	cd $(BUILDDIR); \
	cmake --install . --prefix /usr/src/packages/BUILD/debian/tmp/usr --strip
	#echo "--- Show what was installed ---"
	#find /usr/src/packages/BUILD/debian/tmp 2>/dev/null
	#echo "--- End show what was installed ---"
	if [ -f /usr/src/packages/BUILD/debian/tmp/usr/lib/libapp-plugin.so ]; then \
	  mkdir -p -v /usr/src/packages/BUILD/debian/tmp/usr/lib/$(LIBDIR); \
	  mv -v /usr/src/packages/BUILD/debian/tmp/usr/lib/libapp-plugin.so /usr/src/packages/BUILD/debian/tmp/usr/lib/$(LIBDIR)/libapp-plugin.so; \
	fi
	echo "--- Show what will be packaged ---"
	find /usr/src/packages/BUILD/debian/tmp 2>/dev/null
	echo "--- End show what will be packaged ---"
	echo
	echo
	echo "----- Exiting section override_dh_auto_install: -----"
	echo
openSUSE Build Service is sponsored by