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
install(DIRECTORY src/module1 src/module2 DESTINATION "C:/ temp" FILES_MATCHING PATTERN "* .h")の代わりに、FILES_MATCHINGパターンと "/"の代わりに "/"が必要です。あなたの投稿を更新してください、私は私の質問に答えました – user1266334