CMake:定义自定义包含路径

标签 c cmake

我需要在 CMake 项目中包含 ZIMPL。在源代码中,ZIMPL 头文件是这样包含的

#include zimpl/bool.h

ZIMPL 中的实际路径是 zimpl/src/bool.h .如何告诉 CMake(或 C 链接器)查看 zimpl/src/每当遇到 zimpl/包括?
为了平台独立性,我宁愿避免创建符号链接(symbolic link)。

最佳答案

你不能#include使用与实际路径不同的相对路径的文件。

处理您的案例的最简单方法是将原始标题复制到需要路径后缀的位置。可以通过 file(COPY) 使用 CMake 完成。或 configure_file(.. COPY_ONLY) :

file(COPY <source_include_dir>/zimpl/src/bool.h
    DESTINATION ${CMAKE_BINARY_DIR}/include/zimple/
)
include_directories(${CMAKE_BINARY_DIR}/include)

关于CMake:定义自定义包含路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999714/

相关文章:

c - 英特尔至强融核使用的内在函数是否比自动矢量化获得更好的性能?

ubuntu - 使用 cmake : Could NOT find OpenImageIO (missing: OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) 编译周期时出现问题

build - CMake 依赖目标不存在

cmake - 链接库时为linux和windows创造条件

android - 无法在 Android Studio : Unable to load native library 中使用 CMake 链接库

c - 将变量从汇编程序传递到 C

c - 来自另一个表的 SQLITE UPDATE 字段 IF NULL

c - 等效于 C 数组的 Matlab find 函数

Python+C 比纯 C 快(稍微)快

c++ - 使用 cmake 有条件地生成源输入文件