Development/CMake: Difference between revisions

From KDE TechBase
(Replaced content with "Moved to https://community.kde.org/Guidelines_HOWTOs/CMake")
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
Most KDE software uses [http://www.cmake.org CMake] as a buildsystem. This page is the starting point for CMake-related documentation for KDE software.
Moved to https://community.kde.org/Guidelines_HOWTOs/CMake
 
You should be aware that there are two main development platforms that KDE software is based on: the older kdelibs4, and its replacement, the [http://api.kde.org/frameworks-api/frameworks5-apidocs/ KDE Frameworks]. Quite a bit of KDE software is in the process of transitioning from kdelibs4 to KDE Frameworks, and the way CMake is used is slightly different between the two.
 
 
==Building a project with CMake==
 
If you just want to build a CMake-based project on a UNIX system, the following recipe will do that:
 
    cd /path/to/project/source
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/where/to/install/to ..
    make
    make install
 
Don't forget to replace both paths. If you want an explanation of what this command does and how to make CMake behave differently, or you want to build on Windows or OS/X, see [[Development/CMake/Building]].
 
==Extra CMake Modules==
* [[Development/ECM_SourceIncompatChanges|Source Incompatible changes]]
* [http://api.kde.org/ecm API documentation]
 
== KDE4 Specific CMake Documentation==
 
;[[Development/Tutorials/CMake|CMake tutorial]]
:''An introduction to using CMake for KDE4''
 
;[[Development/CMake_FAQ|KDE's CMake FAQ]]
:''Some Frequently Asked Questions''
 
;[http://api.kde.org/cmake/modules.html KDE CMake modules API]
:''Documentation for all CMake modules in kdelibs (generated from kdelibs svn)''
 
;[[Development/CMake/DashboardBuilds|Nightly dashboard builds for KDE]]
: ''Describes the quality dashboard for KDE and how to set up Nightly builds for it''
 
;[[Development/CMake/Addons for KDE|KDE4 CMake Buildtypes, macros and variables]]
:''Documentation for the buildtypes (debugfull, release, ...), macros and variables for building KDE4 software, provided by FindKDE4Internal.cmake (manually written)''
 
;[[Development/Tools/Automoc4|Automoc4]]
:''Automoc4 documentation.''
 
;[[Development/CMake/Python|CMake for Python projects]]
:''How to integrate a Python project into the KDE4 cmake system.''
 
 
==Policies==
 
;[[Policies/CMake_Commit_Policy|Commit Policy for kdelibs/cmake/modules/]]
:''The files in kdelibs/cmake/modules/ are part of the public interface of KDE, some special policies apply to committing there.''
 
;[[Policies/CMake_and_Source_Compatibility|Source compatiblity with CMake]]
:''This page discusses what has to be taken care of in order to stay source compatible on the CMake level.''
 
;[[Policies/CMake_Coding_Style|Coding style for CMake files]]
:''Some guidelines how to write CMake scripts in KDE.''
 
==Changelog for KDE's CMake buildsystem==
 
;[[Development/CMake_KDE_4_5 |Changes in the buildsystem with KDE 4.5]]
:''What has changed in KDE 4.5 compared to KDE 4.4''
 
;[[Development/CMake_KDE_4_4 |Changes in the buildsystem with KDE 4.4]]
:''What has changed in KDE 4.4 compared to KDE 4.3''
 
;[[Development/CMake_KDE_4_3 |Changes in the buildsystem with KDE 4.3]]
:''What has changed in KDE 4.3 compared to KDE 4.2''
 
;[[Development/CMake_KDE_4_2 |Changes in the buildsystem with KDE 4.2]]
:''What has changed in KDE 4.2 compared to KDE 4.0/4.1''
 
==More Places to learn about CMake==
 
Here are some good places to learn about CMake in general:
* [http://www.cmake.org/HTML/Documentation.html CMake Manual]
* [http://www.cmake.org/Wiki/CMake CMake Wiki]
* [http://www.cmake.org/Wiki/CMake_HowToDoPlatformChecks CMake System Checks ]
* [http://www.cmake.org/Wiki/CMake_HowToFindInstalledSoftware Finding Optional Packages ]
* [http://www.cmake.org/Wiki/HowToBuildKDE4Software KDE 4 Tutorial at the CMake Wiki ]
* [http://www.cmake.org/Wiki/CMake_FAQ CMake FAQ]
* [http://www.elpauer.org/stuff/learning_cmake.pdf Slides for the "Learning CMake" seminar]
* [http://mail.kde.org/pipermail/kde-buildsystem/ The kde-buildsystem Mailing List Archive]
 
Also, consider joining the [http://www.cmake.org/mailman/listinfo/cmake CMake mailing list].

Latest revision as of 15:21, 10 March 2016