CMake是一个开源的、跨平台的安装(编译)工具,用于构建、测试和打包软件,可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake工具套件是由Kitware创建的,以满足开源项目(如ITK和VTK)强大的跨平台构建环境的需求。
CMake支持in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。它使用简单的平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用的本机makefile和工作空间。
CMake缓存:
缓存最好被认为是一个配置文件。事实上,Unix用户可以将缓存看作等同于传递给configure命令的一组标志。第一次运行CMake时,它会生成一个CMakeCache.txt文件。此文件包含诸如本机JPEG库的存在和位置之类的内容。添加条目以响应某些CMake命令(例如FIND_LIBRARY),因为它们在源树中的任何地方在CMakeLists文件中的任何地方处理。在CMake运行后,并创建了一个CMakeCache.txt文件 - 你可以编辑它。CMake GUI,将允许您轻松地编辑选项,或者您可以直接编辑文件。编辑缓存的主要原因是给予CMake本地库(如JPEG)的位置,或者阻止它使用本地库并在源代码树中使用库的版本。CMake不会改变缓存文件本身中的现有条目。如果您的CMakeLists.txt文件变化显着,您将需要从缓存文件中删除相关条目。如果你还没有手动编辑缓存文件,你可以删除它,然后重新运行CMake。