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
должны дать вам достаточно, чтобы заставить работать ,