5
我有一個源代碼目錄結構:安裝某些文件與CMake的
projectSource
|---src
|---include
|---CMakeLists.txt
,並想
projectInstall
|---bin
|---include
|---lib
我的源目錄樹的安裝目錄結構的所有版本控制之下,所以每個源文件夾包含額外的.svn/
目錄。安裝projectSource/include
到projectInstall/include
的所有頭文件,同時跳過.svn
目錄的最簡單方法是什麼?
我想使用類似:
set(PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_INCLUDE_DIR})
install(DIRECTORY ${PROJECT_INCLUDE_DIR}/
DESTINATION "include"
FILES_MATCHING PATTERN "*.h"
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
,但即使我(試圖)只安裝匹配*.h
文件,我還是拿起.svn/
目錄和內容。
使用'PATTERN 「的.svn」 EXCLUDE'的工作,但我的'FILES_MATCHING PATTERN 「的* .h」 的印象'是,只有文件匹配模式將被安裝。情況並非如此嗎? – Chris 2011-12-19 14:30:51
是的,當'PATTERN'沒有使用'EXCLUDE'時,它只安裝匹配的模式。你看到svn的東西匹配,因爲.svn/dir包含名稱以「.h」結尾的文件。所以你明確地需要告訴CMake不要查看.svn/dirs。 – arrowd 2011-12-19 16:21:13
我明白了,謝謝你的解釋。 – Chris 2011-12-20 15:37:27