# MIT License
# Author: Mark Allyn
#
# shader_experiments/sweep_line/CMakeLists.txt
#
# Build:
#   mkdir -p build && cd build
#   cmake .. && make -j$(nproc)
#   ./sweep_line

cmake_minimum_required(VERSION 3.16)
project(sweep_line LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

find_package(OpenGL REQUIRED)

find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
    pkg_check_modules(GLFW glfw3)
endif()
if(NOT GLFW_FOUND)
    find_library(GLFW_LIBRARIES NAMES glfw glfw3 REQUIRED)
    find_path(GLFW_INCLUDE_DIRS GLFW/glfw3.h REQUIRED)
endif()

# Reuse GLAD sources from the parent project
set(GLAD_SRC  ${CMAKE_SOURCE_DIR}/../../glad/src/glad.c)
set(GLAD_INC  ${CMAKE_SOURCE_DIR}/../../include)

add_executable(sweep_line main.cpp ${GLAD_SRC})

target_include_directories(sweep_line PRIVATE
    ${GLAD_INC}
    ${GLFW_INCLUDE_DIRS}
)

target_link_libraries(sweep_line PRIVATE
    OpenGL::GL
    ${GLFW_LIBRARIES}
)

target_compile_options(sweep_line PRIVATE
    -Wall -Wextra -Wpedantic
    -Wno-unused-parameter
)
