CMake:创建目标后如何写入文件
CMake: How to write into a file after making a target?
在CMake中等价于下面的make文件代码是什么?
target: config_header $(OBJS)
g++ -o $(APPNAME) $(OBJS) $(LIBDIR) $(LIBS)
config_header:
echo "#ifndef _CONFIG_HEADER_H_" > Config.h
echo "#define _CONFIG_HEADER_H_" >> Config.h
echo "#define MAJOR_VERSION "$(MAJOR)"" >> Config.h
echo "#define MINOR_VERSION "$(MINOR)"" >> Config.h
echo "#define PATCH_VERSION "$(PATCH)"" >> Config.h
echo "#define RELEASE_VERSION "$(RELEASE)"" >> Config.h
echo "#endif" >> Config.h
这会将cmake配置文件复制到二进制目录中,并适应定义的参数。
#############################################################################
# Cmake generated header files
#############################################################################
CONFIGURE_FILE(
${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.cmake
${CMAKE_CURRENT_BINARY_DIR}/config.hpp
)
config.hpp.cmake文件包含:
#ifndef GUARD
#define GUARD
#cmakedefine _CONFIG_HEADER_H_
#endif //GUARD
在复制过程中,cmake生成以下文件:
#ifndef GUARD
#define GUARD
#define _CONFIG_HEADER_H_
#endif //GUARD
相关文章:
- 用C++将哈希表写入文件并从文件中恢复
- 写入文件会产生一个空文件或根本没有文件
- 在 C++ 中使用指针将对象写入文件
- 使 std::fstream 写入文件末尾,但从头开始读取
- 写入文件 a.txt,而终端重定向到文件 b.txt
- C++无法写入文件
- G++编译器:无法写入文件
- 为什么我的程序在读取/写入文件时会删除最重要的数字?
- 如何在写入文件时擦除最后一个逗号
- 在 c++ 中写入文件
- 从缓冲区读取/写入文件
- 将 cpprestsdk json 值对象写入文件
- 如何将 id 写入文件,然后将其读回?
- 如何重载 << 运算符,以便将对象的数据写入文件?
- 有没有办法将字符串写入文件?
- 如何使用单个fstream创建、读取和写入文件
- 如何使用字符串::replace方法写入文件
- 在头c++中写入文件
- 为什么使用 C++ 中的类对象写入文件中的数据以非文本格式存储?
- 在 c++ 中读取/写入文件