KTp/Getting Set Up/Scripted: Difference between revisions
Appearance
< KTp | Getting Set Up
mNo edit summary |
mNo edit summary |
||
Line 36: | Line 36: | ||
# Add telepathy-qt4 here, if you want to build it from master too | # Add telepathy-qt4 here, if you want to build it from master too | ||
REPOS="telepathy-qt4 | REPOS="telepathy-common-internals | ||
telepathy-qt4 | |||
telepathy-accounts-kcm | telepathy-accounts-kcm | ||
telepathy-approver | telepathy-approver |
Revision as of 07:59, 28 November 2011
Here is a script to help you a major part of Telepathy KDE, feel free to modify it according to your needs.
#!/bin/bash
#
# Build script for telepathy-kde, assumes you have the latest telepathy-qt4,
# have a proper gitconfig setup for and that you use Project Neon
#
# Instructions on how to use the script :
# -b build only (updates repos before build)
# -bi build and install (updates repos before build)
# -u update/clone repos
# -h show help menu
#
# Copyright (C) 2011 Rohan Garg <[email protected]>
# Copyright (C) 2011 Dominik Schmidt <[email protected]>
# Copyright (C) 2011 Francesco Nwokeka <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
SOURCE_DIR="."
INSTALL_DIR=`kde4-config --prefix`
# Add telepathy-qt4 here, if you want to build it from master too
REPOS="telepathy-common-internals
telepathy-qt4
telepathy-accounts-kcm
telepathy-approver
telepathy-text-ui
telepathy-contact-list
telepathy-nepomuk-service
telepathy-presence-dataengine
telepathy-presence-applet
telepathy-contact-applet
telepathy-filetransfer-handler
telepathy-send-file
telepathy-contact-applet
telepathy-auth-handler
telepathy-kded-module"
# these don't work currently, readd them at some point
# telepathy-call-ui - dont have farsight*/
# telepathy-kde - doesnt build
# telepathy-testlib
# configure your own custom build function here
function build {
for repo in $REPOS
do
cd $repo
cpus=$(ls -d /sys/devices/system/cpu/cpu? | wc -l)
echo ""
echo "####################################################"
echo " Building $repo "
echo "####################################################"
if [ $NEONENV ]; then
neonmake
else
makej=$(($cpus + 1))
mkdir -p build
cd build
if [ "$repo" = "telepathy-qt4" ]; then
cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR ..
else
cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR -DCMAKE_BUILD_TYPE=debugfull ..
fi
make --jobs=$makej
cd ..
fi
cd ..
done
}
function buildInstall {
build
for repo in $REPOS
do
cd $repo/build
sudo make install
cd ../../
done
}
function updateRepos {
mkdir -p $SOURCE_DIR
cd $SOURCE_DIR
for repo in $REPOS
do
if [ -d "$repo" ]; then
cd $repo
echo ""
echo "####################################################"
echo " Updating $repo "
echo "####################################################"
git pull
cd ..
else
echo ""
echo "####################################################"
echo " Cloning $repo "
echo "####################################################"
if [ "$repo" = "telepathy-qt4" ]; then
git clone git://anongit.freedesktop.org/telepathy/$repo
else
git clone git://anongit.kde.org/$repo
fi
fi
done
}
function showHelp {
echo "-b build only (updates repos before build)"
echo "-bi build and install (updates repos before build)"
echo "-u update/clone repos"
echo "-h show this help menu"
}
if [ "$?" = "0" ];
then
if [ "$1" = "-b" ];
then
updateRepos
build
elif [ "$1" = "-bi" ];
then
updateRepos
buildInstall
elif [ "$1" = "-u" ];
then
updateRepos
else [ "$1" = "-h" ];
showHelp
fi
fi