cmake_minimum_required(VERSION 3.20) project(refdock_opengl LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(GLAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/glad" CACHE PATH "GLAD 2 generated directory") add_library(glad STATIC "${GLAD_DIR}/src/gl.c") target_include_directories(glad PUBLIC "${GLAD_DIR}/include") target_link_libraries(glad PUBLIC ${CMAKE_DL_LIBS}) find_package(glfw3 3.4 REQUIRED) foreach(sample frame triangle) add_executable(${sample} "${sample}.cpp") target_link_libraries(${sample} PRIVATE glad glfw) endforeach() option(BUILD_FREEGLUT_SAMPLE "Build the freeglut example" OFF) if(BUILD_FREEGLUT_SAMPLE) find_package(GLUT REQUIRED) add_executable(freeglut-frame freeglut-frame.cpp) target_link_libraries(freeglut-frame PRIVATE glad GLUT::GLUT) endif()