CMake: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 3: Line 3:
Welcome to CMake, the cross-platform, open-source make system. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation.
Welcome to CMake, the cross-platform, open-source make system. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation.


==Development Topics==
==CMake ==


===CMake===
===Tutorials===
* [[CMake:Articles|Articles about CMake]]
* [[CMake Platform Dependent Issues|Platform Dependent Issues]]
* [[CMake Editors Support|Various Editors / IDEs support]]
* [[CMake Generator Specific Information|Generator Specific Information]]
* [[CMake Useful Variables|Useful CMake Variables]]
* [[CMake User Contributed Macros| Macros contributed by Users]]
* [[CMake Cross Compiling| Cross compiling with CMake]]
* [[CMake FAQ]]
* [[CMake:For CMake Hackers|For CMake Hackers]]
 
===CTest===
* [[CTest:Submission Issues|Configuring CTest Submission Methods]]
* [[CTest:Nightly, Experimental, Continuous|CTest Nightly, Experimental, Continuous, ...]]
* [[CTest:Coverage]]
* [[CTest:FAQ]]
* [[Media:CTest Running Modes.pdf]]
 
===CPack===
* [[CPack:Generator Information|CPack Generator Information]]
 
==Tutorials==
 
===CMake===
* [http://www.linuxjournal.com/article/6700 Cross-Platform Software Development Using CMake]<br>Tutorial that should get anybody up to speed with CMake
* [http://www.linuxjournal.com/article/6700 Cross-Platform Software Development Using CMake]<br>Tutorial that should get anybody up to speed with CMake


Line 44: Line 21:


* [http://www.wxwidgets.org/wiki/index.php/CMake How to use CMake for building software with wxWidgets ]
* [http://www.wxwidgets.org/wiki/index.php/CMake How to use CMake for building software with wxWidgets ]
* [[CMake Cross Compiling| Cross compiling with CMake]]


* [http://www.call-with-current-continuation.org Chicken Scheme] -  is a Scheme-to-C compiler which supports all major C compilers and OSs. Its extensively commented build system is easy to understand and demonstrates many non-trivial CMake features, e.g. how to generate source files and executables that are needed by the build itself,  how to use ADD_CUSTOM_COMMAND to drive languages other than C/C++ and more.
* [http://www.call-with-current-continuation.org Chicken Scheme] -  is a Scheme-to-C compiler which supports all major C compilers and OSs. Its extensively commented build system is easy to understand and demonstrates many non-trivial CMake features, e.g. how to generate source files and executables that are needed by the build itself,  how to use ADD_CUSTOM_COMMAND to drive languages other than C/C++ and more.


=== Development Topics===
* [[CMake Useful Variables|Useful CMake Variables]]
* [[CMake Platform Dependent Issues|Platform Dependent Issues]]
* [[CMake Editors Support|Various Editors / IDEs support]]
* [[CMake Generator Specific Information|Generator Specific Information]]
* [[CMake User Contributed Macros| Macros contributed by Users]]
* [[CMake:For CMake Hackers|For CMake Hackers]]


===CTest===
===Converters from other buildsystems to CMake===
* [[CMake Testing With CTest|Testing With CTest]]<br>Introduces to testing with CTest, submitting dashboards, and using CMake to add tests to the test system.
 
* [[CMake Scripting Of CTest|CTest Scripting]]<br>Describes the scripting with CTest which can significantly simplify and automate testing and submitting dashboards.
 
* [[CMake Generating Testing Files|Generating Input Files For CTest]]<br>Describe more in details the concepts behind testing with CTest and also explans how to use CTest without using CMake.
 
===CPack===
* [[CMake:Packaging With CPack|Packaging with CPack]]<br>Introduction to CPack, installing and packaging of software.
 
 
==Converters from other buildsystems to CMake==


All converters listed here are not "complete", i.e. the generated CMake files are not 100% finished, in all cases some work is left for the developer.
All converters listed here are not "complete", i.e. the generated CMake files are not 100% finished, in all cases some work is left for the developer.
Line 73: Line 48:
* [http://www.eskilson.se/vcproj2cmake.rb vcproj2cmake.rb (requires Ruby)] Creates CMakeLists.txt files by extracting info from Visual Studio project files.
* [http://www.eskilson.se/vcproj2cmake.rb vcproj2cmake.rb (requires Ruby)] Creates CMakeLists.txt files by extracting info from Visual Studio project files.


==Administrative topics==
===More Information===
 
* [[CMake:Articles|Articles about CMake]]


* Where can I find more [[CMake Additional Information|information about CMake]]?
* Where can I find more [[CMake Additional Information|information about CMake]]?
Line 82: Line 59:


* [[CMake FAQ|CMake Frequently asked questions]]
* [[CMake FAQ|CMake Frequently asked questions]]
==CTest==
===Tutorials===
* [[CMake Testing With CTest|Testing With CTest]]<br>Introduces to testing with CTest, submitting dashboards, and using CMake to add tests to the test system.
* [[CMake Scripting Of CTest|CTest Scripting]]<br>Describes the scripting with CTest which can significantly simplify and automate testing and submitting dashboards.
* [[CMake Generating Testing Files|Generating Input Files For CTest]]<br>Describe more in details the concepts behind testing with CTest and also explans how to use CTest without using CMake.
===More Information===
* [[CTest:Submission Issues|Configuring CTest Submission Methods]]
* [[CTest:Nightly, Experimental, Continuous|CTest Nightly, Experimental, Continuous, ...]]
* [[CTest:Coverage]]
* [[Media:CTest Running Modes.pdf]]
* [[CTest:FAQ|CTest Frequently asked questions]]
* [[CTest:FAQ|CTest Frequently asked questions]]
==CPack==
===Tutorials===
* [[CMake:Packaging With CPack|Packaging with CPack]]<br>Introduction to CPack, installing and packaging of software.
===More Information===
* [[CPack:Generator Information|CPack Generator Information]]


{{CMake/Template/Footer}}
{{CMake/Template/Footer}}

Revision as of 19:53, 12 June 2007

CMakeBanner.jpg

Welcome to CMake, the cross-platform, open-source make system. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation.

CMake

Tutorials

  • Qt with CMake Explains how to use CMake to build software with Qt4 and how to use it for Qt3 and KDE3 applications
  • Chicken Scheme - is a Scheme-to-C compiler which supports all major C compilers and OSs. Its extensively commented build system is easy to understand and demonstrates many non-trivial CMake features, e.g. how to generate source files and executables that are needed by the build itself, how to use ADD_CUSTOM_COMMAND to drive languages other than C/C++ and more.

Development Topics

Converters from other buildsystems to CMake

All converters listed here are not "complete", i.e. the generated CMake files are not 100% finished, in all cases some work is left for the developer.

  • am2cmake (requires Ruby) Converts automake/autotools/libtool based projects to CMake. This one has been used for converting the KDE buildsystem to CMake. It's specialized in converting KDE 4 and KDE 3, but works also for other projects.

More Information


CTest

Tutorials

  • Testing With CTest
    Introduces to testing with CTest, submitting dashboards, and using CMake to add tests to the test system.
  • CTest Scripting
    Describes the scripting with CTest which can significantly simplify and automate testing and submitting dashboards.

More Information


CPack

Tutorials

More Information




CMake: [Welcome | Site Map]