CMake 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
CMake 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 BSD
开发语言 C/C++ 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具项目构建
开发厂商
地区 不详
提 交 者 不详
适用人群 未知
收录时间 2009-02-06

软件简介

CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的语法。在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:

  1. 编写 CmakeLists.txt
  2. 执行命令 cmake PATH 或者 ccmake PATH 生成 Makefile ( PATH CMakeLists.txt 所在的目录 )
  3. 使用 make 命令进行编译。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
打分: 推荐
可以试试 #xmake#。。也很方便的,用xmake.lua来描述工程。。http://www.xmake.io target("test") set_kind("binary") add_files("src/*.c")
2017/01/19 22:40
回复
举报
flann #CMake#
2016/07/19 15:10
回复
举报
更多评论
09/24 07:23

Cmake 3.18.3 发布,开源构建系统

CMake 3.18.3 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 CMake 3.18.3 中的一些重要...

1
1
发表于DevOps专区
08/21 07:45

Cmake 3.18.2 发布,开源构建系统

CMake 3.18.2 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 CMake 3.18.2 中的一些重要...

3
4
07/18 07:27

CMake 3.18.0 发布,开源构建系统

CMake 3.18.0 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 CMake 3.18 中的一些重要变...

0
0
05/29 07:51

CMake 3.17.3 发布,开源构建系统

Cmake 3.17.3 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 该版本更新内容如下: PCH:...

4
2
04/13 07:21

Cmake 3.16.6 发布,开源构建系统

Cmake 3.16.6 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 该版本更新内容如下: Make...

1
0
发表于运维专区
04/11 08:00

CMake 3.17.1 发布,开源构建系统

CMake 3.17.1 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 该版本更新内容如下: Exte...

5
3
发表于运维专区
02/08 08:02

Cmake 3.16.4 发布,开源构建系统

Cmake 3.16.4 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 该版本更新内容如下: ASM_...

2
4
发表于运维专区
2019/12/22 07:45

CMake 3.16.2 发布,开源构建系统

CMake 3.16.2 已经发布,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 该版本更新内容如下: VS:...

0
5
发表于AI & 大数据专区
2019/05/16 06:12

CMake 3.14.4 发布,开源构建系统

CMake 3.14.4 发布了,CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。 该版本主要改进内容包括: 增加 ...

4
4
发表于软件架构专区
2019/01/16 08:58

CMake 3.13.3 发布

cmake 3.13.3 已发布。CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更...

0
0
发表于运维专区
2018/10/05 06:44

CMake 3.12.3 发布,自动化构建系统

cmake 3.12.3 已发布。CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简...

0
2
发表于AI & 大数据专区
2018/09/08 19:38

CMake 3.12.2 发布,自动化构建系统

cmake 3.12.2 已发布。CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简...

0
1
发表于AI & 大数据专区
2018/08/10 07:58

CMake 3.12.1 发布,自动化构建系统

cmake 3.12.1 发布了。CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简...

5
3
发表于软件架构专区
2018/07/18 08:01

自动化构建系统 CMake 3.12 发布,包含重要变化

CMake 3.12.0 现已发布,下载地址为 https://cmake.org/download/。 文档:https://cmake.org/cmake/help/v3.12 发布说明:https://cmake.org/cmake/help/v3.12/release/3.12.html CMake 3.12 包含不少重要的变化: The “target_link_libraries()” command now supports Object Libraries. Linking to an object libr...

0
3
发表于运维专区
2018/06/15 07:47

自动化构建系统 CMake 3.11.4 发布,常规维护版本

CMake 3.11.4 已发布,CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简...

2
1
发表于运维专区
2018/05/18 07:54

CMake 3.11.2 发布,自动化构建系统

CMake 3.11.2 已发布,CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简...

4
4
发表于开发技能专区
2018/03/29 11:21

自动化构建系统 CMake 3.11 现已支持 TI C/C++ 编译器

自动化构建系统 CMake 3.11 已发布,该版本添加了对 TI C/C++ 编译器的支持。更新内容较多,详情: Platforms TI C/C++ compilers are now supported by the Ninja generator. Generators The CodeBlocks extra generator learned to check a CMAKE_CODEBLOCKS_COMPILER_ID variable for a custom compiler identificati...

4
2
发表了资讯
2017/11/14 07:19

CMake 3.9.6 发布,自动化构建系统

CMake 3.9.6 已发布,CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的...

1
7
发表了资讯
2017/09/21 09:26

CMake 3.9.3 发布,自动化构建系统

CMake 3.9.3 已发布,CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的...

1
7
发表了资讯
2017/09/09 08:06

CMake 3.9.2 发布,自动化构建系统

CMake 3.9.2 发布了,CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的...

2
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/06/05 00:41

cmake

1.cmake_minimum_required(VERSION 3.7.1) cmake最低版本 2.project Sets the name of the project, and stores it in the variable PROJECT_NAME. When called from the top-level CMakeLists.txt also stores the project name in the variable CMAKE_PROJECT_NAME. 3.set(SOURCE_FILES main.c) 用SOURCE_FILES代替文件...

0
0
发表了博客
2019/02/22 20:35

cmake

cmake cmake 命令 1.cmake_minimum_required(VERSION 3.2) 指定最低cmake版本 2.project(project_name) 指定项目的名称,一般和项目到文件夹对应 3.include_directories(include) 添加各类文件夹路径,之后源代码可直接引用这些路径下到头文件 4.aux_source_directory(. src_list) 查找当前目录下所有到源文件并保存到s...

0
1
发表了博客
2019/03/05 17:52

CMake安装或CMake Error at CMakeLists

CMake安装或CMake Error at CMakeLists 发生情景: 使用cmake命令安装软件时,报如下错误: CMake Error at CMakeLists.txt:4 (CMAKE_MINIMUM_REQUIRED): CMake 3.0.2 or higher is required. You are running version 2.8.12.2 -- Configuring incomplete, errors occurred! 提示CMake版本低,需要更高版本。 解决方法:...

0
0
发表于服务端专区
2012/11/16 13:15

【整理】CMake 介绍和 CMake 实践

【CMake 优点】: 开放源代码,使用 BSD 许可证发布。 跨平台,可以生成 native 编译配置文件。在 linux/unix 平台可以生成 makefile,在 mac 平台可以生成 xcode,在 windows 平台可以生成 msvc 工程的配置文件。 能够管理大型项目。 简化编译构建过程和编译过程,只需要 cmake + make 就可以。 高效率。 可扩展,可以为...

2
9
发表了博客
2019/01/09 16:43

Cmake实践(Cmake Practice)第二部分

参考资料地址:https://github.com/Akagi201/learning-cmake/blob/master/docs/cmake-practice.pdf 一、静态库与动态库构建 本小节目标如下: 建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc向终端输出Hello World字符串 安装头文件与共享库 1. 建立工作目录t3 mkdir -p /backup/cmake/t3 2....

0
0
发表了博客
2019/01/09 14:31

Cmake实践(Cmake Practice)第一部分

参考资料地址:https://github.com/Akagi201/learning-cmake/blob/master/docs/cmake-practice.pdf 一、初识cmake 1. Cmake特点 开放源代码 跨平台 能够管理大型项目 简化编译构建和编译过程(常用流程:cmake + make) 高效率 可扩展 每个目录编写一份CMakeLists.txt 二、初试cmake —— helloworld 1. 准备工作 mkdir ...

0
0
发表了博客
2018/01/10 14:57

CMake Error at cmake/boost.cmake:76 (MESSAGE)

在源码安装mysql5.7系列时,出现如下错误: 错误现象: CMake Error at cmake/boost.cmake:76 (MESSAGE): You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>. If it is not there, it will download and unpack it (in that directory) for...

0
0
发表了博客
2014/05/12 21:28

CMake变量

影响CMake行为的变量 BUILD_SHARED_LIBS 如果为ON,则add_library默认创建共享库 CMAKE_ABSOLUTE_DESTINATION_FILES 安装文件列表时使用ABSOLUTE DESTINATION 路径 CMAKE_AUTOMOC_RELAXED_MODE 在严格和宽松的automoc模式间切换 CMAKE_BACKWARDS_COMPATIBILITY 构建工程所需要的CMake版本 CMAKE_BUILD_TYPE 指定基于mak...

0
0
发表了博客
2011/12/06 16:29

cmake find

Code: FindFoo.cmake IF (WIN32)   FIND_PATH( FOO_INCLUDE_PATH foo/foo.h     $ENV{PROGRAMFILES}/foo-0.1/include     DOC "The directory where foo/foo.h resides")   FIND_LIBRARY( FOO_LIBRARY     NAMES foo     PATHS     $ENV{PROGRAMFILES}/foo-0.1/lib     DOC "The Foo library") ELSE (WIN32)   FIND_PATH( FOO_INCLUDE_P...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于运维专区
2018/09/08 09:55

vtk如何编译成ios可用的framework

使用环境是xcode9和vtk8.1.1 使用Unix Makefile编译,总是提示"VTK not installed. Build the source then build the 'install' target." 查看了一下,原因是 # Make sure VTK is installed. if (NOT EXISTS "/Users/sunqiaobo/Desktop/vtk/vtk811bin/CMakeExternals/Install/vtk-ios-simulator/include/vtk-8.1") mess...

2
0
发表于软件架构专区
2019/01/24 11:38

Jenkins在构建时cmake build 时好慢好慢,有时候能编译四五十分钟,有什么方法优化下吗

Jenkins在构建时cmake build 时好慢好慢,有时候能编译四五十分钟,有什么方法优化下吗

3
1
发表了问答
2014/06/06 17:24

cmake使用ExternalProject_Add编译第三方库

include(ExternalProject) ExternalProject_Add(libuv #URL http://libuv.org/dist/v0.10.27/libuv-v0.10.27.tar.gz #SOURCE_DIR ${PROJECT_SOURCE_DIR}/third/libuv SOURCE_DIR /home/action/workspace/cmake/2/third/libuv BUILD_COMMAND ${MAKE} BUILD_IN_SOURCE 1 ) 具体的内容是这样,然后每次运行的结果都报错: ...

2
0
发表于开发技能专区
2018/01/25 00:02

我要疯了,cmake编译c++项目出现Imported targets not available for Boost version错误!

错误提示: 我改版本,怎样都不行。 现在的boost版本boost_1_63_0,cmake版本3.7.-0

1
1
发表了问答
2012/10/03 12:17

高手,请教个问题!关于CMAKE编译的问题。

@派卡琪安 你好,想跟你请教个问题: 我这里安装MYSQL-5.5.22时报错! 错误如下: root@dreamStartSystem usr]# cd mysql-5.5.22 [root@dreamStartSystem mysql-5.5.22]# cmake CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modules directory not found in /usr/l...

5
0
发表了问答
2017/10/22 21:00

cmake如何指定编译器

我源码编译了gcc-4.8.1安装路径在/usr/local/gcc,PATH路径也添加了 PATH=/usr/local/gcc-4.8.1/bin:$PATH,但是当我室友cmake进行编译的时候, 他总是会使用以前旧的版本,我就像知道为什么这样?我有什么办法让他使用以前的gcc版本吗?

1
0
发表了问答
2016/08/10 09:57

怎么使用CMake链接不同版本的第三方库?(vs2013)

比如我有一个工程, 需要用到第三方库,第三方库是已经编译好的, 有Debug版本和Release版本,现在用CMake生成工程后, 如果编译Debug版本的则配置链接到Debug版本的第三方库, Release也类似.CMakeLists.txt文件中应该怎么判断? 由于用的是VS2013, 所以不能用命令cmake -DCMAKE_BUILD_TYPE=Debug . 这种方法来编译.而且CMake...

2
0
发表了问答
2016/01/14 16:36

centos 下安装编译安装mysql 报错

cmake . -- Running cmake version 2.8.10.2 -- Could NOT find Git (missing: GIT_EXECUTABLE) -- Configuring with MAX_INDEXES = 64U -- Looking for SHM_HUGETLB -- Looking for SHM_HUGETLB - found -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint...

2
0
发表了问答
2015/10/24 15:41

Windows下用CMake编译源代码问题,求前辈们指点,我快抓狂了

最近在Windows下用CMake编译源代码,结果一直显示如下错误: 我查看了CMakeLists.txt里面的代码,发现了一个有趣的问题: 该文件里有一个变量ENERGYPLUS_EXPECTED_HASH,被赋值为上述提示中的expected hash值,而下载的压缩包每次的hash值都不同,这样怎么能让两者的值匹配呢? 求前辈们指点一二,我已经折腾了好长时间了...

1
0
发表了问答
2015/09/11 14:45

Cmake编译第三方库时出现问题

在ubuntu里面用cmake编译一个第三方的密码库的时候出现如下错误: CMake Error at src/CMakeLists.txt:9 (string): string no output variable specified 求解答!

4
0
发表了问答
2015/09/10 17:46

CMake 和 OopenCV配置问题

下载了CMake 3.3.1,已安装,和OpenCV2.4.11配置的时候出现错误,被迫终止。VS是2010版本,64位系统、win7. 求指教~多谢啦!

1
0
发表了问答
2015/08/11 22:54

CMake中如何使用find_library添加glibc库

运行环境:ubuntu 14.04 cmake:3.3 glib:2.19 我想要在下面的hello子目录中使用glibc库,请问应该怎么写该子目录下的CMakeLists.txt?如果使用find_library的话,要怎么写? 我的项目目录 laolang@laolang-Lenovo-G470:~/code/cmake/eclipse/HelloCMake$ tree . ├── bin ├── CMakeLists.txt ├── include │   ...

3
0
发表了问答
2015/05/13 13:02

cmake如何使用链接库?

请问cmake在配置文件中使用动态链接库和静态链接库?

7
0
发表了问答
2015/04/19 15:11

cmake mysql 报错 No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()

在cmake mysql中,配置完以下参数后,执行cmake,报错了。 cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql/ -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_MYISAMMRG_STORAGE_ENGINE=1 -DWITH_...

4
0
发表了问答
2014/11/05 22:28

怎样在cmakelists文件添加pcap库

怎样在cmakelists文件添加pcap,达到gcc -lpcap的效果。

4
0
发表了问答
2014/06/21 18:26

大牛们帮忙看看 cmake命令报错 错误如下

CMake Error at C:/Program Files/CMake/share/cmake-3.0/Modules/FindPackageHandleS tandardArgs.cmake:136 (message): Could NOT find TinyXML (missing: TINYXML_LIBRARY TINYXML_INCLUDE_DIR) Call Stack (most recent call first): C:/Program Files/CMake/share/cmake-3.0/Modules/FindPackageHandleStandardArgs...

3
0
发表了问答
2014/05/29 11:33

用Cmake编译的c++程序怎么打包啊?

比如用CMake编译的一个项目程序,怎样可以 打包?变成可以独立运行不依赖环境的程序呢?有没有具体的教程或者该怎么做的介绍啊?谢谢啊!

2
0
发表了问答
2014/05/04 15:07

debian7.5下源码编译cmake2.8.12.2,bash找不到cmake

debian7.5下源码编译cmake2.8.12.2,查看cmake版本,报错:

2
0
发表了问答
2014/03/04 23:52

Debian 下 如何 编译 源码 安装 软件呢,比如 为知 笔记

Debian 下 如何 编译 源码 安装 软件呢,比如 为知 笔记 https://github.com/WizTeam/WizQTClient 已经clone 下来了 。

15
1
发表了问答
2012/06/19 22:27

怎么去除CMake构建时输出的库文件名的前缀?就是那个非常无聊的lib前缀

用CMake构建项目时,生成的静态/动态库的文件名总会有"lib"这个前缀。我非常厌恶这种文件名,我的一个动态库的名称是lexi_v1,我希望生成的文件名是lexi_v1.dll,但是CMake总会多此一举,莫名其妙的加上lib,改了输出属性也一样,我想问有没有办法去掉那个该死的lib

4
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2 评论
129 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部