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