CMake:How To Build KDE4 Software: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== A simple example == | |||
Let's just start with a simple example for an application, let's name it, well, kFoo. The CMakeLists.txt below gives the project a name, so that the project files for KDevelop/XCode/MSVC will have a good name. It will then find the KDE 4 installation on the system and setup the required include directories. The list of source files will be put into a variable named mySources, which will be automoced and then used to build an executable from it. The executable and its desktop file will finally be installed. | Let's just start with a simple example for an application, let's name it, well, kFoo. The CMakeLists.txt below gives the project a name, so that the project files for KDevelop/XCode/MSVC will have a good name. It will then find the KDE 4 installation on the system and setup the required include directories. The list of source files will be put into a variable named mySources, which will be automoced and then used to build an executable from it. The executable and its desktop file will finally be installed. | ||
<pre> | <pre> | ||
Line 18: | Line 20: | ||
install_files( ${XDG_APPS_DIR} FILES kfoo.desktop) | install_files( ${XDG_APPS_DIR} FILES kfoo.desktop) | ||
</pre> | </pre> | ||
== A full-featured example == | |||
Ok, and now for a full-featured but non-working example. | Ok, and now for a full-featured but non-working example. | ||
Line 24: | Line 28: | ||
<pre> | <pre> | ||
project(allForK) | project(allForK) | ||
find_package(KDE4 REQUIRED) | find_package(KDE4 REQUIRED) | ||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) | set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) | ||
</pre> | </pre> |
Revision as of 21:27, 30 March 2006
A simple example
Let's just start with a simple example for an application, let's name it, well, kFoo. The CMakeLists.txt below gives the project a name, so that the project files for KDevelop/XCode/MSVC will have a good name. It will then find the KDE 4 installation on the system and setup the required include directories. The list of source files will be put into a variable named mySources, which will be automoced and then used to build an executable from it. The executable and its desktop file will finally be installed.
project(kfoo) find_package(KDE4 REQUIRED) include_directories( ${KDE4_INCLUDES} ) set(mySources main.cpp mywidget.cpp mypart.cpp) kde4_automoc( ${mySources} ) kde4_add_executable(kfoo ${mySources}) target_link_libraries(kfoo ${KDE4_KDEUI_LIBS} ${KDE4_KPARTS_LIBS} ) install_targets( /bin kfoo) install_files( ${XDG_APPS_DIR} FILES kfoo.desktop)
A full-featured example
Ok, and now for a full-featured but non-working example.
Give the project a name, find KDE 4 and setup CMAKE_MODULE_PATH. This has the effect that cmake will also use check the ${CMAKE_SOURCE_DIR}/cmake directory for files if you use include(somefile) or find_package(something). Please note that this directory is added to the former contents of CMAKE_MODULE_PATH. This is important, since if find_package(KDE4) was successfully, it will have setup CMAKE_MODULE_PATH so that it points to the directory where the cmake files installed with kdelibs are located.
project(allForK) find_package(KDE4 REQUIRED) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})