CMake

✍ dations ◷ 2025-07-21 22:58:28 #自由软件,编译器软件,程序设计工具,自动化构建

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而加的。

相关

  • 锈菌纲见内文Pucciniomycetes D.Hawksw., B.Sutton & Ainsw. (1983)柄锈菌纲(学名:Pucciniomycetes),以前曾称为锈菌纲(Urediniomycetes),是担子菌门柄锈菌亚门下一个真菌的纲。此纲包含5
  • 聚丙烯酰胺聚丙烯酰胺(polyacrylamide,可缩写为PAM或PAAM),化学式-nCONH2-,是由丙烯酰胺单体聚合而成的聚合物。 丙烯醘胺需要用良好药品实验研究规范(Good Laboratory Practices, GLP)处理以
  • 食物添加剂食品添加剂是为了保持味道或增强口感、改善外观添加到食物中的物质。 一些添加剂已经使用了几个世纪;例如,(用醋)腌制、盐腌来保存食物(如腌肉),糖果的保存以及用二氧化硫来保存葡
  • TMN三叉神经运动核是位于脑桥的一个神经核团,它包含三叉神经的第一腮弓的支配肌肉的运动神经元的细胞体。这些受支配的骨骼肌是与咀嚼功能相关的肌肉,包括 鼓膜张肌,颚帆张肌,下颌
  • 苏共中央政治局苏联主题苏联共产党中央政治局 (俄语:Политбюро ЦК КПСС,罗马化:Politbyuro TsK KPSS),1952至1966年间称为“苏共中央主席团”,为苏联共产党的中央决策和领导机构。
  • 气 (中国)传统宗教仪式:神明秘密社会:气是中国哲学、道教和中医学中常见的概念。中国历史春秋战国时代的思想家,将气的概念抽象化,成为天地一切事物组成的基本元素,有着像气体般的流动特性
  • 江淮江淮,顾名思义,指江(长江)、淮(淮河)一带,广义上指江南、淮南地区,狭义上指长江、淮河之间的地区,即今江苏、安徽的中部地区。在古代,江淮指江南、淮南地区,汉朝时仍未开发,九江“郡多虎
  • 18街车站18街车站(英语:18th Street station)可以指:
  • 春侧金盏花春侧金盏花(学名:),又名春福寿草,英文名的俗称:pheasant's eye, spring pheasant's eye, yellow pheasant's eye and false hellebore,是一种多年生的开花植物,生长在欧亚大陆的干旱
  • 奥斯卡·鲍曼奥斯卡·鲍曼(Oscar Baumann;1864年6月25日-1899年10月12日)出生于维也纳,是奥地利的一位地图制作者,对人种学感兴趣。1885年的参加奥地利探险队到刚果盆地的远征,但因身体原因提前