문제
""모든 파일에 맞는 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}")
당신은 그것을 피해야합니다.
^\..*
이 시도:
^[.].*
제휴하지 않습니다 StackOverflow