CMake包变量的名称

时间:2015-02-07 13:37:49

标签: cmake

在CMake上(OS X Yosemite上的版本3.1.1),使用find_package的不同包设置的变量似乎遵循不同的约定。

使用find_package(OpenGL),变量OPENGL_LIBRARYOPENGL_INCLUDE_DIR得到设置(区分大小写)。

但是对于find_package(OpenCV),包含这些名称的变量仍为空,但OpenCV_LIBS已设置。

什么是正确的约定,有没有办法迫使CMake在任何平台上使用它?

1 个答案:

答案 0 :(得分:3)

正确的约定记录在案here。例如,名为Foo的包应该使其库在非缓存的Foo_LIBRARIES变量中可用,并且在非缓存的Foo_INCLUDE_DIRS变量中包含目录。

因为完全由CMake查找模块的维护者来遵循这些约定,所以没有办法强制执行它们。