我需要在 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/