cmake_minimum_required(VERSION 3.16)
project(OpenGLRotatingCube-Example LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets OpenGL OpenGLWidgets)

add_executable(OpenGLTest
    src/main.cpp
    src/GLWidget.h
    src/GLWidget.cpp
    src/ShaderProgram.h
    src/ShaderProgram.cpp
    src/Vertex.h
    src/CubeMesh.h
    src/CubeMesh.cpp
    src/CubeObject.h
    src/CubeObject.cpp
    resources/shaders.qrc
)

target_include_directories(OpenGLTest PRIVATE src)

target_link_libraries(OpenGLTest PRIVATE
    Qt6::Core
    Qt6::Gui
    Qt6::Widgets
    Qt6::OpenGL
    Qt6::OpenGLWidgets
)
