码迷,mamicode.com
首页 > 其他好文 > 详细

cmake 构建工程

时间:2019-12-22 14:56:37      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:添加   sha   usr   编写   makefile   代码   white   tin   进入   

说明:文章参照《CMAKE实践》

1、首先创建工程目录:/learn/cmake/project

  project目录中需要编写CMakeLists.txt

2、在project中创建src子目录:

  放置工程源代码
  src目录中需要编写CMakeLists.txt
3、在project中创建build子目录:
编译目录,外部编译时,(cmake .. )生成得编译需要的Makefile以及其他的中间文件,会在这个目录中,
(make)生成的目标文件 target 会在 build/bin 目录中
4、在project中创建doc子目录
  存放工程文档project.txt
5、在project中添加文本文件COPYRIGHT,README;
  touch COPYRIGHT
  touch README
6、在工程目录中添加一个runtarget.sh脚本,用来调用相应的二进制文件
 
工程构建并编译完成之后,可以安装:
在project中的CMakeLists.txt 中添加INSTALL指令来安装COPYRIGHT,README,runtarget.sh脚本,/doc/project.txt,target(可执行文件)

注释:本例子中的目标文件为hello
INSTALL(FILES COPYRIGHT README DESTINATION share/doc/cmake/t2)
INSTALL(TARGETS hello RUNTIME DESTINATION bin)
INSTALL(PROGRAMS runhello.sh DESTINATION bin)
INSTALL(DIRECTORY doc/ DESTINATION share/doc/cmake/t2)

现在进入 build 目录进行外部编译,注意使用 CMAKE_INSTALL_PREFIX 参数,这里我们
将它安装到了/tmp/t2 目录:
cmake -DCMAKE_INSTALL_PREFIX=/tmp/t2/usr ..
然后运行
make
make install

目前还存在的疑惑:

1、为什么cmake编译好的文件需要安装呢,直接在生成的可执行文件中运行,或者直接把可执行文件复制到相应的目录,不可以吗?

2、hello 不在项目目录下,为什么安装的时候,不需要指定目录呢?

cmake 构建工程

标签:添加   sha   usr   编写   makefile   代码   white   tin   进入   

原文地址:https://www.cnblogs.com/briskzou/p/12079573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!