2015-02-07 2 views
1

CMake (OS X Yosemite의 버전 3.1.1)에서 find_package을 사용하여 다른 패키지가 설정 한 변수는 다른 규칙을 따르는 것 같습니다.CMake 패키지 변수의 이름

find_package(OpenGL)을 사용하면 변수 OPENGL_LIBRARYOPENGL_INCLUDE_DIR이 설정됩니다 (대소 문자 구분).

그러나 find_package(OpenCV)의 경우 해당 이름의 변수는 비어 있지만 OpenCV_LIBS이 설정됩니다.

올바른 컨벤션은 무엇이며, 어떤 플랫폼에서든 CMake가이를 사용하도록 강제하는 방법은 무엇입니까?

답변

2

올바른 규칙은 here입니다. 예를 들어 Foo 패키지는 캐쉬가없는 Foo_LIBRARIES 변수의 라이브러리와 캐싱되지 않는 Foo_INCLUDE_DIRS 변수의 include 디렉토리에 있어야합니다.

이러한 규칙을 따르는 것이 CMake 찾기 모듈의 관리자에게 맡겨져 있기 때문에이를 시행 할 방법이 없습니다.