문제

""모든 파일에 맞는 Regex를 찾고 있습니다. 디렉토리에서.

CMAKE를 사용하고 있습니다 (CMAKE DOC : "CMAKE는"Globs가 아닌 일반 표현식을 기대합니다 ") 및 DOT (Hidden Files)로 시작하는 모든 파일을 무시하고 싶습니다. "\..*" 또는 "^\..*" 작동하지 않습니다 :(

이상한 것 : 이것은 작동합니다 (RQ의 감사 대답) 및 모든 숨겨진 파일 및 임시 파일을 제거합니다 ( "~"종료 파일)

file(GLOB DOT ".*")
file(GLOB TILD "*~")

set (CPACK_SOURCE_IGNORE_FILES "${DOT};${TILD}")

하지만 직접 쓸 옳은 것을 찾을 수 없습니다. CPACK_SOURCE_IGNORE_FILES 같은 결과를 얻으려면!

다음은 "문서"이 변수의.

도움이 되었습니까?

해결책

글로이가 아마도 당신이 원하는 것 같습니다.

이 시도. "test.cmake"파일을 열고 다음을 추가하십시오.

file(GLOB ALL "*")
file(GLOB DOT ".*")
file(GLOB NOTDOT "[^.]*")

message("All Files ${ALL}")
message("Dot files ${DOT}")
message("Not dot files ${NOTDOT}")

그런 다음 몇 가지 테스트 파일을 만듭니다.

touch .dotfile
touch notdot

그런 다음 "cmake -p test.cmake"를 실행하십시오. 출력은 다음과 같습니다.

All Files /tmp/cmake_test/.dotfile;/tmp/cmake_test/notdot;/tmp/cmake_test/test.cmake
Dot files /tmp/cmake_test/.dotfile
Not dot files /tmp/cmake_test/notdot;/tmp/cmake_test/test.cmake

이것은 CMAKE 2.6.0으로 테스트되었습니다.

다른 팁

표준 Regex 구문 사용 :

^\..*

cmake는 분명히 이것을 좋아하지 않기 때문에 다음과 같은 것을 사용할 수 있습니다.

^\\..*

그래도 Cmake가 없거나 사용하지 않기 때문에 그것은 추측입니다.

다음 1 라이너는 작업을 수행합니다 (Hiden and Tilde ( "~") 종료 파일) :

set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*$;~$;${CPACK_SOURCE_IGNORE_FILES}")

당신은 그것을 피해야합니다.

^\..*

이 시도:

^[.].*
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top