KTp/Getting Set Up/Scripted

From KDE Community Wiki
Revision as of 17:20, 14 September 2011 by Shocklateboy92 (talk | contribs) (indented build function)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 : Also build the cloned repos
#
# Copyright (C) 2011 Rohan Garg <[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/>.
#
###############################################################################
# init variables, use current directory to look for folders and build them
DIR="."

function build {

    ## Add/Remove custom CMake options over here
    customcmakeopts="-DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` \
                    -DCMAKE_BUILD_TYPE=debugfull"

    cpus=$(ls -d /sys/devices/system/cpu/cpu? | wc -l)

    if [ -f /usr/bin/neonmake ]; then
        neonmake
    else
        makej=$(($cpus + 1))
        mkdir -p build
        cd build
        cmake $customcmakeopts ..
        make --jobs=$makej
        cd ..
    fi

}

if [ -n "$(ls -A $DIR)" ]; then
    echo "Updating telepathy repos, since $DIR is not Empty"
    for folder in $(ls -p | grep \/); do
        cd $folder
        echo "####################################################"
        echo "               Updating folder $folder              " 
        echo "####################################################"
        git pull
        if [ "$1" = "-b" ]; then
            echo "####################################################"
            echo "              Building folder $folder               "
            echo "####################################################"
            build
        fi
        cd .. 
    done
else
    echo "$DIR is Empty, clone them repos!!!"
    # Uncomment the next line to build telepathy-qt4 from sources as well
    # git://anongit.freedesktop.org/telepathy/telepathy-qt4
    git clone git://oscaf.git.sourceforge.net/gitroot/oscaf/shared-desktop-ontologies
    git clone kde:kwhiteboard
    git clone kde:telepathy-accounts-kcm
    git clone kde:telepathy-approver
    git clone kde:telepathy-call-ui
    git clone kde:telepathy-chat-handler
    git clone kde:telepathy-contact-list
    git clone kde:telepathy-kde
    git clone kde:telepathy-nepomuk-service
    git clone kde:telepathy-presence-applet
    git clone kde:telepathy-presence-dataengine  
    git clone kde:telepathy-testlib
    git clone kde:telepathy-contact-applet
    git clone kde:telepathy-filetransfer-handler
    git clone kde:telepathy-send-file
    git clone kde:telepathy-accounts-kcm-plugins
    if [ "$1" = "-b" ]; then
      for folder in $(ls -p | grep \/); do
            cd $folder
              echo "####################################################"
              echo "              Building folder $folder               " 
              echo "####################################################"
              build
              cd .. 
      done
    fi
fi