1.主要命令

  • project (TEST):指定项目名称为TEST
  • aux_source_directory(<dir> <variable>):将当前目录中的源文件名称赋值给变量 DIR_SRCS
  • include_directories:指定头文件的搜索路径,相当于指定gcc的-I参数
  • link_directories:动态链接库或静态链接库的搜索路径,相当于gcc的-L参数
  • add_executable:编译可执行程序
  • target_link_libraries:添加链接库,相同于指定-l参数

2.模板

我们以调用superlu为例进行说明,首先在当前测试目录下建立四个文件夹:include,src,lib,build。其中include放superlu所依赖的.h文件,src放自己编写的文件,lib放superlu的库文件,build目前是一个空文件夹,文件夹结构如下图所示:



将以下内容考入文件CMakeList.txt中,

cmake_minimum_required (VERSION 2.6)
project (TEST) set (TEST_VERSION 0.1) set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb -DDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../bin) aux_source_directory(${PROJECT_SOURCE_DIR}/src DIR_SRC) include_directories(${PROJECT_SOURCE_DIR}/src) include_directories(${PROJECT_SOURCE_DIR}/include) link_directories(${PROJECT_SOURCE_DIR}/lib) add_executable(main ${DIR_SRC}) target_link_libraries(main libsuperlu.a)
target_link_libraries(main libblas.a)

然后进入目录build下,执行

cmake ..
make

执行文件便会自动创建在目录bin下面,下图为执行完后的结构



最新文章

  1. smartcrop.js智能图片裁剪库
  2. WInform关闭程序的几种方法以及区别。
  3. PHP面试试题
  4. python os.system()返回值判断
  5. ASP.NET几种页面数据绑定的用法及区别: &lt;%#、 &lt;%=、 &lt;% 、&lt;%@
  6. iOS开发--通过MultipeerConnectivity完成蓝牙通讯
  7. 在C语言中使用scanf语句时遇到的问题总结
  8. 约瑟夫问题(Josephus Problem)的两种快速递归算法
  9. Oracle单个数据文件超过32G后扩容
  10. Nginx阅读笔记
  11. Android MediaCodec硬编兼容性测试方案
  12. C#多线程编程(1)--线程,线程池和Task
  13. Flask学习 三 web表单
  14. C# ListBox实现显示插入最新的数据的方法
  15. OO第二次作业总结
  16. 第二次作业:分布式版本控制系统Git的安装与使用
  17. Angular2 NgModule 模块详解
  18. SpringBoot2中配置文件的调整,升级SpringBoot2时候注意的坑
  19. 1. 决策树(Decision Tree)-决策树原理
  20. vi中全选的命令或者快捷方式

热门文章

  1. 指针FHQTreap
  2. parted分区流程操作
  3. 搞定PHP面试 - 函数知识点整理
  4. 百度url 参数详解全
  5. jQuery插件 -- Cookie插件
  6. Unity5.1 新的网络引擎UNET(七) UNET 单人游戏转换为多人
  7. page template in kentico
  8. Oracle数据库中闪回恢复的详细分析
  9. [转]SQL Server 数据库规范
  10. JavaScript系列--浅析原型链与继承