Difference between revisions of "CMake"
Verbalshadow (talk | contribs) (New page: Cmake is a cross-platform build system. And is know to work on all Work is a on going to get this build system functional. Here are some features of Cmake; CMake is an extensible, open...) |
Verbalshadow (talk | contribs) (Added Cmake samples) |
||
Line 1: | Line 1: | ||
− | + | == | |
+ | '''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. | CMake is an extensible, open-source system that has many powerful features. | ||
Line 22: | Line 21: | ||
* Ability to create Mac OSX Frameworks and Application Bundles. | * Ability to create Mac OSX Frameworks and Application Bundles. | ||
* Supports adding complex custom rules to the build. | * 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 == | ||
+ | <nowiki> | ||
+ | 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 | ||
+ | ) | ||
+ | </nowiki> | ||
+ | |||
+ | |||
+ | |||
+ | == 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) |
Revision as of 17:39, 30 March 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) * 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)