CMake通过外部传参执行不同逻辑的方案比如瑞芯微(1126)地平线(horizon)
假设我们有场景同一套代码需要引入sqlite分别编译成rv1126和horizion
方案一、SET指令给参数默认值
CMakeLists.txt中定义
if (BUILD_PLATFORM STREQUAL rv1126)message("this is rv1126 platform")link_directories(${CMAKE_SOURCE_DIR}/lib)
else()message("this is horizon platform")link_directories(${CMAKE_SOURCE_DIR}/lib_horizon)
endif()
默认情况下会执行else,打印“this is horizon platform”,但可以更改,比如运行cmake指令时如下:
cmake . -DBUILD_PLATFORM=rv1126
那么打印出来的是“this is rv1126 platform”。
例如我们在build.sh中只需要定义如下:
cd ${BUILD_DIR}
cmake .. \-DBUILD_PLATFORM=horizon \-DCMAKE_C_COMPILER=${GCC_COMPILER}-gcc \-DCMAKE_CXX_COMPILER=${GCC_COMPILER}-g++
make -j4
方案二、OPTION指令开关
option(USE_AEC "Set to switch to build use AEC" OFF)
# 外部用cmake . -DUSE_AEC=ON进行值传入,便可以执行不同的逻辑
if (DUSE_AEC)message("this is rv1126 platform")link_directories(${CMAKE_SOURCE_DIR}/lib)
else()message("this is horizon platform")link_directories(${CMAKE_SOURCE_DIR}/lib_horizon)
endif()
默认情况下会执行else,打印“this is horizon platform”,但若运行cmake指令时如下:
cmake . -DUSE_AEC=ON则会打印出“this is rv1126 platform”。
CMake通过外部传参执行不同逻辑的方案比如瑞芯微(1126)地平线(horizon)相关推荐
- 【瑞芯微Rockchip Linux平台】SoftAp需求实现(2)根据传参修改SSID和密码,SSID以wifi MAC地址后四位对结尾
[瑞芯微Rockchip Linux平台]SoftAp需求实现(2)根据传参修改SSID和密码 1. main 函数实现 2. set_hostap_ssid 函数,配置修改hostapd.conf文 ...
- linux 动态传参执行shell脚本
举个栗子: 我想执行的命令如下 /usr/bin/soffice --headless --invisible --convert-to pdf 3.doc 但是这样命令就写死了,如何动态传参数,执行 ...
- 外部传参,关于ExternalInterface.addCallback的使用。
由于昨天把模板做好了,而且测试了下,已经没有问题. 今天遇到的是安全. 由于公司网站是用C#写的,所以C#要调用flash里面的函数,主要是安全. 原本我推荐boss使用安全证书,但是他一口否决了我的 ...
- 瑞芯微SDK环境+docker环境外部访问
原因:由于docker两个容器,里面开了samba.和ssh以及后续可能会建其它服务 ,因此做端口映射不太好.需要公司电脑能像访问正常服务器一样访问两个docker容器 服务器是CentOS .里面安 ...
- waterdrop 配置文件传参
waterdrop应用提交命令 ./bin/start-waterdrop.sh --master yarn --deploy-mode client --config ./config/test.c ...
- python脚本传参
在Linux环境调用python脚本,需要从外部传参,python提供了两种传参方式: 1.顺序传参 import sys 它封装了与python解释器相关的数据,在脚本里面使用使用参数的顺序必须和传 ...
- js中关于带数字类型参数传参丢失首位数字0问题
最近在项目中遇到一个问题,js中传带有数字的参数时,如果参数开头有数字0,会把0给去掉. 例如: 方法abc(0123456,789); 方法abc中获取的参数0123456就会变为123456. 原 ...
- java feign同时传对象和其他参数_关于Spirng Cloud的Feign传参问题:
Feign传参注意: 使用Feign客户端组件来调用微服务,经常出现参数传不过去变成null的问题,网上查了一下发现feign在参数上的使用还是有一定的限制的,主要是要注意: 1. 当参数比较复杂时, ...
- 关于url传参中文乱码问题
之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...
最新文章
- 网络分布式软件bonic清除
- PyCharm Python3操作数据库MySQL增删改查
- slider_wap
- WCF入门(六)——回调
- 如果你没有考上985,没有考上211……
- Jmeter中使用循环如何保证数据不重复
- Ivan and Powers of Two CodeForces - 305C(set)
- C语言封顶,我们的大屋顶|阳光方舟2.0--C-HOUSE正式封顶
- GitHub的SSH免密连接
- 你只管打开这个视频,剩下的交给「卧槽」
- 继续:Racket网络编程
- 防御ddos攻击的免费防火墙
- 聊聊前端框架——尤雨溪
- ps动感映像插件ImageMotion 1.3全新功能介绍
- border边框部分不显示
- 派大汤的数据结构错题本
- s32k144 isystem linux,S32k144 简易 Bootloader
- 服务器如何选择备案产品类型?
- Brave vs Google Chrome:哪个浏览器更适合你?
- MySQL数据库密码配置