48 lines
938 B
CMake
48 lines
938 B
CMake
cmake_minimum_required(VERSION 4.2.1)
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
project(engine)
|
|
|
|
include_directories(include)
|
|
set(SOURCES
|
|
src/main.cpp
|
|
src/elements.cpp
|
|
src/maps.cpp
|
|
src/data.cpp
|
|
src/scheduler.cpp
|
|
)
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(SFML
|
|
GIT_REPOSITORY https://github.com/SFML/SFML.git
|
|
GIT_TAG 3.0.2
|
|
GIT_SHALLOW ON
|
|
EXCLUDE_FROM_ALL
|
|
SYSTEM)
|
|
FetchContent_MakeAvailable(SFML)
|
|
|
|
if(APPLE)
|
|
message(STATUS "Detected macOS: installing range-v3")
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
range-v3
|
|
GIT_REPOSITORY https://github.com/ericniebler/range-v3.git
|
|
GIT_TAG 0.12.0
|
|
GIT_SHALLOW ON
|
|
)
|
|
FetchContent_MakeAvailable(range-v3)
|
|
|
|
include_directories(${range-v3_SOURCE_DIR}/include)
|
|
endif()
|
|
|
|
add_executable(engine ${SOURCES})
|
|
target_link_libraries(engine
|
|
PRIVATE
|
|
SFML::Graphics
|
|
SFML::Window
|
|
SFML::System
|
|
)
|