最近进行编译项目,但是项目中有很多可执行文件;每次编译起来比较费时,下面一组代码可以指定特定的编译目标进行编译,而不用编译所有目标;

#!/bin/bash

# 通过传递第一个参数,表示要编译的目标;由 --target rg 指定;
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
echo "用法:传递一组编译目标用于指定特定目标:build.sh [编译目标1] [编译目标2]"
exit;
fi cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/opt/demo if [ $# -eq ]; then
cmake --build build -j
else
cmake --build build -j --target $*
fi

保持更新,转载请注明出处;更多内容请关注 cnblogs.com/xuyaowen; 如果对您有帮助请点击推荐!

参考链接:

https://stackoverflow.com/questions/57412591/cmake-project-build-only-one-specific-executable-and-its-dependencies

cmake 指定编译特定可执行文件的更多相关文章

  1. AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)

    1.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C+ ...

  2. ubuntu下cmake自动化编译的一个例子

    一个CMakeLists.txt的例子参考:https://www.hahack.com/codes/cmake/https://blog.csdn.net/afei__/article/detail ...

  3. 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件

    通常要把我们自己的的代码编译成在android里面编译的可执行文件,我们通常是建一个文件夹 . ├── Android.mk ├── Application.mk ├── convolve.cl ├─ ...

  4. 为ant指定编译版本

    用Eclipse的ant折腾了一天也没搞清楚为什么同样的设置ant出的class版本却不一样.后来下载个ant工具在命令行执行通过. 从网上抄得指定编译版本的方法如下: ant 运行时,必需依赖jdk ...

  5. 在webstorm中配置sass的自动编译,并且可以指定编译后的css的目录.

    参考: WebStorm-2018.2-Help-Sass, Less, and SCSS 作者:tobyDing链接:https://www.jianshu.com/p/0fe52f149cab來源 ...

  6. Maven指定编译级别

    maven默认的编译水平是1.5 单个项目单独设置 如果需要在某个项目中指定编译级别,可以在项目的pom.xml文件中配置,如下: <build> <plugins> < ...

  7. uboot的静默编译、指定编译目录、多核编译

    最近在移植uboot,发现每次看源代码,都有编译留下的.o 等各种文件,在百度中,找到了解决方法. 在顶层的Makefile文件中,大概80多行,有这么几句注释, # kbuild supports ...

  8. Xamarin+vs2010部署错误:error MSB6004: 指定的任务可执行文件位置\sdk\\tools\zipalign.exe”无效

    好不容易配好了Xamarin和vs2010,也搞好了GenyMotion的虚拟机配置,开始调试的时候又报出了这样的错误: error MSB6004: 指定的任务可执行文件位置"C:\Use ...

  9. CMake 默认编译、链接选项

    查看cmake默认编译和链接的参数设置 CMakeLists.txt 文件内容: cmake_minimum_required(VERSION 3.2) message(STATUS "CM ...

随机推荐

  1. Mbp通过筛选器和中间件实现异常,日志,事务及接口返回数据格式化aop处理.

    Mbp应用服务层的AOP实现 实现方法:asp.net core mvc 筛选器 + 中间件 日志,事务,和接口返回结果统一格式化采用操作筛选器,而异常处理采用中间件来处理. 最开始,我是打算用aut ...

  2. 线程池技术之:ThreadPoolExecutor 源码解析

    java中的所说的线程池,一般都是围绕着 ThreadPoolExecutor 来展开的.其他的实现基本都是基于它,或者模仿它的.所以只要理解 ThreadPoolExecutor, 就相当于完全理解 ...

  3. Maven: 把聚合工程下的项目导入 Ecplise

    1.右键点击import 2.Import Existing Maven Projects 3.选择要导入的工程 4.完成

  4. 用什么库写 Python 命令行程序?看这一篇就够了

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  5. 使用npm发布、查看、引用、删除自己的包[小白推荐]

    前言  怎么使用npm发布自己的组件包呢?博主看了不少相关的文章,都没有一个好的讲述.要么丢三落四,要么就是复杂到外行人根本看不懂,甚至无从下手.于是,在博主的潜心钻研下,终于成功了!所以,我打算写一 ...

  6. 在Navicat新建用户

    1.Ctrl+Q,进入查询,创建表空间. 输入create tablespace test datafile 'D:\Oracle\test.ora' size 1000m; 这里的test为表空间名 ...

  7. MySql新版本安装配置

    版本:mysql-5.7.16-winx64 平台Windows 7 x64 1.进入mysql主目录(建议将其移到C或D盘的根目录,并改名为mysql) 2.配置path环境变量(如D:\JAVA\ ...

  8. LUA学习笔记(第5-6章)

    x = a or b 如果a为真则x = a 如果a为假则x = b print(a .. b) 任何非nil类型都会被连接为字符串,输出 多重返回值 local s,e = string.find( ...

  9. eclipse使用jdbc方式连接sql server 2012数据库史上最新最详细教程(2015年4月已亲测)

    步骤分为3部:1.通过sql server 配置管理器配置1433端口   2.将sqljdbc41.jar类库添加到对应的工程中   3.在java程序中连接数据库 步骤1:打开sql server ...

  10. 微信小程序中的图表构建

    第一 html中的代码 <view class="container"> <canvas canvas-id="lineCanvas" bin ...