feat: reorganize CMake configuration and add third-party library setup for Asio and EnTT

Signed-off-by: szdytom <szdytom@qq.com>
This commit is contained in:
方而静 2025-08-04 14:05:00 +08:00
parent c13e67899b
commit 280aff5465
Signed by: szTom
GPG Key ID: 072D999D60C6473C
5 changed files with 40 additions and 5 deletions

View File

@ -1,9 +1,11 @@
cmake_minimum_required(VERSION 3.27)
project(instructed LANGUAGES CXX)
# Set C++ standard
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Optionally build examples
option(BUILD_EXAMPLES "Build example programs" ON)
# Load third-party libraries
add_subdirectory(third_party)
# Add tilemap library and examples
add_subdirectory(tilemap)

11
third_party/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.27)
set(ISTD_THIRD_PARTY_LIBS
entt
asio
)
foreach(lib IN LISTS ISTD_THIRD_PARTY_LIBS)
include(${CMAKE_CURRENT_LIST_DIR}/${lib}.cmake)
endforeach()

12
third_party/asio.cmake vendored Normal file
View File

@ -0,0 +1,12 @@
cmake_minimum_required(VERSION 3.27)
cmake_policy(VERSION 3.27)
include(FetchContent)
message(STATUS "Downloading Asio(Standalone)...")
# Asio (Standalone) third-party library setup
FetchContent_Declare(
asio
URL "https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-34-2.zip"
)
FetchContent_MakeAvailable(asio)
message(STATUS "Asio ready")

12
third_party/entt.cmake vendored Normal file
View File

@ -0,0 +1,12 @@
cmake_minimum_required(VERSION 3.27)
cmake_policy(VERSION 3.27)
include(FetchContent)
# EnTT third-party library setup
message(STATUS "Downloading EnTT...")
FetchContent_Declare(
EnTT
URL "https://github.com/skypjack/entt/archive/refs/tags/v3.15.0.zip"
)
FetchContent_MakeAvailable(EnTT)
message(STATUS "EnTT ready")

View File

@ -26,8 +26,6 @@ add_library(istd_tilemap ${ISTD_TILEMAP_SRC})
target_compile_features(istd_tilemap PUBLIC cxx_std_23)
target_include_directories(istd_tilemap PUBLIC include)
# Optionally build examples
option(BUILD_EXAMPLES "Build example programs" ON)
if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()