CMake: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Line 66: | Line 66: | ||
* [http://emanuelgreisen.dk/stuff/kdevelop_am2cmake.php.tgz Alternative Automake2CMake (written in PHP)] Converts KDevelop projects that use automake to CMake. | * [http://emanuelgreisen.dk/stuff/kdevelop_am2cmake.php.tgz Alternative Automake2CMake (written in PHP)] Converts KDevelop projects that use automake to CMake. | ||
* [[CMake:ConvertFromQmake | qmake converter written in Ruby]] Converts projects that use Qt's qmake. | * [[CMake:ConvertFromQmake | qmake converter (written in Ruby)]] Converts projects that use Qt's qmake. | ||
* [http://websvn.kde.org/trunk/KDE/kdesdk/cmake/scripts/ gencmake (written in Ruby) ] Creates basic CMakeLists.txt files from looking at the existing files. | * [http://websvn.kde.org/trunk/KDE/kdesdk/cmake/scripts/ gencmake (written in Ruby) ] Creates basic CMakeLists.txt files from looking at the existing files. |
Revision as of 13:52, 12 June 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.
Development Topics
CMake
- Articles about CMake
- Platform Dependent Issues
- Various Editors / IDEs support
- Generator Specific Information
- Useful CMake Variables
- Macros contributed by Users
- CMake FAQ
- For CMake Hackers
CTest
- CTest Submission Issues
- CTest Nightly, Experimental, Continuous, ...
- CTest:Coverage
- CTest:FAQ
- Media:CTest Running Modes.pdf
CPack
Tutorials
CMake
- 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
- 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.
CTest
- 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.
CPack
- Packaging with CPack
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.
- am2cmake (written in 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.
- Alternative Automake2CMake (written in PHP) Converts KDevelop projects that use automake to CMake.
- qmake converter (written in Ruby) Converts projects that use Qt's qmake.
- gencmake (written in Ruby) Creates basic CMakeLists.txt files from looking at the existing files.
Administrative topics
- Where can I find more information about CMake?
- Where can I download CMake?
- What are some projects using CMake?