2011-12-19 17 views
5

로 특정 파일을 설치 폴더에는 추가 .svn/ 디렉토리가 있습니다. .svn 디렉토리를 건너 뛰는 동안 projectSource/include에서 projectInstall/include까지 모든 헤더 파일을 설치하는 가장 쉬운 방법은 무엇입니까? 하지만 *.h 일치하는 파일 만 설치 (시도)하고있어, 비록 내가 아직 .svn/ 디렉토리와 내용을 따기있어내가 소스 디렉토리 구조를 가지고 CMake

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) 

:

내가 좋아하는 뭔가를 사용하고 싶습니다.

당신은 PATTERN에 EXCLUDE 키워드를 추가 할 수 있습니다

답변

12

: EXCLUDE`는 일 "을 .svn"`패턴을 사용하여

install(DIRECTORY ${PROJECT_INCLUDE_DIR}/ 
    DESTINATION "include" 
    FILES_MATCHING 
    PATTERN "*.h" 
    PATTERN ".svn" EXCLUDE 
    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) 
+0

하지만'FILES_MATCHING의 PATTERN "* .H"내 인상이'파일 만이 그 패턴과 일치하는 것이 었습니다 설치 될 것입니다. 그렇지 않은가요? – Chris

+0

예,'PATTERN'을'EXCLUDE'없이 사용하면, 일치하는 패턴 만 설치합니다. .svn/dir에 ".h"로 끝나는 이름의 파일이 있기 때문에 svn 항목이 일치하는 것을보고있었습니다. 따라서 CMake가 .svn/dirs를 조사하지 않도록 명시 적으로 말할 필요가 있습니다. – arrowd

+0

설명해 주셔서 감사합니다. – Chris

관련 문제