使用CMake检索带路径的文件

时间:2012-03-14 15:46:20

标签: cmake

我有一个使用cmake的C ++库。我的库的结构如下所示:

src/module1/class1.h 
src/module1/class1.cpp 
src/module1/class2.h
src/module1/class2.cpp
src/module2/class3.h
src/module2/class3.cpp

等。

我想使用INSTALL命令为我的项目制作安装规则。首先,我需要检索所有头文件:

FILE (GLOB_RECURSE ALL_HEADERS "*.h")

接下来我正在尝试将它们安装到C:\ temp:

INSTALL(FILES {$ALL_HEADER} DESTINATION "C:\\temp")

它有效,但结果目录如下:

temp/class1.h
temp/class2.h
temp/class3.h

但不是:

temp/module1/class1.h
temp/module1/class2.h
temp/module2/class3.h

如您所见,CMake没有“记住”文件夹路径。我该如何处理?

1 个答案:

答案 0 :(得分:1)

其中一个选项是使用install(DIRECTORY ...语法:

install(DIRECTORY src/module1 src/module2 DESTINATION "C:/temp" FILES_MATCHING PATTERN "*.h")