Find the KDE3 include and library dirs, KDE preprocessors and define a some macros

This module defines the following variables:

compiler definitions required for compiling KDE software
the KDE include directory
the KDE and the Qt include directory, for use with include_directories()
the directory where the KDE libraries are installed, for use with link_directories()
this contains both the Qt and the kdecore library
the dcopidl executable
the dcopidl2cpp executable
the kconfig_compiler executable
set to TRUE if all of the above has been found

The following user adjustable options are provided:

enable this to build KDE testcases

It also adds the following macros (from KDE3Macros.cmake) SRCS_VAR is always the variable which contains the list of source files for your application or library.

KDE3_AUTOMOC(file1 … fileN)

Call this if you want to have automatic moc file handling.
This means if you include "foo.moc" in the source file foo.cpp
a moc file for the header foo.h will be created automatically.
You can set the property SKIP_AUTOMAKE using set_source_files_properties()
to exclude some files in the list from being processed.


If you don't use the KDE3_AUTOMOC() macro, for the files
listed here moc files will be created (named "foo.moc.cpp")

KDE3_ADD_DCOP_SKELS(SRCS_VAR header1.h … headerN.h )

Use this to generate DCOP skeletions from the listed headers.

KDE3_ADD_DCOP_STUBS(SRCS_VAR header1.h … headerN.h )

Use this to generate DCOP stubs from the listed headers.

KDE3_ADD_UI_FILES(SRCS_VAR file1.ui … fileN.ui )

Use this to add the Qt designer ui files to your application/library.

KDE3_ADD_KCFG_FILES(SRCS_VAR file1.kcfgc … fileN.kcfgc )

Use this to add KDE kconfig compiler files to your application/library.


This will create and install a simple libtool file for the given target.

KDE3_ADD_EXECUTABLE(name file1 … fileN )

Currently identical to add_executable(), may provide some advanced
features in the future.

KDE3_ADD_KPART(name [WITH_PREFIX] file1 … fileN )

Create a KDE plugin (KPart, kioslave, etc.) from the given source files.
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.

KDE3_ADD_KDEINIT_EXECUTABLE(name 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.

The option KDE3_ENABLE_FINAL to enable all-in-one compilation is no longer supported.

Author: Alexander Neundorf <>