博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cmake常用命令
阅读量:5924 次
发布时间:2019-06-19

本文共 1479 字,大约阅读时间需要 4 分钟。

//设置cmake支持的最低版本cmake_minimum_required (VERSION 2.6)复制代码

//配置项目名称,使用此命令后会自动生成//PNAME_BINARY_DIR变量(二进制文件保存路径),PNAME_SOURCE_DIR(源代码路径)project (工程名称)复制代码

//设置版本号SET (变量名 变量值)SET (VERSION 0) SET(SRC_LIST main.c t1.ct2.c)复制代码

//文件拷贝,并进行宏替换configure_file (  "${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"  "${PROJECT_BINARY_DIR}/TutorialConfig.h"  ) 复制代码

//向工程添加多个特定的头文件搜索路径,路径之间用空格分隔,如果路径包含空格,//可以使用双引号将它括起来。默认的行为是追加到当前头文件搜索路径的后面。//有如下两种方式可以控制搜索路径添加的位置:CMAKE_INCLUDE_DIRECTORIES_BEFORE,//通过SET这个cmake变量为on,可以将添加的头文件搜索路径放在已有路径的前面//通过AFTER或BEFORE参数,也可以控制是追加还是置前include_directories("${PROJECT_BINARY_DIR}")复制代码
//生成可执行文件add_executable(可执行文件名 生产该可执行文件的源文件)复制代码

//添加子目录,它会去子目录中寻找CmakeLists.txt,然后执行它ADD_SUBDIRECTORY(subdir)复制代码
//将一个文件下的编译用的源文件添加到一个宏列表中,//它只是将.cc .cpp .c的文件添加到SRC_LIST中,.h除外AUX_SOURCE_DIRECTORY(. SRC_LIST)//如果你想将.h文件也加进来,使用下面脚本,GLOB这个参数,它不支持子目录,//如果你想让它支持子目录,用GLOB_RECURSE。file (GLOB HEADERS "include/*.h")SET(SRC_LIST ${SRC_LIST} ${HEADERS})复制代码

//检查一个文件或目录是否存在if(NOT EXISTS ${APR_ROOT})endif()复制代码

LINK_DIRECTORIESLINK_DIRECTORIES(dir1 dir2 …)添加非标准的共享库搜索路径复制代码

TARGET_LINK_LIBRARIESTARGET_LINK_LIBRARIES(target lib1 lib2 …)//为target添加需要链接的共享库,后面可添加域限定关键字PUBLIC PRIVATE INTERFACE//关键字的说明如下参考//https://stackoverflow.com/questions/26037954/cmake-target-link-libraries-interface-dependencies复制代码

官网教程:https://cmake.org/cmake-tutorial/

官网手册:https://cmake.org/cmake/help/v3.0/module/CMakeParseArguments.html

参考:https://www.cnblogs.com/coderfenghc/archive/2012/06/20/2556996.html

你可能感兴趣的文章
滥用Accessibility service自动安装应用
查看>>
PHP基础
查看>>
[Servlet&JSP] Cookie会话管理
查看>>
CDH5: 使用parcels配置lzo
查看>>
获取鼠标的位置/坐标
查看>>
Linux_NIS+NFS+Autofs
查看>>
VirtualBox下配置串口以及stty命令详解(原创)
查看>>
通过分析蜘蛛侠论坛中的版块管理功能来介绍该如何使用我开发出来的ROM框架...
查看>>
无线路由器用多少信道好?
查看>>
poi读取excel,获取全部数据.
查看>>
Java如何获取文件编码格式
查看>>
Java之JMX 详解
查看>>
iOS开发之JSON & XML
查看>>
Ubuntu安装配置mysql
查看>>
YARN加载本地库Unable to load native-hadoop library解决办法
查看>>
【Go语言】【4】GO语言类型和为类型增加方法
查看>>
Linux挂载ntfs分区
查看>>
软件需求调研“五步法” 收藏
查看>>
Html 语法学习笔记三
查看>>
IIS 服务或万维网发布服务,或者依赖这 服务可能在启动期间发生错误或者已禁用...
查看>>