我有一个使用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没有“记住”文件夹路径。我该如何处理?
答案 0 :(得分:1)
其中一个选项是使用install(DIRECTORY ...
语法:
install(DIRECTORY src/module1 src/module2 DESTINATION "C:/temp" FILES_MATCHING PATTERN "*.h")