Getting Started/Build/Example: Difference between revisions

From KDE TechBase
(Created page with '== Example Build == The following example recipe shows the full sequence of commands you would need to enter into the command line to build a typical KDE module: cd ~/kde-devel...')
 
 
Line 3: Line 3:


  cd ~/kde-devel/src
  cd ~/kde-devel/src
  git clone http://anongit.kde.org/kdelibs.git
  git clone git://anongit.kde.org/kdelibs.git
  mkdir ~/kde-devel/build/kdelibs
  mkdir ~/kde-devel/build/kdelibs
  cd ~/kde-devel/build/kdelibs
  cd ~/kde-devel/build/kdelibs
Line 20: Line 20:


Then request a copy of the code from the KDE source repository, in this example a copy of kdelibs from Git:
Then request a copy of the code from the KDE source repository, in this example a copy of kdelibs from Git:
  git clone http://anongit.kde.org/kdelibs.git
  git clone git://anongit.kde.org/kdelibs.git


This may take some time to process.  For Git you will see out output similar to:
This may take some time to process.  For Git you will see out output similar to:
  myuser@mybox:~/kde-devel/src> git clone http://anongit.kde.org/kdelibs.git
  myuser@mybox:~/kde-devel/src> git clone git://anongit.kde.org/kdelibs.git
  http://anongit.kde.org/kdelibs.git
  git://anongit.kde.org/kdelibs.git
  Initialized empty Git repository in /home/myuser/kde-devel/src/kdelibs/.git/
  Initialized empty Git repository in /home/myuser/kde-devel/src/kdelibs/.git/
  remote: Counting objects: 722134, done.
  remote: Counting objects: 722134, done.

Latest revision as of 16:00, 16 November 2011

Example Build

The following example recipe shows the full sequence of commands you would need to enter into the command line to build a typical KDE module:

cd ~/kde-devel/src
git clone git://anongit.kde.org/kdelibs.git
mkdir ~/kde-devel/build/kdelibs
cd ~/kde-devel/build/kdelibs
cmake ~/kde-devel/src/kdelibs \
      -DCMAKE_BUILD_TYPE=debugfull \
      -DCMAKE_INSTALL_PREFIX=$KDEDIR
make
make install

Let's break that recipe down and explain each step.

Source

First you navigate to a convenient folder to save the code in:

cd ~/kde-devel/src

Then request a copy of the code from the KDE source repository, in this example a copy of kdelibs from Git:

git clone git://anongit.kde.org/kdelibs.git

This may take some time to process. For Git you will see out output similar to:

myuser@mybox:~/kde-devel/src> git clone git://anongit.kde.org/kdelibs.git
git://anongit.kde.org/kdelibs.git
Initialized empty Git repository in /home/myuser/kde-devel/src/kdelibs/.git/
remote: Counting objects: 722134, done.
remote: Compressing objects: 100% (138759/138759), done.
remote: Total 722134 (delta 586243), reused 715797 (delta 580373)
Receiving objects: 100% (722134/722134), 140.90 MiB | 706 KiB/s, done.
Resolving deltas: 100% (586243/586243), done.
myuser@mybox:~/kde-devel/src> 

This example will create a folder called ~/kde-devel/src/kdelibs containing all the kdelibs source code and all its history since KDE began.

For an SVN checkout you will instead see output similar to:

myuser@mybox:~/kde-devel/src> svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk
A    kdesdk/cmake
A    kdesdk/cmake/samples
A    kdesdk/cmake/samples/kpager
A    kdesdk/cmake/samples/kpager/CMakeLists.txt
...
A    kdesdk/COPYING.LIB
U   kdesdk
Checked out revision 1223739.
myuser@mybox:~/kde-devel/src> 

Configure

First you create a convenient folder to build the code in:

mkdir ~/kde-devel/build/kdelibs
cd ~/kde-devel/build/kdelibs

Next you need to run CMake to create the configuration files to be used in the build:

cmake ~/kde-devel/src/kdelibs \
      -DCMAKE_BUILD_TYPE=debugfull \
      -DKDE4_BUILD_TESTS=TRUE \
      -DCMAKE_INSTALL_PREFIX=$KDEDIR

Various options can be passed to CMake to control how a project gets built, but these are the most common:

  • The first line tells CMake where it can find the source code that is to be built.
  • The second line tells CMake what type of build is required, in this example a debugfull build that will include useful information for when we are debugging any the software.
  • The third line tells CMake we also want the unit tests to be built.
  • The fourth line tells CMake where to install the software.

Build

Update