CMakeList.txt文件常见命令解析_cmake root_dir-程序员宅基地

project(bitstream)

set(CMAKE_CXX_STANDARD 11)
set(ROOT_DIR /home/lyu/workspace/procise_v9/procise) # 设置变量ROOT_DIR后面是变量的值

set(CMAKE_MODULE_PATH "${ROOT_DIR}") # 7,8行添加CMmakeLists.txt中的公共部分,提取出来存储在${ROOT_DIR}目录下,这个文件的命名格式是 xxxxx.cmake,以.cmake为后缀,才能识别
include(common) #添加common.cmake文件

SET(INCLUDE_PATH ${ROOT_DIR}/include ${COM_INCLUDE_PATH}) # 10,11,12 添加头文件所在的目录到变量INCLUDE_PATH,12行包含进去
message("${INCLUDE_PATH}")
INCLUDE_DIRECTORIES(${INCLUDE_PATH})

aux_source_directory(. DIR_SRCS) # 扫描当前目录下所有的源文件添加到变量DIR_SRCS
add_library(bitstream STATIC ${DIR_SRCS}) # 项目的输出是library,名字是bitstream,静态库,编译的源文件是变量DIR_SRCS中的值
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick Qt5::Widgets Qt5::Charts) # 编译该项目需要链接的外部库

如果项目的编译输出是可执行文件,使用 add_executeable()命令,如下

1 add_executeable(${
    PROJECT_NAME} DIR_SRCS) #项目的输出是可执行文件,名字是变量PROJECT_NAME的值,源文件是变量DIR_SRCS的值

如果大项目下面包含多个小项目,均需要在每一个小项目下面新建一个CMakeLists.txt,在大项目的顶层的CMakeLists.txt中添加 add_subdirectory()命令,并通过target_link_libraries()将小项目的库添加到大项目中进行链接,如下:

1 add_subdirectory(${
    ROOT_DIR}/src/bitstream)
2 target_link_libraries(${
    PROJECT_NAME} bitstream.a)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38342946/article/details/105439559

智能推荐

在构造函数中开辟内存空间_在构造函数中申请内存-程序员宅基地

文章浏览阅读1.5k次。#include using namespace std;class human{public:#include using namespace std;class human{public: int get()const{return *i;} void set(int x) { *i=x; } ~human(); human();private :_在构造函数中申请内存

【模拟电路】PCB的设计与生产-程序员宅基地

文章浏览阅读1.1k次,点赞29次,收藏23次。PCB就是印刷电路板PCB是一种非常重要的电子零件,它像电子设备的底板一样,可以帮助各种电子元件连接在一起。就像我们在做搭积木一样,需要一个底板来支撑和连接各种积木一样,PCB就是电子设备中的底板,支撑和连接各种电子元件。现在我们的手机、电脑、电视任意的电子设备里面都必须有PCB。PCB是Printed Circuit Board的缩写,中文名称为印刷电路板,是一种用于电子设备中的基础组件。

计算机毕设 - 手写数字识别系统的设计实现(源码+论文)_本科计算机毕设论文csdn-程序员宅基地

文章浏览阅读87次。字符识别是利用计算机自动辨识印刷在纸上或人写在纸上的汉字,是模式识别的一个重要分支,也是文字识别领域较为困难的问题之一。本项目旨在论述并设计实现一个自由手写体数字识别系统。_本科计算机毕设论文csdn

Matlab的复共轭转置_matlab 中是矩阵的复共轭-程序员宅基地

文章浏览阅读1.8k次。首先需要明确的一点是,复共轭是量子力学中的概念,不同于共轭,但是在量子力学的线性代数描述中,复数的复共轭与共轭在复数运算内是相等的。矩阵的此类运算可以类比。在matlab中,令 A为m*n的复矩阵,对其进行转置,采用,A点逗号(A.')对其进行复共轭转置,采用A逗号即可(A')下面是一些例子a = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i>> a'ans = 1.0000 - 1.0_matlab 中是矩阵的复共轭

facebook广告投放技巧-程序员宅基地

文章浏览阅读681次,点赞18次,收藏7次。总之,Facebook广告投放需要注重策略和技巧,不断优化和调整,才能达到预期的广告效果。

【数值计算方法(黄明游)】常微分方程初值问题的数值积分法:欧拉方法(向后Euler)【理论到程序】_数值计算 欧拉法-程序员宅基地

文章浏览阅读1.5k次,点赞27次,收藏17次。本文介绍了常微分方程初值问题的数值积分法之向后Euler方法,包括基本理论及python实现等_数值计算 欧拉法

随便推点

Flask-SQLAlchemy_flask_sqlalchemy-程序员宅基地

文章浏览阅读3w次,点赞53次,收藏204次。认识Flask-SQLAlchemyFlask-SQLAlchemy 是一个为 Flask 应用增加 SQLAlchemy 支持的扩展。它致力于简化在 Flask 中 SQLAlchemy 的使用。SQLAlchemy 是目前python中最强大的 ORM框架, 功能全面, 使用简单。ORM优缺点优点有语法提示, 省去自己拼写SQL,保证SQL语法的正确性orm提供方言功能(dialect, 可以转换为多种数据库的语法), 减少学习成本防止sql注入攻击搭配数据迁移, 更新数据库方便_flask_sqlalchemy

cron -f有什么用-程序员宅基地

文章浏览阅读287次,点赞3次,收藏6次。命令用于在前台运行 Cron 守护进程,主要用于调试、排错、容器化环境下的运行以及与其他工具的集成。但是在生产环境中,还是建议将 Cron 作为后台服务运行,并配合适当的日志记录和监视措施。因此,在生产环境中,通常还是建议将 Cron 作为后台服务运行,并使用适当的日志记录和监视机制来跟踪其运行情况。通常情况下,Cron 作为一个后台服务运行,并根据定义的任务计划自动执行任务。命令时,Cron 会在前台运行,并将其输出和错误信息直接显示在终端或命令行界面上。

creator打包微信小游戏笔记_creator微信小游戏出包脚本-程序员宅基地

文章浏览阅读762次。AB包ab包通过一个文件夹生成,这个文件夹里包含了所有的图片资源,声音,脚本文件等,那么最后生成一个AB包的时候,最终的产物一个import文件夹,一个naitive文件夹,一个config.md5.json如果包含脚本的话,会单独生成一个index.js文件,将所有脚本文件合并注意:1:Creator 有 4 个 内置AB包,包括 resources、internal、main、start-scene,在设置 Bundle 名称 时请不要使用这四个名称2:小游戏分包只能放在本地,不能配置为远程包_creator微信小游戏出包脚本

DataList使用AspNetPager分页-程序员宅基地

文章浏览阅读90次。protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringstrSql;if(Request.QueryString.Count==0){..._datalist用不了aspnetpager

java: java.lang.ExceptionInInitializerErrorcom.sun.tools.javac.code.TypeTags 报错_java: java.lang.exceptionininitializererror com.su-程序员宅基地

文章浏览阅读3.2k次。java: java.lang.ExceptionInInitializerErrorcom.sun.tools.javac.code.TypeTags_java: java.lang.exceptionininitializererror com.sun.tools.javac.code.typetag

python增加管理员权限_ctypes.windll.shell32.isuseranadmin()-程序员宅基地

文章浏览阅读1.8k次。python增加管理员权限_ctypes.windll.shell32.isuseranadmin()