CMake

✍ dations ◷ 2025-11-26 18:14:46 #自由软件,编译器软件,程序设计工具,自动化构建

CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个库。它用配置文件控制建构过程(build process)的方式和Unix的make相似,只是CMake的配置文件取名为CMakeLists.txt。CMake并不直接建构出最终的软件,而是产生标准的建构档(如Unix的Makefile或Windows Visual C++的projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake和SCons等其他类似系统的区别之处。CMake配置文件(CMakeLists.txt)可设置源代码或目标程序库的路径、产生适配器(wrapper)、还可以用任意的顺序建构可执行文件。CMake支持in-place建构(二进档和源代码在同一个目录树中)和out-of-place建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake也支持静态与动态程序库的建构。

“CMake”这个名字是"Cross platform Make"的缩写。虽然名字中含有"make",但是CMake和Unix上常见的“make”系统是分开的,而且更为高端。它可与原生建置环境结合使用,例如:make、苹果的Xcode与微软的Visual Studio。

CMake是为了解决美国国家医学图书馆出资的Visible Human Project项目下的Insight Segmentation and Registration Toolkit(ITK)软件的跨平台建构的需求而创造出来的,其设计受到了Ken Martin开发的pcmaker所影响。pcmaker当初则是为了支持Visualization Toolkit(VTK)这个开放源代码的三维图形和视觉系统才出现的,今日VTK也采用了CMake。在设计CMake之时,Kitware公司的Bill Hoffman采用了pcmaker的一些重要想法,加上更多他自己的点子,想把GNU建构系统的一些功能集成进来。CMake最初的实现是在2000年中作的,在2001年初有了急速的进展,许多改良是来自其他把CMake集成到自己的系统中的开发者,比方说,采用CMake作为建构环境的VXL社群就贡献了很多重要的功能,Brad King为了支持CABLE和GCC-XML这套自动包装工具也加了几项功能,通用电气公司的研发部门则用在内部的测试系统DART,还有一些功能是为了让VTK可以过渡到CMake和支持洛斯阿拉莫斯国家实验室的Advanced Computing Lab的平行视觉系统ParaView而加的。

相关

  • 和歌山县立医科大学和歌山县立医科大学(日语:わかやまけんりついかだいがく)是日本的公立大学。1945年创校。1948年设立大学部。大学略称为和医大。
  • 英格兰与苏格兰共主邦联《1603年联合法案》(Union of the Crowns 1603)于1603年3月24日经王室同意通过,英国女王伊丽莎白一世指定詹姆士为其继承人后驾崩。于是詹姆士兼任英国国王,称詹姆士一世。在此
  • 学院哥特式学院哥特式建筑(Collegiate Gothic)是哥特复兴式建筑的一种,吸取了英格兰的都铎式建筑和哥特式建筑的特色。它在19世纪末至20世纪初流行于美国和加拿大的大学和学院中,因而得名
  • 微分方程微分方程(英语:Differential equation,DE)是一种数学方程,用来描述某一类函数与其导数之间的关系。微分方程的解是一个符合方程的函数。而在初等数学的代数方程里,其解是常数值。
  • 鳞足蜗牛鳞角腹足蜗牛(学名:Chrysomallon squamiferum)是一种生活在深海热泉的海螺,属于Peltospiridae(英语:Peltospiridae)科的海洋腹足纲软体动物物种,也是鳞角腹足蜗牛属(Chrysomallon)的单
  • 慈湖慈湖可以指:
  • 莲蓉莲茸,亦作莲蓉,是在广式点心中常见、由莲子制成的馅料。可将莲子浸透加水煮,熟后隔水
  • 迈杜古里迈杜古里是尼日利亚东北部博尔诺州的首府,是该国北部最大的城市之一,经济活动以服务业和制造业为主。该城市沿季节性河流恩加达河而建。 根据2007年预计,迈杜古里2009年人口1,1
  • 富厚堂富厚堂位于中国湖南省双峰县荷叶镇富坨村(原属湘乡县),是清代名臣曾国藩家族的府第。曾氏家族在富坨村本有祖业田庄,清咸丰七年曾国藩于此建立家庙,田宅后分归其弟曾国荃,同治四年
  • 德奥拉利德奥拉利(Deolali),是印度马哈拉施特拉邦Nashik县的一个城镇。总人口50617(2001年)。该地2001年总人口50617人,其中男性27693人,女性22924人;0—6岁人口6024人,其中男3212人,女2812人;