Difference between revisions of "CMake"
Jump to navigation
Jump to search
Prokoudine (talk | contribs) (markup fix) |
|||
Line 1: | Line 1: | ||
'''Work is a on going to get this build system functional!''' | |||
'''Work is a on going to get this build system functional | |||
Cmake is a cross-platform build system know to work on all major platforms we support (*nix, Windows, OSX). | |||
Cmake is a cross-platform build system know to work on all major platforms we support(*nix, Windows, OSX). | |||
CMake is an extensible, open-source system that has many powerful features. | CMake is an extensible, open-source system that has many powerful features. | ||
Those features include: | Those features include: | ||
* Supports complex, large build environments. CMake has been proven in several large projects (KDE, ParaView, SecondLife, Scribus) | |||
* Generates native build files (e.g., makefiles on Unix; workspaces/projects on MS Visual C++). Therefore, standard tools can be used on any platform/compiler configuration. | |||
* Powerful system introspection abilities including the ability to find installed include files, libraries and executables. Also the ability to test the compiler for supported features. | |||
* Integrated testing system called CTest. | |||
* Integrated packaging system called CPack. | |||
* Easy integration with CDash and Dart dashboard servers. | |||
* Powerful scripting language with simple syntax. | |||
* Supports in-place and out-of-place builds. Multiple compilation trees are possible from a single source tree. | |||
* Can be easily extended to add new features. | |||
* CMake is open source, under a liberal BSD license. | |||
* CMake operates with a cache designed to be interfaced with a graphical editor. The cache provides optional interaction to conditionally control the build process. | |||
* Ability to create Mac OSX Frameworks and Application Bundles. | |||
* Supports adding complex custom rules to the build. | |||
== How you can help | == How you can help == | ||
Right now we are going through all of the directories and sub-directories in the src folder and add a CMakeLists.txt file | Right now we are going through all of the directories and sub-directories in the src folder and add a CMakeLists.txt file |
Revision as of 12:36, 4 April 2008
Work is a on going to get this build system functional!
Cmake is a cross-platform build system know to work on all major platforms we support (*nix, Windows, OSX).
CMake is an extensible, open-source system that has many powerful features. Those features include:
- Supports complex, large build environments. CMake has been proven in several large projects (KDE, ParaView, SecondLife, Scribus)
- Generates native build files (e.g., makefiles on Unix; workspaces/projects on MS Visual C++). Therefore, standard tools can be used on any platform/compiler configuration.
- Powerful system introspection abilities including the ability to find installed include files, libraries and executables. Also the ability to test the compiler for supported features.
- Integrated testing system called CTest.
- Integrated packaging system called CPack.
- Easy integration with CDash and Dart dashboard servers.
- Powerful scripting language with simple syntax.
- Supports in-place and out-of-place builds. Multiple compilation trees are possible from a single source tree.
- Can be easily extended to add new features.
- CMake is open source, under a liberal BSD license.
- CMake operates with a cache designed to be interfaced with a graphical editor. The cache provides optional interaction to conditionally control the build process.
- Ability to create Mac OSX Frameworks and Application Bundles.
- Supports adding complex custom rules to the build.
How you can help
Right now we are going through all of the directories and sub-directories in the src folder and add a CMakeLists.txt file
SIMPLE CmakeLists.txt
SET(libavoid_SRC connector.cpp geometry.cpp graph.cpp makepath.cpp polyutil.cpp region.cpp router.cpp shape.cpp static.cpp timer.cpp vertices.cpp visibility.cpp )
SIMPLE with single sub-directory Cmakelists.txt
SET(libavoid_SRC connector.cpp geometry.cpp graph.cpp makepath.cpp polyutil.cpp region.cpp router.cpp shape.cpp static.cpp timer.cpp vertices.cpp visibility.cpp #Add our subdirectory sourcelist Var ${libavoid_parameter_SRC} ) # this adds a single sub-directory ADD_SUBDIRECTORY(parameter)
Testing/Using
Experience with Scribus strongly suggests using an "out of source"build arrangement. E.g.
mkdir buildinkscape cd buildinkscape cmake ./path/to/inkscape/sources
References:
Installing Scribus with Cmake
Installing with CMake on OSX