rkipc的CMakeLists.txt分析

整个CMakeLists.txt文件如下
带# *的是个人增加的解读

cmake_minimum_required(VERSION 3.5)project(rkipc)# *这里是选择什么类型的编译入口
# *通过缺省情况下,所有的都设置为 OFF
# *在BoardConfig 文件中 export RK_APP_TYPE=RKIPC_RV1106
# *则 ../Makefile 中 -DCOMPILE_FOR_RV1106_IPC=ON 重新设置 此处的值为 ON
# *通过判断 添加对应的源文件 add_subdirectory(src/rv1106_ipc)option(COMPILE_FOR_RV1103_IPC "compile for rv1103 ipc" OFF)
option(COMPILE_FOR_RV1106_IPC "compile for rv1106 ipc" OFF)
option(COMPILE_FOR_RV1106_BATTERY_IPC_TUYA "compile for rv1106 battery ipc tuya" OFF)
option(COMPILE_FOR_RV1106_BATTERY_IPC_CLIENT "compile for rv1106 battery ipc client" OFF)
option(COMPILE_FOR_RV1106_DUAL_IPC "compile for rv1106 dual-ipc" OFF)option(COMPILE_FOR_RV1126_RKMEDIA "compile for rv1126 ipc rkmedia" OFF)
option(COMPILE_FOR_RV1126_ROCKIT "compile for rv1126 ipc rockit" OFF)
option(COMPILE_FOR_RV1126_BATTERY_IPC "compile for rv1126 battery ipc" OFF)
option(COMPILE_FOR_RV1126_SNAPSHOT "compile for rv1126 snapshot" OFF)option(COMPILE_FOR_RK3588 "compile for rk3588 ipc" OFF)
option(COMPILE_FOR_RK3588_MULTI_IPC "compile for rk3588 multi-ipc" OFF)# *这个由 build.sh的option控制,通过../Makefile 的-D传递过来
if(${CMAKE_BUILD_TYPE} STREQUAL Debug)message(STATUS "CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE}")add_definitions(-g -ggdb -gdwarf -funwind-tables -rdynamic -O0)add_definitions(-fno-stack-protector -fno-omit-frame-pointer)
elseif(${CMAKE_BUILD_TYPE} STREQUAL Release)message(STATUS "CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE}")
elseif(${CMAKE_BUILD_TYPE} STREQUAL RelWithDebInfo)message(STATUS "CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE}")
elseif(${CMAKE_BUILD_TYPE} STREQUAL MinSizeRel)message(STATUS "CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE}")add_definitions(-Os)
endif()# *交叉编译器
if(RKIPC_CROSS_COMPILE)
message(STATUS "CROSS COMPILE TOOL: ${RKIPC_CROSS_COMPILE}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,-rpath-link,${PROJECT_SOURCE_DIR}/lib/${RKIPC_CROSS_COMPILE}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections -Wl,-rpath-link,${PROJECT_SOURCE_DIR}/lib/${RKIPC_CROSS_COMPILE}")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -Wl,--as-needed")
endif()# *判断添加哪个文件夹的源文件。
if(COMPILE_FOR_RV1103_IPC)add_subdirectory(src/rv1103_ipc)
endif()if(COMPILE_FOR_RV1106_IPC)add_subdirectory(src/rv1106_ipc)
endif()if(COMPILE_FOR_RV1106_BATTERY_IPC_TUYA)add_subdirectory(src/rv1106_battery_ipc_tuya)
endif()if(COMPILE_FOR_RV1106_BATTERY_IPC_CLIENT)add_subdirectory(src/rv1106_battery_ipc_client)
endif()if(COMPILE_FOR_RV1106_DUAL_IPC)add_subdirectory(src/rv1106_dual_ipc)
endif()if(COMPILE_FOR_RV1126_RKMEDIA)add_subdirectory(src/rv1126_ipc_rkmedia)
endif()if(COMPILE_FOR_RV1126_ROCKIT)add_subdirectory(src/rv1126_ipc_rockit)
endif()if(COMPILE_FOR_RV1126_BATTERY_IPC)add_subdirectory(src/rv1126_battery_ipc)
endif()if(COMPILE_FOR_RV1126_SNAPSHOT)add_subdirectory(src/rv1126_snapshot)
endif()if(COMPILE_FOR_RK3588)add_subdirectory(src/rk3588_ipc)
endif()if(COMPILE_FOR_RK3588_MULTI_IPC)add_subdirectory(src/rk3588_multi_ipc)
endif()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15790.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

数字图像处理(c++ opencv):图像复原与重建-常见的滤波方法--自适应滤波器

自适应局部降噪滤波器 自适应局部降噪滤波器(Adaptive, Local Noise Reduction Filter)原理步骤 步骤 (1)计算噪声图像的方差 ; (2)计算滤波器窗口内像素的均值 和方差 ; &…

C++:类和对象(上)

目录 一、类的定义 二、 访问限定符 三、 实例化概念类: 类(Class) 对象(Object) 实例化(Instantiation) 四、 对象大小 五、this 指针的基本概念 this 指针的作用: this 指…

如何在vscode 中打开新文件不覆盖上一个窗口

在 VSCode 中,如果你单击文件时出现了覆盖Tab的情况,这通常是因为VSCode默认开启了预览模式。在预览模式下,单击新文件会覆盖当前预览的文件Tab。为了解决这个问题,你可以按照以下步骤进行操作 1.打开VSCode:启动你的…

Linux篇(权限管理命令)

目录 一、权限概述 1. 什么是权限 2. 为什么要设置权限 3. Linux中的权限类别 4. Linux中文件所有者 4.1. 所有者分类 4.2. 所有者的表示方法 属主权限 属组权限 其他权限 root用户(超级管理员) 二、普通权限管理 1. ls查看文件权限 2. 文件…

冲压车间如何开展六西格玛管理培训

面对日益严苛的客户要求与成本控制挑战,传统的管理模式已难以满足高质量发展的需求。此时,六西格玛管理以其严谨的数据驱动、持续改进的理念,成为众多企业转型升级的有力工具。本文,天行健企业管理咨询公司将深入探讨冲压车间如何…

基于微信小程序的平安驾校预约平台的设计与实现(源码+LW++远程调试+代码讲解等)

摘 要 互联网发展至今,广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力…

插入排序(sort)C++

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 时间限制:C/C/Rust/Pascal 1秒,其他语言2秒 空间限制:C/C/Rust/Pascal 512 M,其他语言1024 M 64bit IO Format: %lld 题目描述 插入排序是一种…

卷积、频域乘积和矩阵向量乘积三种形式之间的等价关系与转换

线性移不变系统 线性移不变系统(Linear Time-Invariant System, LTI系统)同时满足线性和时不变性两个条件。 线性:如果输入信号的加权和通过系统后,输出是这些输入信号单独通过系统后的输出的相同加权和,那么该系统就…

15分钟学 Go 第 53 天 :社区资源与学习材料

第53天:社区资源与学习材料 目标 了解Go语言官方资源掌握社区重要学习平台学会利用开源项目学习构建个人知识体系 一、Go语言官方资源汇总 资源类型网址说明Go官网golang.org官方文档、下载、教程Go Blogblog.golang.org技术博客、最新特性介绍Go Playgroundpla…

「QT」文件类 之 QIODevice 输入输出设备类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

timescale使用例子 - 纽约出租车

一、资料使用 在timescale的官方网站的“教程”菜单中,有几个不同业务场景的例子,其中就有运输行业的例子。我访问中文站点的时候,关于教程的几个步骤内容刷不出来,所以还是建议访问英文站点。 https://docs.timescale.com/tuto…

树(二叉查找树、平衡二叉树、红黑树)

树(二叉树、二叉查找树、平衡二叉树、红黑树) 二叉查找树(二叉排序树、二叉搜索树)添加元素查找元素遍历弊端 平衡二叉树旋转机制:左旋旋转机制:右旋需要旋转的四种情况1. 左左:一次右旋2. 左右…

医疗器械包装运输试验之抗压试验的条件选取及方法和设备的要求

医疗器械包装运输试验之抗压试验的试验目的: 抗压试验通常用来评估产品在承受外界压力时,包装对内装物样品的保护能力。试验通常模拟产品在运输流通过程中可能遇到的压力环境。通过试验,可以验证包装对内装物的保护能力、包装结构的完整性、…

C++内存池实现

1.内存池概念 内存池就和其他的池数据(如线程池)结构类似,由程序维护一个“池”结构来管理程序使用的内存,然后根据需要从内存池中申请使用内存或者向内存池中释放内存,来达到高效管理内存的目的。 在一般的内存管理的…

数据结构-二叉树

一.二叉树的定义 二叉树有左右儿子之分 完美二叉树(满二叉树)除了最下面的没有儿子其他结点都有两个儿子,叶节点比较齐的,完全二叉树不是满二叉数允许缺失最后的结点 满二叉树可以达到2^k-1 边的总数节点数-1 二.二叉树的存储结构…

OKR制定指南

Goal Crafting 目标制定是最基本的领导活动之一。组织绩效和团队成长依赖于精心制定的目标。没有良好的目标制定练习,团队可能只关注眼前的事务,解决看似可以快速解决的问题。良好的目标制定迫使你不忽视或推迟那些需要新思维方式、合作或克服困难的问题…

详细分析Java中FilterChain过滤器的基本知识

目录 前言1. 基本知识2. Demo 前言 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 从实战中学习: 常用在一些重复代…

TableGPT2-7B:用于表格数据分析的大规模解码器模型

TableGPT2-7B 是浙江大学开发的最先进的大规模解码器模型,专为涉及表格数据的数据密集型任务而设计。该模型以 Qwen2.5 架构为基础,包括针对表格数据的专用编码,其中独特的语义编码器可从行、列和整个表格中获取洞察力。 主要特点和功能 Ta…

SQL面试题——抖音SQL面试题 主播播出时长

主播播出时长 现有如下数据,主播id、房间号、播出的批次号,每个批次号进出房间的时间戳、分区时间: 每一次直播都有一个上播和下播,每个房间里,同一个批次号会有两条数据,分别记录了上播和下播时间,求每个主播的播出时长? 通过上面的数据,可以清晰的看出,同一个批次…

数字信号处理Python示例(14)生成锯齿波和三角波

文章目录 前言一、锯齿波和三角波二、生成锯齿波和三角波的Python代码三、仿真结果及分析写在后面的话 前言 因其独特的数学特性和物理表现,在工程和技术领域扮演着重要角色。这是生成非正弦信号的几个Python示例的其中一个,生成三角波与锯齿波&#xf…