CMake简单入门

来源:互联网 发布:指南针2017软件骗局 编辑:程序博客网 时间:2024/05/17 23:57

    • 可以跳过的前奏部分
      • cmake简介
      • cmake的特点
    • cmake安装
    • 使用说明
      • 基本命令
      • 基本流程

可以跳过的前奏部分

cmake简介

cmake是kitware公司以及一些开源开发者在开发几个工具套件(VTK)的过程中衍生品,最终形成体系,成为一个独立的开放源代码项目。项目的诞生时间是2001年。官方网站www.cmake.org.
cmake的流行其实要归功于KDE4的开发(似乎跟当年的svn一样,KDE将代码仓库从CVS迁移到SVN,同时证明了SVN管理大型项目的可用性),在KDE开发者使用了近10年autotools之后,他们终于决定为KDE4选择一个新的工程构建工具,其根本原因用KDE开发者的话来说就是:只有少数几个”编译专家”能够掌握KDE现在的构建体系(admin/Makefile.common),在经历了unsermake, scons以及cmake的选型和尝试之后,KDE4决定使用cmake作为自己的构建系统。在迁移过程中,进展异常的顺利,并获得了cmake开发者的支持。所以,目前的KDE4开发版本已经完全使用cmake来进行构建。像kdesvn,rosegarden等项目也开始使用cmake,这也注定了cmake必然会成为一个主流的构建体系。

LL: KDE是有点意思,得找个时间玩一下。

cmake的特点

  • 开源,使用类BSD许可发布。http://cmake.org/HTML/Copyright.html

  • 跨平台,并可生成native编译配置文件,在Linux/Unix平台,生成makefile,在苹果平台,可以生成xcode,在Windows平台,可以生成MSVC的工程文件。

  • 能够管理大型项目,KDE4就是最好的证明。

  • 简化编译构建过程和编译过程。Cmake的工具链非常cmake+make

  • 高效虑,按照KDE官方说法,CMake构建KDE4kdelibs要比使用autotools来构建KDE3.5.6kdelibs快40%,主要是因为 Cmake在工具链中没有libtool

  • 可扩展,可以为cmake编写特定功能的模块,扩充cmake功能。

cmake安装

yum install cmake

使用说明

基本命令

  • 设置cmake版本最小值
cmake_minimum_required(VERSION 2.6)
  • 设置项目名称
project(CMakeTest)

基本流程

  • 设置所需的cmake最小版本
  • 指定C交叉编译器,必须配置
  • 或交叉编译器使用绝对地址
  • 指定C++交叉编译器
  • 设置项目名称
set(bin_name imudaq)set(project_name imudaq)project(${project_name})
  • 设置编译选项
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb3")set(    CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")ADD_DEFINITIONS(-g -Wall)set(src_path ${CMAKE_CURRENT_SOURCE_DIR}/..)
  1. set(src_path /home/admin/project/src)
  2. 设置包含头文件路径
  1. 链接的库文件路径
  2. 设置链接的库文件
  3. cmake path
  4. make
  5. make install
原创粉丝点击