cmake_minimum_required(VERSION 3.16)
project(radar_simulator)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(OpenGL  REQUIRED)
find_package(glfw3   REQUIRED)
find_package(Freetype REQUIRED)
find_package(Threads  REQUIRED)

# GLAD is bundled in the project tree
add_library(glad STATIC
    ${CMAKE_SOURCE_DIR}/glad/src/glad.c
)
target_include_directories(glad PUBLIC
    ${CMAKE_SOURCE_DIR}/include
)

add_executable(radar_simulator
    ${CMAKE_SOURCE_DIR}/global_data.cpp
    ${CMAKE_SOURCE_DIR}/src/main.cpp
    ${CMAKE_SOURCE_DIR}/src/01_classes.cpp
    ${CMAKE_SOURCE_DIR}/src/02_text_description.cpp
)

target_include_directories(radar_simulator PRIVATE
    ${CMAKE_SOURCE_DIR}/include
    ${FREETYPE_INCLUDE_DIRS}
)

target_link_libraries(radar_simulator PRIVATE
    glad
    OpenGL::GL
    glfw
    ${FREETYPE_LIBRARIES}
    Threads::Threads
)
