1.基本命令

1. cmake_minimum_required(VERSION 2.8)  ///检查cmake的版本,至少为2.8
2. PROJECT(helloworld)    ///工程名为helloworld
# 通过在主工程文件CMakeLists.txt中修改ADD_SUBDIRECTORY (lib) 指令来指定一个编译输出位置;
# 指定本工程中静态库libhello.so生成的位置,即 build/lib;
ADD_SUBDIRECTORY(lib)
3. aux_source_directory(.  SRC_LIST) ///查找当前目录下所有的源文件并保存到SRC_LIST变量中
4.INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include   ${PROJECT_SOURCE_DIR}/abc)  ///将根目录下的include和abc加入包含目录列表
5. LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/lib)  ///将 ./lib加入编译器链接阶段的搜索目录列表
6. add_executable(hello  $(SRC_LIST})  ///使用SRC_LIST源文件列表里的文件生成一个可执行文件hello
如:add_executable(hello main.cpp base.cpp base.h)  
7. add_library(hello STATIC ${SRC_LIST})   使用SRC_LIST源文件列表里的文件生成一个静态链接libhello.a
ADD_LIBRARY (base STATIC ${SRC_LIST})
8. add_library(hello SHARD ${SRC_LIST})   使用SRC_LIST源文件列表里的文件生成一个动态链接库libhello.so
9. target_link_libraries(hello a b.a c.so) /// 将若干库文件链接到目标hello中,target_link_libraries里的库文件的顺序符合gcc/g++链接顺序的规则,即被依赖的库放在依赖它的库的后面,如果顺序有错,链接时会报错。

2.一个小例子

cmake_minimum_required(VERSION 3.8)PROJECT (Tsinghua)
INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/eigen3)
SET (SRC_LIST base.cpp )
ADD_LIBRARY (base_static STATIC ${SRC_LIST})
add_executable(hello main.cpp base.cpp base.h)  

Cmake生成平台适应性的解决方案->VS编译解决方案

    

Cmake常用基本命令复习相关推荐

  1. 布丁浅谈之Linux常用基本命令

    常用基本命令 VI VIM编辑器 概念:是Linux系统命令行下的文本编辑器. 一般模式 dd 删除光标当前行 dnd 删除n行 u 撤销上一步 x 删除一个字母,类似于键盘上Delete功能 X 删 ...

  2. mysql基本命令总结_mysql 常用基本命令总结

    mysql 常用基本命令1.登录 MySQL服务器 mysql –h ip地址:端口(如果是3306可以省略) –u mysql用户名 -p mysql -h localhost:3306 -u ro ...

  3. 【使用CMake组织C++工程】2:CMake 常用命令和变量

    前言 前面的文章介绍了一个最简单的CMake工程,这篇文章将介绍一个稍微复杂一些的CMake工程,结合这个工程总结一下在组织一个C/C++工程时最为常用的一些CMake命令和变量.对于涉及到的命令和变 ...

  4. cmake 常用变量和常用环境变量查表手册

    cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定 ...

  5. 【Tools】cmake 常用变量和常用环境变量查表手册---整理

    原文链接:https://blog.csdn.net/gubenpeiyuan/article/details/8667279 一.cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量 ...

  6. FFmpeg常用基本命令

    FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i inp ...

  7. C语言再学习 -- Linux 中常用基本命令

    参看:linux常用基本命令 参看:Ubuntu常用命令大全 #arch                                              #显示机器的处理器架构 # unam ...

  8. ffmpeg 常用基本命令和ffmpeg处理RTMP流媒体的常用命令

    ffmpeg 常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i in ...

  9. Linux(centos)的常用基本命令

    2019独角兽企业重金招聘Python工程师标准>>> Linux的常用基本命令. 首先启动Linux.启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中&quo ...

最新文章

  1. Magento开发的特点有哪些?
  2. 机器学习 TOP 10 必读论文 | 资源
  3. Linux 空格转换行
  4. UA MATH524 复变函数6 Green定理与Green公式
  5. CentOS内核编译
  6. FolderBrowserDialog(文件夹浏览对话框)
  7. C#基础_值类型引用类型(十一)
  8. Netflix 付费用户达2亿、苹果VR眼镜、抖音电子钱包、虚幻引擎用于电影制作等|Decode the Week...
  9. 求解决方法_解决方法
  10. Java中的阻塞队列-LinkedBlockingQueue(二)
  11. 初学者怎样看懂python代码_入门编程(初学者怎样看懂代码)
  12. Java知多少(28)super关键字
  13. Pure Pursuit纯跟踪算法Python/Matlab算法实现
  14. pytorch中的gather函数_Pytorch中Emdedding函数的解释及使用方法
  15. charles工具页面介绍
  16. 港顺计算机怎么放音乐,csgo怎么放歌 CSGO内置语音播放歌曲
  17. 多线程/多进程/异步IO
  18. 联想服务器风扇智能调节,联想怎么调风扇转速
  19. springboot validation详解
  20. 在word中如何制作问卷调查?原来是使用word控件技巧!

热门文章

  1. ios开发人员mac空间不够用的解决办法
  2. C# addin 开发心得记录
  3. 配置单节点伪分布式Hadoop
  4. 升腾联手VMware 发布首款本土化桌面虚拟化
  5. Matplotlib图例中文乱码
  6. NYOJ 663 弟弟的作业
  7. NYOJ 630 Problem of IP
  8. <DependencyManagement>记录
  9. spring核心之IOC
  10. JAVA --BYTECODE