Really Cool CMake Features: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(New page: Here is a feature list of CMake that is in no particular order. There are a lot of small and big things that CMake can do. CMake comes with three main packages CMake, CTest, and CPack. ...)
 
(Replace content with link to new CMake community wiki)
 
(24 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Here is a feature list of CMake that is in no particular order.  There are a lot of small and big things that CMake can do. CMake comes with three main packages CMake, CTest, and CPack.
{{CMake/Template/Moved}}


Major (and minor features for CMake)
This page has moved [https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/Really-Cool-CMake-Features here].
 
* Color output for make
* Progress output for make
* Incremental linking support with vs 8,9 and manifests
* Auto-rerun of cmake if any cmake input files change (works with vs 8, 9 using ide macros)
* Auto depend information for C++, C, and Fortran
* Full support for library versions
* Full cross platform install system.
* Generate project files for major IDE's Visual Studio, Xcode, Eclipse KDevelop
** not tied to make, other generators like ant possible
* Ability to add custom rules and targets
* Compute link depend information, and chaining of dependent libraries
* Works with parallel make and is fast, can build very large projects like KDE on build farms
* make help. make foo.s, make foo.E
* Advanced RPATH handling, full support for all kinds of static/shared
libs and plugins, no more cryptic foo.la libtool "libraries"
* Works on many host operating systems (a full list would be good)
* Supports many toolchains: GNU, MS, Borland, Sun, also e.g sdcc
* Full dependencies: build a target in some directory, and everything
this target depends on will be up to date
* Extensive test suite and nightly builds/test on many platforms
* modular design (e.g. the Find modules, language, toolchain and OS
support files) * > easily extendable
* just one tool instead of automake+autoconf+libtool+m4+shell+make
* it's a native tool, windows devs don't have to deal with POSIX
shells, OSX devs can continue to use XCode
* can create OSX library frameworks
* Beta cross compiling, to Linux, Windows, eCos, supercomputers, no OS, from
8bit uCs to 64bit CPUs
* support for chrpath, i.e. changing the RPATH without need to actually
link again
 
* CTest
 
* CPack
** packaging with cpack, supports also rpm and deb (need feedback)

Latest revision as of 15:41, 30 April 2018


The CMake community Wiki has moved to the Kitware GitLab Instance.

This page has moved here.