34 lines
755 B
CMake
34 lines
755 B
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(factory_hole_core
|
|
VERSION 0.1.0
|
|
DESCRIPTION "High-performance ECS-based factory game engine core"
|
|
LANGUAGES CXX
|
|
)
|
|
|
|
# C++17 standard
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
# Options
|
|
option(FACTORY_CORE_BUILD_TESTS "Build tests" ON)
|
|
option(FACTORY_CORE_BUILD_EXAMPLES "Build examples" ON)
|
|
|
|
# Export compile commands for IDE support
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
# Include dependency management
|
|
include(cmake/FetchDependencies.cmake)
|
|
|
|
# Add subdirectories
|
|
add_subdirectory(src)
|
|
|
|
if(FACTORY_CORE_BUILD_TESTS)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|
|
|
|
if(FACTORY_CORE_BUILD_EXAMPLES)
|
|
add_subdirectory(examples)
|
|
endif()
|