cmake_minimum_required(VERSION 3.12)
project(Gryphn LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Define output directories to keep all binaries in one place
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

# Add subdirectories
add_subdirectory(GryphnLoader)
if (APPLE)
    add_compile_definitions(GN_USE_SURFACE_COCOA)
    add_subdirectory(apis/GryphnMetal)
endif()
if (UNIX)
    add_compile_definitions(GN_USE_SURFACE_XLIB)
    add_subdirectory(apis/GryphnVulkan)
endif()
