IDE configuration support ĬMake can generate project files for several popular IDEs, such as Microsoft Visual Studio, Xcode, and Eclipse CDT. Its open-source, extensible design allows CMake to be adapted as necessary for specific projects. In addition, CMake can work with projects that require executables to be created before generating code to be compiled for the final application. For instance, CMake is able to accommodate a project that has multiple toolkits, or libraries that each have multiple directories. The cache can be edited with a graphical editor, which is shipped with CMake.Ĭomplicated directory hierarchies and applications that rely on several libraries are well supported by CMake. These locations are stored in a cache, which can then be tailored before generating the target build files. Flexible project structure ĬMake can locate system-wide and user-specified executables, files, and libraries. Dependency management ĬMake keeps track and recompiles all the upstream dependencies of a given sub-module if its sources are changed. Separate source and build files ensure that removing a build directory will not affect source files and prevents clutter which might confuse version control systems. This enables multiple builds from the same source tree and cross-compilation. One of its major features is the ability to place compiler outputs (such as object files) into a build tree which is located outside of the source tree. The commands add_compile_options, include_directories, link_directories, link_libraries that were at the core of CMake 2 should now be replaced by target-specific commands.įeatures Separate build tree Experts now advise to avoid variables in favor of targets and properties. It has been described as the beginning of "Modern CMake". Additional features were created when VTK transitioned to CMake for its build environment and for supporting ParaView. Ĭontinued development and improvements were fueled by the incorporation of CMake into developers’ own systems, including the VXL Project, the CABLE features added by Brad King, and GE Corporate R&D for support of DART. system checks and introspection (similar to Autotools): what system could and could not doīecause of these constraints CMake didn't choose to use Tcl (popular at the time) scripting language as its default and instead, developers decided to create a simpler scripting language.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |