Clever Geek Handbook
📜 ⬆️ ⬇️

CMake

CMake (from the English cross-platform make ) is a cross-platform automation system for building software from source code . CMake does not directly build, it only generates build management files from CMakeLists.txt files:

  • Makefile on Unix systems for building with make ;
  • project / files ( .vcxproj / .vcproj / .sln ) files in Windows for building using Visual C ++ ;
  • Xcode projects on Mac OS X
CMake
Type of
Author
DevelopersAndy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Written onand
Interfaceand
operating system
First edition
Latest version
License
Site

Content

Comparing Autotools, Scons and CMake

Quite a long time ago, the Perl and M4- based Autotools system developed in the GNU community is widespread, but requires certain skills for practical use. Existing versions are incompatible with each other in some cases. Autotools is implemented for Unix / Linux platforms.

December 21, 2008, the SCons system (version 1.2.0) using the Python language appeared . On the one hand, this makes the system expandable, but on the other, it complicates its study and use, while reducing its speed . For example, to solve standard problems, you have to use "tricky" code.

CMake is written in C and uses an extremely simple macro language. At the same time, this language is sufficient for most configuration tasks. Separate configuration operations are implemented as plug-ins.

Many well-known free projects (for example, Blender , Wesnoth ) have just begun the transition from Autotools to SCons and CMake, and have not yet made a clear decision in favor of SCons or CMake.

CPack

Starting from version 2.4.2 [5] , CMake includes the automated system for building software packages CPack and the CMake module for interacting with it. The system allows you to create software packages for popular package managers ( DEB , RPM , DMG ), software installation tools ( NSIS for Microsoft Windows ), and build archives ( TGZ , TBZ2 , ZIP , self-extracting TGZ ) [6] .

CMake Software

  • Avidemux
  • Box2d
  • Bullet Physics Library
  • Chicken
  • Clementine
  • CryEngine v
  • Cuneiform
  • DevIL
  • Drishti
  • EiskaltDC ++
  • Freecad
  • GDCM
  • Igstk
  • Insight Segmentation and Registration Toolkit
  • KDE (from version 4)
  • Choqok
  • Kicad
  • LeechCraft
  • Llvm
  • LMMS
  • MuseScore
  • Mysql
  • Ogre
  • OpenSceneGraph
  • Paraview
  • PCSX2
  • Pichi
  • PvPGN
  • Quantum GIS
  • qutIM
  • ReactOS
  • Scribus
  • Slicer
  • Stellarium
  • SuperTux
  • The visualization toolkit
  • Opencv
  • Urho3d

Notes

  1. ↑ https://github.com/Kitware/CMake/releases/tag/v3.15.1 - 2019.
  2. C The cmake Open Source Project on Open Hub: Languages ​​Page - 2006.
    <a href=" https://wikidata.org/wiki/Track:Q124688 "> </a> <a href=" https://wikidata.org/wiki/Track:P1972 "> </a>
  3. ↑ https://gitlab.kitware.com/cmake/cmake/blob/master/Copyright.txt
  4. C The cmake Open Source Project on Open Hub: Licenses Page - 2006.
    <a href=" https://wikidata.org/wiki/Track:Q124688 "> </a> <a href=" https://wikidata.org/wiki/Track:P1972 "> </a>
  5. ↑ CMake: Packaging With CPack - KitwarePublic ( Unc .) . cmake.org. The appeal date is September 15, 2016.
  6. ↑ CMake: CPackPackageGenerators - KitwarePublic ( Unc .) . cmake.org. The appeal date is September 16, 2016.

See also

  • Automake
  • premake
  • Scons
  • VTK
  • Waf

Links

  • Official site
  • Developers talk about the history of the CMake project // Open Systems Journal, 2007/03
  • What is CMake? // Linux Format magazine, # 99 (12), December 2007 (wiki)
  • How to use CMake in KDE4
  • CMake Articles
  • Why did KDE switch to CMake ?
Source - https://ru.wikipedia.org/w/index.php?title=CMake&oldid=96064385


More articles:

  • Slivovica
  • Chemosynthesis
  • Lulu (singer)
  • Govorun
  • The Move
  • Special Motorized Police Units
  • Olymchyk
  • The Perfect Crime (Film, 1989)
  • Woman on Top
  • Liberal Democratic Party of Russia (faction)

All articles

Clever Geek | 2019