Krusader installation instructions for KDE 4.x
----------------------------------------------

Note
----
Krusader-2.0 versions and higher are for KDE 4.x only and will not work anymore on KDE 3.x


SVN development download
------------------------
You can download the latest available Krusader-2.x from SVN with the next command:
$ svn co https://krusader.svn.sourceforge.net/svnroot/krusader/trunk/krusader_kde4


Platforms
---------
* All POSIX (Linux®/BSD/UNIX®-like OSes), Solaris™
* All BSD Platforms (FreeBSD®/NetBSD®/OpenBSD®)
* Tested on Mac® OS X 10.4 "Tiger" on ppc, should work on all versions and
  architectures  supported by KDE.
* Tested on Windows XP®, not yet tested on Windows Vista® but it should work.


Installation on Linux® and BSD platforms
========================================

Krusader dependencies
---------------------
- c libraries
- kdelibs5      (KDE4 core libraries and binaries for all KDE4 applications)
- libkjsembed1  (Embedded JavaScript library)
  (for the the optional Javascripting function in Krusader) 


Suggested packages
------------------
These packages are optional but they will make Krusader much more powerful and useful.

The next packages are the names that Debian/Ubuntu uses, other Linux
distros will probably use similar names.

- arj                  archiver for .arj files 
- ark                  graphical archiving tool for KDE 
- bzip2                high-quality block-sorting file compressor - utilities 
- cpio                 GNU cpio -- a program to manage archives of files 
- kdebase-bin          core binaries for the KDE base module 
- kdebase-kio-plugins  core I/O slaves for KDE 

- kdiff3               compares and merges 2 or 3 files or directories 
or kompare             a KDE GUI for viewing differences between files 
or xxdiff              a graphical file and directories comparison and merge tool 

- kedit                basic text editor for KDE 
- khexedit             KDE hex editor 
- kmail                KDE Email client 
- konsole              X terminal emulator for KDE 
- krename              Powerful batch renamer for KDE 
- lha                  lzh archiver 
- md5deep              versatile file checksum creator and verifier 
- cfv                  versatile file checksum creator and verifier 
- p7zip                7zr file archiver with high compression ratio 
- rpm                  Red Hat package manager 
- unace                extract, test and view .ace archives 

- unrar                Unarchiver for .rar files (non-free version) 
or unrar-free          Unarchiver for .rar files 
or rar                 Archiver for .rar files 

- unzip                De-archiver for .zip files 
- zip                  Archiver for .zip files 


Compilation requirements
------------------------
The next packages are needed for compiling the Krusader sourcecode, 
if you only run the Krusader binary you don't need to install these packages.
- gcc (The GNU C compiler)
- g++ (The GNU C++ compiler)
- cmake (A cross-platform, open-source make system)
- zlib1g-dev (library for implementing the deflate compression method found in gzip and PKZIP)
- gettext (contains msgfmt)
- kdelibs5-dev (installs many development libraries for KDE4)
- libphonon-dev (libphonon-dev cross-platform multimedia framework development)


cmake options
-------------
-DQT_INCLUDES=/usr/share/qt4/include
 is the location of the QT4 includes

-DCMAKE_INSTALL_PREFIX=/usr/
 is the location where Krusader will be installed with the make command.
 An other example is: -DCMAKE_INSTALL_PRFIX=/opt/krusader
 to install the compiled Krusader in an other directory to not overwrite
 the Krusader version installed by your package manager. 


$ tar -xzvf krusader_kde4.tar.gz
$ cd krusader_kde4
$ cmake  -DCMAKE_INSTALL_PREFIX=/usr/ -DQT_INCLUDES=/usr/share/qt4/include


Note:
We had a problem with cmake-2.4 on Kubuntu 8.04 and probably other distro's as well.
------------
CMake Error: CPack welcome resource file:
"/usr/share/cmake/Templates/CPack.GenericWelcome.txt" could not be found.
------------
To fix the error:
$ sudo mkdir /usr/share/cmake/
$ sudo ln -s /usr/share/cmake-2.4/Templates /usr/share/cmake/Templates



Compilation and installation
----------------------------
Compilation will take about 5 to 10 minutes depending on your CPU speed.

$ make
$ su -c "make install"
or 
$ sudo make install


Uninstall
---------
$ su -c "make uninstall"
or
$ sudo make uninstall



Installation on Mac® OS X
=========================
With KDE-4 Krusader runs natively on Mac OS X, using it's Aqua user interface
(No more X11 needed!).

Install the required libs and tools
-----------------------------------
Install CMake from http://cmake.org/ and allow the installer to create symlinks
the to command line tools

Install KDE binaries available from http://mac.kde.org/
You need at least kdebase-runtime and all its dependencies.

Setup the build envorinment
---------------------------
These packages install KDE-4 in /opt/kde4, Qt-4 in /opt/qt4 and all the unix
dependencies in /opt/kde4-deps. These paths need to become part of your
environment:

$ export PATH="/opt/qt4/bin:/opt/kde4/bin:/opt/kde4-deps/bin:$PATH"
$ export CMAKE_LIBRARY_PATH="/opt/kde4-deps/lib"
$ export CMAKE_INCLUDE_PATH="/opt/kde4-deps/include"
$ export PKG_CONFIG_PATH="/opt/qt4/lib/"

Build Krusader using GNU make
-----------------------------
Now you can proceed with the standard unix build process for Krusader. Note
that we create a build directory with the suffix ".build" for the compiled
objects. This tells Spotlight not to index the content of this directory.

$ tar -xzvf krusader_kde4.tar.gz
$ mkdir krusader.build
$ cd krusader.build
$ cmake ../krusader_kde4 -DCMAKE_INSTALL_PREFIX=/opt/kde4/
$ make
$ sudo make install

Now you should have a working Krusader.app inside /opt/kde4/bin.
See below how to create a relocatable aplication bundle.

Build Krusader using XCode
--------------------------
An other method is to use Apple's IDE XCode to build Krusader.
You have to install the Apple Developer Tools and change the commands above to:

$ tar -xzvf krusader_kde4.tar.gz
$ mkdir krusader_xcode
$ cd krusader_xcode
$ cmake ../krusader_kde4 -G Xcode
$ open Project.xcodeproj

Please consult the XCode manual for details about how to proceed.
Any feedback is wellcome, since we have no XCode guru in our Krusader development team ;-)

Create a relocatable application bundle
---------------------------------------
To create a Krusader.app which has all resources embedded (like icons and stuff)
tell cmake to use an empty directory as installation prefix, let's say /opt/tmp.
Now build and install Krusader normaly, which should result in a /opt/tmp/share/
directory. Move this dir into Krusader.app:

$ mv /opt/tmp/share /opt/tmp/bin/Krusader.app/Contents/

As of KDE-4.1 Krusader.app should find it's resources this way as
"<self>.app/Contents/" is added as possible KDEDIR. If you really need an older
version of KDE-4, you have to use a wrapper script as described a mail from
Jonas Bähr to the kde-mac mailing list on 3 February 2008.
http://mail.kde.org/pipermail/kde-mac/2008-February/000002.html

We hope to integrate this resource bundling into the normal build process for
future versions.


Installation on Windows®
========================
It's the first time that Krusader compiles on Windows®,
some work is needs to be done to make it usable on the Windows® platform.
All feedback is welcome!

- Install the KDE installer http://winkde.org/pub/kde/ports/win32/installer/
  (tested with version 0.9.2). See also http://windows.kde.org/
  During install, choose the following option:
  + installation path in this example was c:\kde4
  + install mode: developer installation
  + compiler mode: mingw
  + select installation of binary and developement files of the following
    packages (Note that some packages are not in any category and one
    needs to view all to find them):
    * mingw
    * gcc (including g++)
    * cmake
    * dbus
    * qt4
    * kdelibs
    * kdebase
    * ... (TODO: check if this list is complete)

- Create the source directory for krusader and checked out svn
  (you can use TortoiseSVN for that http://tortoisesvn.net/)
  In this example, c:/kde4/src/krusader_kde4 was used.

- Create the directory for generated files and cd to it
  In this example, c:/kde4/build/krusader_kde4 was used

- Open the windows terminal (cmd.exe) and go to the build directory
  c:
  cd \kde4\build\krusader_kde4

- So as to avoid a cmake error, that it can't find some kde library which is for sure installed,
  it is necessary to make the following fix:
  There is a strange problem, that in cmake modules
  c:\kde4\share\apps\cmake\modules\KDELibsDependencies.cmake
  and
  c:\kde4\share\apps\cmake\modules\KDEPimLibsDependencies.cmake
  there are wrong hardcoded paths to the installation directory (D:/kde/kde-mingw),
  it is necessary to replace it manually to c:/kde4.

- Run cmake in the build directory with the following parameters:
  c:\kde4\bin\cmake.exe -G "MinGW Makefiles" c:/kde4/src/krusader_kde4 -DCMAKE_INSTALL_PREFIX=c:/kde4 -DCMAKE_INCLUDE_PATH=c:/kde4/include -DCMAKE_LIBRARY_PATH=c:/kde4/lib -DKDEWIN_DIR:PATH=c:/kde4 -DCMAKE_BUILD_TYPE=debugful

- Run make from mingw:
  C:\MinGW\bin\mingw32-make.exe install

- Run krusader.exe and enjoy!

- Known severe run-time problems on windows at the moment (19 Jun 2008):
  + Konfigurator crashes (launched even in the first run)
  + Slow start before the splashscreen appears
  + If C: is put to the location bar, you get incorrect content of panel.
    Using file:///C:/ is more reliable
  + Not possible to navigate inside ftp
  + ...


FYI
The output of cmake
-------------------
This is the cmake output on Kubuntu 8.04 (KDE 4 Remix)

frank@kubuntu:~/krusader_kde4$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DQT_INCLUDES=/usr/share/qt4/include
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Check size of void*
-- Check size of void* - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.3.4 (using /usr/bin/qmake)
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_NO_THREADSAFE_STATICS
-- Performing Test __KDE_HAVE_NO_THREADSAFE_STATICS - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
-- Found KDE 4.0 include dir: /usr/lib/kde4/include
-- Found KDE 4 library dir: /usr/lib/kde4/lib
-- Found KDE4 kconfig_compiler preprocessor: /usr/lib/kde4/bin/kconfig_compiler
-- Found KDE4 automoc: /usr/lib/kde4/bin/kde4automoc
-- /home/frank/krusader_kde4/krusader: skipped subdir $(KRJSDIR)
-- Looking for include files HAVE_LIBINTL_H
-- Looking for include files HAVE_LIBINTL_H - found
-- Looking for dgettext
-- Looking for dgettext - found
-- Found Gettext: built in libc
-- Found ZLIB: /usr/lib/libz.so
-- /home/frank/krusader_kde4: skipped subdir $(TARDIR)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/frank/krusader_kde4
frank@kubuntu:~/krusader_kde4$




FYI
The output of make (partial)
----------------------------
frank@frank-kubuntu:~/krusader_kde4$ make
/usr/bin/cmake -H/home/frank/krusader_kde4 -B/home/frank/krusader_kde4 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/frank/krusader_kde4/CMakeFiles 100
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/frank/krusader_kde4'
make -f krusader/Filter/CMakeFiles/Filter.dir/build.make krusader/Filter/CMakeFiles/Filter.dir/depend
make[2]: Entering directory `/home/frank/krusader_kde4'
/usr/bin/cmake -E cmake_progress_report /home/frank/krusader_kde4/CMakeFiles 30
[  1%] Generating Filter_automoc.cpp
cd /home/frank/krusader_kde4/krusader/Filter && /usr/lib/kde4/bin/kde4automoc /home/frank/krusader_kde4/krusader/Filter/Filter_automoc.cpp /home/frank/krusader_kde4/krusader/Filter /home/frank/krusader_kde4/krusader/Filter /usr/bin/moc-qt4
Generating filterdialog.moc
Generating filtertabs.moc
Generating advancedfilter.moc
Generating generalfilter.moc
Scanning dependencies of target Filter
cd /home/frank/krusader_kde4 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/frank/krusader_kde4 /home/frank/krusader_kde4/krusader/Filter /home/frank/krusader_kde4 /home/frank/krusader_kde4/krusader/Filter /home/frank/krusader_kde4/krusader/Filter/CMakeFiles/Filter.dir/DependInfo.cmake
make[2]: Leaving directory `/home/frank/krusader_kde4'
make -f krusader/Filter/CMakeFiles/Filter.dir/build.make krusader/Filter/CMakeFiles/Filter.dir/build
make[2]: Entering directory `/home/frank/krusader_kde4'
/usr/bin/cmake -E cmake_progress_report /home/frank/krusader_kde4/CMakeFiles 28
[  2%] Building CXX object krusader/Filter/CMakeFiles/Filter.dir/Filter_automoc.o
/usr/bin/c++   -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -I/home/frank/krusader_kde4/krusader/Filter -I/usr/lib/kde4/include -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4   -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DVERSION='"2.0.0-beta1"' -DRELEASE_NAME='"Phoenix` Egg"' -o krusader/Filter/CMakeFiles/Filter.dir/Filter_automoc.o -c /home/frank/krusader_kde4/krusader/Filter/Filter_automoc.cpp
/usr/bin/cmake -E cmake_progress_report /home/frank/krusader_kde4/CMakeFiles
[  2%] Building CXX object krusader/Filter/CMakeFiles/Filter.dir/advancedfilter.o
/usr/bin/c++   -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -I/home/frank/krusader_kde4/krusader/Filter -I/usr/lib/kde4/include -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4   -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DVERSION='"2.0.0-beta1"' -DRELEASE_NAME='"Phoenix` Egg"' -o krusader/Filter/CMakeFiles/Filter.dir/advancedfilter.o -c /home/frank/krusader_kde4/krusader/Filter/advancedfilter.cpp
...
...
...
[100%] Building C object iso/CMakeFiles/kio_iso.dir/libisofs/isofs.o
/usr/bin/gcc  -Dkio_iso_EXPORTS   -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common -O2 -g -fPIC -I/home/frank/krusader_kde4/iso -I/usr/lib/kde4/include -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4   -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DVERSION='"2.0.0-beta1"' -DRELEASE_NAME='"Phoenix` Egg"' -o iso/CMakeFiles/kio_iso.dir/libisofs/isofs.o   -c /home/frank/krusader_kde4/iso/libisofs/isofs.c
Linking CXX shared module ../lib/kio_iso.so
cd /home/frank/krusader_kde4/iso && /usr/bin/cmake -P CMakeFiles/kio_iso.dir/cmake_clean_target.cmake
cd /home/frank/krusader_kde4/iso && /usr/bin/cmake -E cmake_link_script CMakeFiles/kio_iso.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC   -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared -Wl,-soname,kio_iso.so -o ../lib/kio_iso.so "CMakeFiles/kio_iso.dir/kio_iso_automoc.o" "CMakeFiles/kio_iso.dir/kisodirectory.o" "CMakeFiles/kio_iso.dir/kisofile.o" "CMakeFiles/kio_iso.dir/qfilehack.o" "CMakeFiles/kio_iso.dir/kiso.o" "CMakeFiles/kio_iso.dir/iso.o" "CMakeFiles/kio_iso.dir/libisofs/isofs.o" -L/usr/lib/kde4/lib -lQtCore -lpthread -lQtNetwork -lQtDBus -lQtXml -lz -lbz2 -lresolv -lkdecore -lQtCore -lpthread -lkdecore -lkdeui -lz -lstreamanalyzer -lstreams -lQtCore -lpthread -lkdecore -lsolid -lXrender -lkio -lz -lQtSvg -lSM -lICE -lX11 -lXext -lXft -lXau -lXdmcp -lXtst -lXcursor -lXfixes -lQtNetwork -lbz2 -lresolv -lQtCore -lpthread -lQtDBus -lQtXml -lQtGui
make[2]: Leaving directory `/home/frank/krusader_kde4'
/usr/bin/cmake -E cmake_progress_report /home/frank/krusader_kde4/CMakeFiles  97 98 99 100
[100%] Built target kio_iso
make[1]: Leaving directory `/home/frank/krusader_kde4'
/usr/bin/cmake -E cmake_progress_start /home/frank/krusader_kde4/CMakeFiles 0
frank@frank-kubuntu:~/krusader_kde4$


--------------------------------------------------------------------------
CMAKE OPTIONS
http://websvn.kde.org/trunk/KDE/kdelibs/cmake/modules/FindKDE4Internal.cmake?view=markup

# - Find the KDE4 include and library dirs, KDE preprocessors and define a some macros
#
# This module defines the following variables:
#
#  KDE4_FOUND               - set to TRUE if everything required for building KDE software has been found
#
#  KDE4_DEFINITIONS         - compiler definitions required for compiling KDE software
#  KDE4_INCLUDE_DIR         - the KDE 4 include directory
#  KDE4_INCLUDES            - all include directories required for KDE, i.e.
#                             KDE4_INCLUDE_DIR, but also the Qt4 include directories
#                             and other platform specific include directories
#  KDE4_LIB_DIR             - the directory where the KDE libraries are installed,
#                             intended to be used with LINK_DIRECTORIES()
#
# The following variables are defined for the various tools required to
# compile KDE software:
#
#  KDE4_KCFGC_EXECUTABLE    - the kconfig_compiler executable
#  KDE4_AUTOMOC_EXECUTABLE  - the kde4automoc executable
#  KDE4_MEINPROC_EXECUTABLE - the meinproc4 executable
#  KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable
#
# The following variables point to the location of the KDE libraries,
# but shouldn't be used directly:
#
#  KDE4_KDECORE_LIBRARY     - the kdecore library
#  KDE4_KDEUI_LIBRARY       - the kdeui library
#  KDE4_KIO_LIBRARY         - the kio library
#  KDE4_KPARTS_LIBRARY      - the kparts library
#  KDE4_KUTILS_LIBRARY      - the kutils library
#  KDE4_KDE3SUPPORT_LIBRARY - the kde3support library
#  KDE4_KFILE_LIBRARY       - the kfile library
#  KDE4_KHTML_LIBRARY       - the khtml library
#  KDE4_KJS_LIBRARY         - the kjs library
#  KDE4_KJSAPI_LIBRARY      - the kjs public api library
#  KDE4_KNEWSTUFF2_LIBRARY  - the knewstuff2 library
#  KDE4_KDNSSD_LIBRARY      - the kdnssd library
#  KDE4_PHONON_LIBRARY      - the phonon library
#  KDE4_THREADWEAVER_LIBRARY- the threadweaver library
#  KDE4_SOLID_LIBRARY       - the solid library
#  KDE4_KNOTIFYCONFIG_LIBRARY- the knotifyconfig library
#  KDE4_KROSSCORE_LIBRARY   - the krosscore library
#  KDE4_KTEXTEDITOR_LIBRARY - the ktexteditor library
#  KDE4_KNEPOMUK_LIBRARY    - the knepomuk library
#  KDE4_KMETADATA_LIBRARY   - the kmetadata library
#
# Compared to the variables above, the following variables
# also contain all of the depending libraries, so the variables below
# should be used instead of the ones above:
#
#  KDE4_KDECORE_LIBS          - the kdecore library and all depending libraries
#  KDE4_KDEUI_LIBS            - the kdeui library and all depending libraries
#  KDE4_KIO_LIBS              - the kio library and all depending libraries
#  KDE4_KPARTS_LIBS           - the kparts library and all depending libraries
#  KDE4_KUTILS_LIBS           - the kutils library and all depending libraries
#  KDE4_KDE3SUPPORT_LIBS      - the kde3support library and all depending libraries
#  KDE4_KFILE_LIBS            - the kfile library and all depending libraries
#  KDE4_KHTML_LIBS            - the khtml library and all depending libraries
#  KDE4_KJS_LIBS              - the kjs library and all depending libraries
#  KDE4_KJSAPI_LIBS           - the kjs public api library and all depending libraries
#  KDE4_KNEWSTUFF2_LIBS       - the knewstuff2 library and all depending libraries
#  KDE4_KDNSSD_LIBS           - the kdnssd library and all depending libraries
#  KDE4_KDESU_LIBS            - the kdesu library and all depending libraries
#  KDE4_KPTY_LIBS             - the kpty library and all depending libraries
#  KDE4_PHONON_LIBS           - the phonon library and all depending librairies
#  KDE4_THREADWEAVER_LIBRARIES- the threadweaver library and all depending libraries
#  KDE4_SOLID_LIBS            - the solid library and all depending libraries
#  KDE4_KNOTIFYCONFIG_LIBS    - the knotify config library and all depending libraries
#  KDE4_KROSSCORE_LIBS        - the kross core library and all depending libraries
#  KDE4_KROSSUI_LIBS          - the kross ui library which includes core and all depending libraries
#  KDE4_KTEXTEDITOR_LIBS      - the ktexteditor library and all depending libraries
#  KDE4_KNEPOMUK_LIBS         - the knepomuk library and all depending libraries
#  KDE4_KMETADATA_LIBS        - the kmetadata library and all depending libraries
#
# This module defines a bunch of variables used as locations for install directories. 
# They can be relative (to CMAKE_INSTALL_PREFIX) or absolute.
# Under Windows they are always relative.
#
#  BIN_INSTALL_DIR          - the directory where executables will be installed (default is prefix/bin)
#  BUNDLE_INSTALL_DIR       - Mac only: the directory where application bundles will be installed (default is /Applications/KDE4 )
#  SBIN_INSTALL_DIR         - the directory where system executables will be installed (default is prefix/sbin)
#  LIB_INSTALL_DIR          - the directory where libraries will be installed (default is prefix/lib)
#  CONFIG_INSTALL_DIR       - the config file install dir
#  DATA_INSTALL_DIR         - the parent directory where applications can install their data
#  HTML_INSTALL_DIR         - the HTML install dir for documentation
#  ICON_INSTALL_DIR         - the icon install dir (default prefix/share/icons/)
#  INFO_INSTALL_DIR         - the kde info install dir (default prefix/info)
#  KCFG_INSTALL_DIR         - the install dir for kconfig files
#  LOCALE_INSTALL_DIR       - the install dir for translations
#  MAN_INSTALL_DIR          - the kde man page install dir (default prefix/man/)
#  MIME_INSTALL_DIR         - the install dir for the mimetype desktop files
#  PLUGIN_INSTALL_DIR       - the subdirectory relative to the install prefix where plugins will be installed (default is ${KDE4_LIB_INSTALL_DIR}/kde4)
#  SERVICES_INSTALL_DIR     - the install dir for service (desktop, protocol, ...) files
#  SERVICETYPES_INSTALL_DIR - the install dir for servicestypes desktop files
#  SOUND_INSTALL_DIR        - the install dir for sound files
#  TEMPLATES_INSTALL_DIR    - the install dir for templates (Create new file...)
#  WALLPAPER_INSTALL_DIR    - the install dir for wallpapers
#  DEMO_INSTALL_DIR         - the install dir for demos
#  KCONF_UPDATE_INSTALL_DIR - the kconf_update install dir
#  XDG_APPS_INSTALL_DIR     - the XDG apps dir
#  XDG_DIRECTORY_INSTALL_DIR- the XDG directory
#  XDG_MIME_INSTALL_DIR     - the XDG mimetypes install dir
#  DBUS_INTERFACES_INSTALL_DIR - the directory where dbus interfaces be installed (default is prefix/share/dbus-1/interfaces)
#  DBUS_SERVICES_INSTALL_DIR        - the directory where dbus services be installed (default is prefix/share/dbus-1/services )
#
# The following variable is provided, but seem to be unused:
#  LIBS_HTML_INSTALL_DIR    /share/doc/HTML            CACHE STRING "Is this still used ?")
#
# The following user adjustable options are provided:
#
#  KDE4_ENABLE_FINAL - enable KDE-style enable-final all-in-one-compilation
#  KDE4_BUILD_TESTS  - enable this to build the testcases
#  KDE4_ENABLE_FPIE  - enable it to use gcc Position Independent Executables feature
#
# It also adds the following macros (from KDE4Macros.cmake)
#  KDE4_ADD_UI_FILES (SRCS_VAR file1.ui ... fileN.ui)
#    Use this to add Qt designer ui files to your application/library.
#
#  KDE4_ADD_UI3_FILES (SRCS_VAR file1.ui ... fileN.ui)
#    Use this to add Qt designer ui files from Qt version 3 to your application/library.
#
#  KDE4_ADD_KCFG_FILES (SRCS_VAR [GENERATE_MOC] file1.kcfgc ... fileN.kcfgc)
#    Use this to add KDE config compiler files to your application/library.
#    Use optional GENERATE_MOC to generate moc if you use signals in your kcfg files.
#
#  KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets)
#    Use this to add widget description files for the makekdewidgets code generator
#    for Qt Designer plugins.
#
#  KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN)
#    This macro is intended mainly for internal uses.
#    It is used for enable-final. It will generate two source files,
#    one for the C files and one for the C++ files.
#    These files will have the names given in filename_CXX and filename_C.
#
#  KDE4_ADD_PLUGIN ( name [WITH_PREFIX] file1 ... fileN )
#    Create a KDE plugin (KPart, kioslave, etc.) from the given source files.
#    It supports KDE4_ENABLE_FINAL.
#    If WITH_PREFIX is given, the resulting plugin will have the prefix "lib", otherwise it won't.
#    It creates and installs an appropriate libtool la-file.
#
#  KDE4_ADD_KDEINIT_EXECUTABLE (name [NOGUI] [RUN_UNINSTALLED] file1 ... fileN)
#    Create a KDE application in the form of a module loadable via kdeinit.
#    A library named kdeinit_<name> will be created and a small executable which links to it.
#    It supports KDE4_ENABLE_FINAL
#    If the executable has to be run from the buildtree (e.g. unit tests and code generators
#    used later on when compiling), set the option RUN_UNINSTALLED.
#    If the executable doesn't have a GUI, use the option NOGUI. By default on OS X
#    application bundles are created, with the NOGUI option no bundles but simple executables
#    are created. Currently it doesn't have any effect on other platforms.
#
#  KDE4_ADD_EXECUTABLE (name [NOGUI] [RUN_UNINSTALLED] file1 ... fileN)
#    Equivalent to ADD_EXECUTABLE(), but additionally adds some more features:
#    -support for KDE4_ENABLE_FINAL
#    -support for automoc
#    -automatic RPATH handling
#    If the executable has to be run from the buildtree (e.g. unit tests and code generators
#    used later on when compiling), set the option RUN_UNINSTALLED.
#    If the executable doesn't have a GUI, use the option NOGUI. By default on OS X
#    application bundles are created, with the NOGUI option no bundles but simple executables
#    are created. Currently it doesn't have any effect on other platforms.
#
#  KDE4_ADD_LIBRARY (name [STATIC | SHARED | MODULE ] file1 ... fileN)
#    Equivalent to ADD_LIBRARY(), but additionally it supports KDE4_ENABLE_FINAL
#    and under Windows it adds a -DMAKE_<name>_LIB definition to the compilation.
#
#  KDE4_ADD_UNIT_TEST (testname [TESTNAME targetname] file1 ... fileN)
#    add a unit test, which is executed when running make test
#    it will be built with RPATH poiting to the build dir
#    The targets are always created, but only built for the "all"
#    target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
#    are created but not built by default. You can build them by manually building the target.
#    The name of the target can be specified using TESTNAME <targetname>, if it is not given
#    the macro will default to the <testname>
#
#  KDE4_ADD_TEST_EXECUTABLE (name file1 ... fileN)
#    add an test executable
#    it will be built with RPATH poiting to the build dir
#    The targets are always created, but only built for the "all"
#    target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
#    are created but not built by default. You can build them by manually building the target.
#    KDESRCDIR is set to the source directory of the test, this can be used with
#    KGlobal::dirs()->addResourceDir( "data", KDESRCDIR ); to be able to use xmlgui
#    and other things in the test, that normally require installation
#
#  KDE4_UPDATE_ICONCACHE()
#    Notifies the icon cache that new icons have been installed by updating
#    mtime of ${ICON_INSTALL_DIR}/hicolor directory.
#
#  KDE4_INSTALL_ICONS( path theme)
#    Installs all png and svgz files in the current directory to the icon
#    directoy given in path, in the subdirectory for the given icon theme.
#
#  KDE4_CREATE_HANDBOOK( docbookfile [INSTALL_DESTINATION installdest] [SUBDIR subdir])
#   Create the handbook from the docbookfile (using meinproc4)
#   The resulting handbook will be installed to <installdest> when using
#   INSTALL_DESTINATION <installdest>, or to <installdest>/<subdir> if
#   SUBDIR <subdir> is specified.
#
#  KDE4_CREATE_MANPAGE( docbookfile section )
#   Create the manpage for the specified section from the docbookfile (using meinproc4)
#   The resulting manpage will be installed to <installdest> when using
#   INSTALL_DESTINATION <installdest>, or to <installdest>/<subdir> if
#   SUBDIR <subdir> is specified.


#  _KDE4_PLATFORM_INCLUDE_DIRS is used only internally
#  _KDE4_PLATFORM_DEFINITIONS is used only internally
