cmake_minimum_required(VERSION 3.16)

project(project_00
    VERSION 0.0.0
    DESCRIPTION "SFML Game Project"
    LANGUAGES CXX
)

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

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
    set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
endif()

find_package(SFML 3 COMPONENTS Graphics Window System REQUIRED)

# add_executable(ziel datei1.cpp datei2.cpp ...)
add_executable(project_00
    src/main.cpp
)

# add_library(ziel STATIC|SHARED datei.cpp ...)
# target_link_libraries(ziel PRIVATE andere_lib)
target_link_libraries(project_00 PRIVATE SFML::Graphics)
# target_include_directories(project_00 PRIVATE header)

if(MSVC)
    target_compile_options(project_00 PRIVATE /W4)
else()
    target_compile_options(project_00 PRIVATE -Wall -Wextra -Wpedantic)
endif()
