타겟과 소스 파일에 추가하여 당신은 때때로 디렉토리, 발생기, 그리고 테스트와 같은 다른 클래스들과 함께 작동하는 것을 찾을 수 있을 것이다
일반적으로 그런 상호작용은 이 객체들로부터 속성을 설정하고 얻는 모양을 갖는다
이 클래스들 모두 소스파일과 타겟이 했던 것과 같이 그것들과 연관된 속성을 갖는다
속성은 타겟과 같은 구체적인 객체에 부착된 키-값 쌍이다
속성에 접근하는 가장 일반적인 방법은 set_property와 get_property 명령어를 통한다
이 명령어들은 속성을 갖는 CMake에서 어떤 클래스로부터 속성을 설정하거나 얻을 수 있도록 허락한다
타겟과 소스파일에 대한 속성의 일부는 이미 발견되었다
디렉토리에 대한 일부의 유용한 속성은 다음을 포함한다
ADDITIONAL_MAKE_CLEAN_FILES
이 속성은 "make clean" 단계의 일부로 깨끗해질 수 있는 추가적인 파일들의 리스트를 지정한다
디폴트로 CMake는 그것에 대해 알고 있는 어떤 생성된 파일을 클린할 것이지만, 당신의 빌드 프로세스는 뒤에 파일을 남기는 다른 도구를 사용할 것이다
이 속성은 그것들이 또한 적당히 클린되기 위해 이 파일들의 리스트로 설정될 수 있다
EXCLUDE_FROM_ALL
이 속성은 만약 디렉토리에서 모든 타겟들과 모든 서브 디렉토리가 디폴트 빌드 타겟으로부터 제외되어야 한다면 지시한다
만약 그렇지 않다면 예를 들어 Makefile을 가지고 make를 타이핑하는 것은 또한 마찬가지로 빌드되는 이 타겟들을 야기할 수 있다
같은 개념은 다른 발생기의 디폴트 빌드에 적용된다
LISTFILE_STACK
이 속성은 CMake 스크립트에서 에러를 디버깅하는 것을 시도할 때 주로 유용하다
그것은 순서대로 현재 진행되는 리스트 파일들이 무엇인지에 대해 리스트를 리턴한다
그래서 만약 하나의 CMakeLists 파일이 include 명령어를 한다면 그것은 포함된 CMakeLists 파일을 스택으로 효과적으로 집어 넣는다
CMake에서 지원하는 속성의 전체 리스트는 help-property-list 옵션을 가지고 cmake를 실행함으로써 얻을수있다
발생기와 디렉토리는 당신이 CMake가 당신의 소스 트리를 진행하는 것처럼 자동적으로 생성된다
댓글