CMake: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
(→CMake) |
|||
Line 18: | Line 18: | ||
* [[CMake Platform Dependent Issues|Platform Dependent Issues]] | * [[CMake Platform Dependent Issues|Platform Dependent Issues]] | ||
* [[CMake Cross Compiling| Cross compiling with CMake]] | * [[CMake Cross Compiling| Cross compiling with CMake]] | ||
* [[CMake RPATH handling|RPATH handling with CMake]] | * [[CMake RPATH handling|RPATH handling with CMake]] | ||
* [[CMake Editors Support|Editors/IDEs with CMake support]] | * [[CMake Editors Support|Editors/IDEs with CMake support]] | ||
* [[CMake Generator Specific Information|Generator Specific Information]] | * [[CMake Generator Specific Information|Generator Specific Information]] | ||
* [[CMake:Module Maintainers|Module Maintainers]] | * [[CMake:Module Maintainers|Module Maintainers]] | ||
* [[CMake:VariablesListsStrings| On variables, lists, strings, maps, regexps, etc.]] | * [[CMake:VariablesListsStrings| On variables, lists, strings, maps, regexps, etc.]] | ||
* [[CMake:OpenTasks| CMake TODO]] | * [[CMake:OpenTasks| CMake TODO]] | ||
* [[CMake Released Versions|Documentation for previous CMake releases]] | |||
===Tutorials=== | ===Tutorials=== | ||
Line 74: | Line 69: | ||
* What are some [[CMake Projects|projects using CMake]]? | * What are some [[CMake Projects|projects using CMake]]? | ||
===More Specific Topics=== | |||
* [[CMake Fortran Issues|Fortran Issues]] | |||
* [[CMake:For CMake Hackers|For CMake Hackers]] | |||
* [[CMake:Experiments With Lua|Experiments With Lua]] | |||
* [[CMake Performance Tips|Performance Tips]] | |||
* [[CMake User Contributed Macros| Macros contributed by Users]] | |||
==CTest== | ==CTest== |
Revision as of 16:35, 30 December 2007
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.
You will find here not only documentation for CMake, but also for CPack and CTest.
CMake
Primary Resources - Look here first!
- Where can I download CMake?
- CMake Documentation
- Useful CMake Variables
- CMake Frequently asked questions
- CMake Mailing List
Development Topics
- Platform Dependent Issues
- Cross compiling with CMake
- RPATH handling with CMake
- Editors/IDEs with CMake support
- Generator Specific Information
- Module Maintainers
- On variables, lists, strings, maps, regexps, etc.
- CMake TODO
- Documentation for previous CMake releases
Tutorials
- Cross-Platform Software Development Using CMake
Tutorial that should get anybody up to speed with CMake
- How to write platform checks with CMake
Describes how to implement platform or configure checks with CMake.
- How to find installed software with CMake
Describes how to search for and then use software packages with CMake.
- How to find and use existing frameworks on OS X
A quick example to help OS X users find frameworks automatically.
- Qt with CMake
Explains how to use CMake to build software with Qt4 and how to use it for Qt3 and KDE3 applications
- CMake with Eclipse
Describes one way of setting up your project to work with Eclipse 3.3 and CDT 4.0, better know as Eclipse Europa.
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, spezialiced in converting from KDE 3 to KDE 4, should also work for others. This one has been used for converting the KDE buildsystem to CMake.
- Alternative Automake2CMake (requires PHP) Converts KDevelop projects that use automake to CMake.
- qmake converter (requires Ruby) Converts projects that use Qt's qmake.
- gencmake (requires Ruby) Creates basic CMakeLists.txt files from looking at the existing files.
- vcproj2cmake.rb (requires Ruby) Creates CMakeLists.txt files by extracting info from Visual Studio project files.
Success Stories
- What are some projects using CMake?
More Specific Topics
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.
- Generating Input Files For CTest
Describe more in details the concepts behind testing with CTest and also explans how to use CTest without using CMake.
More Information
- Configuring CTest Submission Methods
- CTest Nightly, Experimental, Continuous, ...
- CTest:Coverage
- Media:CTest Running Modes.pdf
- CTest Frequently asked questions
CPack
Tutorials
- Packaging with CPack
Introduction to CPack, installing and packaging of software. - CPack Variables
- Supported package formats
More Information