# CMakeLists.txt ; Top-level CMake project file.

cmake_minimum_required(VERSION 3.13)

project(Aster VERSION 0.1.0)

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

if (MSVC)
    set(CMAKE_CXX_FLAGS "/W4 /GR- ${MSVC_FLAGS} /utf-8")
    set(CMAKE_CXX_FLAGS_RELEASE "/O3")
    add_compile_definitions(_HAS_EXCEPTIONS=0)
    add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
    add_compile_definitions(${MSVC_DEFINES})
else ()
    set(CMAKE_CXX_FLAGS "-Wall -g -fno-rtti -fno-exceptions")
endif ()

include(add_shader.cmake)
include(add_resource_dir.cmake)

add_subdirectory("aster")
add_subdirectory("samples")
