Как включить перечисление наследования

find_package(OpenGL) найдет для вас пакет, но он не свяжет пакет с целью.

Для связи с библиотекой вы можете использовать target_link_libraries( ). Кроме того, вам также нужно установить include directory, чтобы компоновщик знал, где искать вещи. Это делается с помощью include_directories.

Пример CMakeLists.txt, который будет делать это, выглядит примерно так:


cmake_minimum_required(VERSION 2.8)

project(testas)
add_executable(testas main.cpp)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS}  ${GLUT_INCLUDE_DIRS} )

target_link_libraries(testas ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} )

Если OpenGL является необходимостью для вашего проекта, вы можете рассмотреть либо тестирование OpenGL_FOUND после find_package(OpenGL) или с помощью REQUIRED, который остановит cmake, если OpenGL не будет найден.

Для получения дополнительной информации и лучших примеров:

В частности, ссылки CMake wiki и cmake and opengl должны дать вам достаточно, чтобы заставить работать ,

35
задан Kiran A B 26 February 2016 в 11:02
поделиться