Development/Tools/Using kde-config

From KDE TechBase
Warning
This page needs a review and probably holds information that needs to be fixed.

Parts to be reviewed:

Update to kf5-client

Finding about KDE's installation : kde-config

Introduction

kde-config is a small utility for determining how KDE is installed. It can be used for debugging purposes, or in Makefiles for simple projects that don't want to use the full autoconf/automake framework.

Usage

kde-config --help gives:

Options:
 --expandvars    expand ${prefix} and ${exec_prefix} in output
 --prefix        Compiled in prefix for KDE libraries
 --exec-prefix   Compiled in exec_prefix for KDE libraries
 --libsuffix     Compiled in library path suffix
 --localprefix   Prefix in $HOME used to write files
 --version       Compiled in version string for KDE libraries
 --types         Available KDE resource types
 --path type     Search path for resource type
 --userpath type User path: desktop|autostart|trash|document
 --install type  Prefix to install resource files to

kde-config --types gives:

apps - Applications menu (.desktop files)
config - Configuration files
data - Where applications store data
emoticons - unknown type
exe - Executables in $prefix/bin
html - HTML documentation
icon - Icons
kcfg - Configuration description files
lib - Libraries
locale - Translation files for KLocale
mime - Mime types
module - Loadable modules
pixmap - unknown type
qtplugins - Qt plugins
services - Services
servicetypes - Service types
sound - Application sounds
templates - Templates
wallpaper - Wallpapers
xdgconf-menu - XDG Menu layout (.menu files)
xdgdata-apps - XDG Application menu (.desktop files)
xdgdata-dirs - XDG Menu descriptions (.directory files)
xdgdata-icon - unknown type

These are valid inputs of --path and --install. --install gives the paths kdelibs was compiled for, while --path gives the whole set of paths as they are searched in the current environment.

So while --path config can return

/home/joe/.kde/share/config:/etc/kde3:/opt/kde3/share/config

--install config will return

${prefix}/share/config

you can ask for --prefix too, and --expandvars expands this right for you and gives:

/home/joe/KDE/share/config