简介

CMake 可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。

“CMake”这个名字是“cross platform make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。

历史

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

cmake之交叉编译arm32/arm64(四)相关推荐

  1. linux使用cmake交叉编译arm32程序

    linux使用cmake交叉编译arm32程序 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 linux使用cmake交叉 ...

  2. cmake交叉编译android,CMake Android 交叉编译

    众所周知,AS现在可以利用Grandle调用cmake,实现c++代码在Android平台上的交叉编译.但是大多是情况下,项目代码不是从零开发,而是在现有代码的基础上移植到Android平台上.这种情 ...

  3. cmake 基本命令 交叉编译配置 模块的编写

    cmake 基本命令: cmake_minimum_required(VERSION 2.8.2 FATAL_ERROR) project("ProjName") // 不推荐使用 ...

  4. linux cmake增量编译,Cmake 设置交叉编译环境

    我用的是合众达的dm6446. 一  首先安装CMAKE 下载cmake 然后解压缩,进入解压缩后的目录,依次执行 # ./bootstrap # make && make insta ...

  5. cmake linux 交叉编译,[CMake]CMake设置arm-linux-gcc交叉编译器

    标签: cmake 交叉编译器 arm-linux-gcc 分类: 开发工具/开发环境 主机:Ubuntu18.04 交叉编译器:arm-linux-gcc CMake在ubuntu系统下默认使用系统 ...

  6. ARM32/ARM64函数调用规则

    1.ARM32函数调用约定 http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf 2.ARM64函数 ...

  7. 使用CMAKE和交叉编译工具链

    记录使用CMake过程中的一段CMakeLists.txt的代码以及交叉编译脚本cross.cmake的代码. 文章目录 一.CMakeLists.txt 二.cross.cmake 总结 提示:代码 ...

  8. Cmake NDK交叉编译Android平台程序

    当我们需要把我们的C++程序编译成Android平台的so库时,就需要用到交叉编译,有两种方法 目录 一:利用NDK进行编译 1.首先安装NDK 2.直接cmake, 二,独立的交叉编译工具链 1.安 ...

  9. RISC 架构 指令集及寄存器对比 ARM32 ARM64 RV32 RV64

    指令集 寄存器 ARM64与ARM32 aarch64的指令集是 A64A64移除了批量加载寄存器指令 LDM/STM, PUSH/POP, 使用STP/LDP 一对加载寄存器指令代替: A64没有提 ...

最新文章

  1. Cos和Qos有什么区别
  2. java打包要依赖maven库吗_maven-将依赖的 jar包一起打包到项目 jar 包中
  3. spoj 179. Word equations (代码等式)
  4. JSP 页面传值方法总结
  5. Java学习笔记2.1.1 Java基本语法 - Java代码基本格式
  6. 『PyTorch』第十五弹_torch.nn.Module的属性设置查询
  7. js ajax进度条,js 异步处理进度条
  8. 用户画像——《大数据用户画像的方法及营销实践》演讲
  9. 胡铸韬担任BCF理事
  10. Python中sys.argv[]的用法简明解释
  11. java手机飞信_手机飞信JAVA通用版 手机飞信2011通用版
  12. Word 标题后自动添加分页符、分节符显示与查看
  13. 猿创征文 | Git的良心教程
  14. adb shell get/setprop, setenforce...
  15. 邮箱授权码正确,却连接失败
  16. 7z文件压缩、解压 (7zTool.exe)
  17. ubuntu 10.04 恢复 默认桌面布局
  18. html日历表样式写法,css+html实现简单的日历
  19. 研究生阶段应该如何度过?
  20. STM32小白入门(第八天)-------低功耗蓝牙模块

热门文章

  1. Django的url别名功能的使用
  2. linux 添加硬盘
  3. Telnet 窗口看不见字符
  4. Python+Django数据库配置及使用——执行原始SQL并返回模型实例
  5. Ubuntu Vi编辑器中文乱码问题的解决
  6. oracle 10G表空间创建的步骤
  7. MS SQL Server 2000安装不成功的原因
  8. double-talk检测算法分类
  9. 机器学习-样本集(包括训练集及测试集)的选取
  10. 【机器人】机械臂与动捕Nokov的深入了解