必须做两件事。
首先添加要包含的目录:
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
如果您使用的是非常老的CMake版本(2.8.10或更早版本)而不支持target_include_directories
,则也可以改用旧版include_directories
:
include_directories(${YOUR_DIRECTORY})
然后,还必须将头文件添加到当前目标的源文件列表中,例如:
set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)
add_executable(test ${SOURCES})
这样,头文件将显示为Makefile中的依赖项,如果生成的话,还将显示在生成的Visual Studio项目中。
如何将这些头文件用于多个目标:
set(HEADER_FILES ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)
add_library(mylib libsrc.cpp ${HEADER_FILES})
target_include_directories(mylib PRIVATE ${YOUR_DIRECTORY})
add_executable(myexec execfile.cpp ${HEADER_FILES})
target_include_directories(myexec PRIVATE ${YOUR_DIRECTORY})