当前位置: 首页 > news >正文

保定网站开发培训百度收录教程

保定网站开发培训,百度收录教程,室内设计平面图手绘,近几天的新闻大事CMake:构建时为特定目标运行自定义命令 导言项目结构相关源码结果 导言 add_custom_command 是 CMake 中用于添加自定义构建规则的命令,通常用于在编译项目时执行一些自定义操作,例如生成文件、运行脚本等。 项目结构 . ├── CMakeLists…

CMake:构建时为特定目标运行自定义命令

  • 导言
  • 项目结构
  • 相关源码
  • 结果

导言

add_custom_command 是 CMake 中用于添加自定义构建规则的命令,通常用于在编译项目时执行一些自定义操作,例如生成文件、运行脚本等。

项目结构

.
├── CMakeLists.txt
├── generate_config.cmake
└── main.cpp

项目地址:

https://gitee.com/jiangli01/tutorials/tree/master/cmake-tutorial/chapter5/03

相关源码

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)project(test_command)# 设置需要生成的头文件的路径
set(CONFIG_HEADER ${CMAKE_BINARY_DIR}/config.h)# 添加一个自定义命令来生成头文件
add_custom_command(OUTPUT ${CONFIG_HEADER}COMMAND ${CMAKE_COMMAND}-DOUTPUT_FILE=${CONFIG_HEADER}-P ${CMAKE_CURRENT_SOURCE_DIR}/generate_config.cmakeCOMMENT "Generating config.h"
)# 将生成的头文件的路径添加到包含目录
include_directories(${CMAKE_BINARY_DIR})# 添加可执行文件
add_executable(test_app main.cpp)# 将自定义命令的输出文件添加为依赖项
add_dependencies(test_app config_h_target)# 定义一个自定义目标以便其他目标可以依赖它
add_custom_target(config_h_target DEPENDS ${CONFIG_HEADER})# 将自定义目标添加到 ALL 阶段,以确保在每次构建时都生成 config.h
add_dependencies(test_app config_h_target)

generate_config.cmake

# 你可以在这里定义所需的宏
set(APP_NAME "TJUApp")
set(APP_VERSION "1.0.0")
set(DEBUG_MODE 1)# 生成 config.h 头文件
file(WRITE ${OUTPUT_FILE} "#ifndef CONFIG_H\n")
file(APPEND ${OUTPUT_FILE} "#define CONFIG_H\n")
file(APPEND ${OUTPUT_FILE} "\n")# 添加宏定义
file(APPEND ${OUTPUT_FILE} "#define APP_NAME \"${APP_NAME}\"\n")
file(APPEND ${OUTPUT_FILE} "#define APP_VERSION \"${APP_VERSION}\"\n")if (DEBUG_MODE)file(APPEND ${OUTPUT_FILE} "#define DEBUG_MODE 1\n")
else ()file(APPEND ${OUTPUT_FILE} "#define DEBUG_MODE 0\n")
endif ()# 结束文件
file(APPEND ${OUTPUT_FILE} "\n#endif\n")
#include <iostream>
#include "config.h"
int main() {
#ifdef DEBUG_MODEstd::cout << "DEBUG_MODE: " << DEBUG_MODE << std::endl;
#endifreturn 0;
}

结果

mkdir build & cd build
cmake ..
make

在这里插入图片描述

DEBUG_MODE: 1

最后,祝大家变得更强!!!

http://www.yayakq.cn/news/906016/

相关文章:

  • 在哪个网站可以查做项目中标的企业网站哪家好
  • 网站怎么做动态图wordpress modernizr
  • 网站排名查询.net网站吃内存
  • 外贸网站源码带支付温州seo网站推广
  • 郑州大旗网站制作公司外贸公司属于什么企业
  • 让网站做的有吸引力面试网站开发
  • 佛山外贸网站制作公司网站接入变更
  • 网站原创文章来源郑州建设工程协会网站
  • aspx网站html静态化怎么做深圳网站建设工作室
  • 什么建网站免费h5如何制作
  • 代做寄生虫网站苏州官网建站
  • asp.net怎么做登录网站凡科互动网站登录入口
  • 网站建设相关的网站加油优惠卡app软件开发
  • 沈阳营销型网站制作技术汕头百姓网
  • 河北邯郸做网站的公司哪家好无锡seo网站建设费用
  • 怎么做辅助发卡网站wordpress调用二级分类目录
  • 广州网站设计费用电商公司的网上设计
  • 购物网站哪个是正品响应式网页技术
  • 手机怎么进入国外网站建设部 招投标网站
  • 自己做图片上传网站专业做淘宝网站公司哪家好
  • 公司做网站域名归谁网站开发会用到定时器功能
  • 应不应该购买老域名建设新网站网站怎样关键词排名优化
  • 惠州建站方案网络营销方式和工具
  • 盘锦网站建设制作做网站知识
  • 图像制作seo泛站群
  • 企业企业网站建上海公司沪牌价格
  • 视频网站建设价位手机网站懒人模板
  • 怎么查看网站外链php建设图书网站代码
  • 高中生做网站广元网站制作
  • 免费做章子的网站宁国做网站的公司