Параметры, заданные пользователем CMake

#cmake

#cmake

Вопрос:

Я хочу создать конфигурацию CMake для проекта, который зависит от OGRE. Очевидно, что пользователю необходимо указать каталог, в котором установлен OGRE. Возможно ли указать такую опцию в CMake? Я хочу иметь возможность написать что-то вроде:

 include_directories(${OGRE_HOME})
  

Где переменная OGRE_HOME должна быть указана пользователем.

Еще лучше, возможно ли заставить CMake автоматически искать OGRE или любую другую библиотеку?!

Спасибо!

Ответ №1:

Лучше всего выполнить поиск в FindOgre.cmake, который может сделать это за вас. Ogre уже предоставляет один из них в $Ogre_DIRCMake.

Вы можете скопировать это в свой проект (или использовать CMAKE_MODULE_PATH, чтобы указать дополнительное местоположение с файлами findXXX.cmake). Затем вы можете использовать find_package (Ogre ) в своем cmakelists.txt для поиска Ogre и вашего пользователя необходимо указать переменную окружения OGRE_HOME или Cmake-переменную OGRE_HOME.

В общем: если вы полагаетесь на библиотеки сторонних производителей, у вас должны быть файлы findXXX.cmake, которые могут быть вызваны командой find_package CMake. Для многих распространенных библиотек 3rd party эти файлы уже предоставлены cmake.