2
我有一个使用cmake的C++库。我的媒体库的结构如下:用CMake检索路径文件
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不会“记住”文件夹路径。我该如何处理它?
它的工作...但它会将所有的文件,而不是仅仅 “是* .h”。似乎PATTERN命令不起作用 – user1266334 2012-03-15 11:04:13
它需要FILES_MATCHING模式和“/”而不是“\\”:install(DIRECTORY src/module1 src/module2 DESTINATION“C:/ temp”FILES_MATCHING PATTERN“* .h”)。请更新您的文章,并让我的问题得到解答 – user1266334 2012-03-15 11:08:50