69 lines
3.1 KiB
CMake
69 lines
3.1 KiB
CMake
cmake_minimum_required(VERSION 3.6)
|
||
|
||
project(GAME)
|
||
|
||
if(POLICY CMP0079)
|
||
cmake_policy(SET CMP0079 NEW)
|
||
endif()
|
||
|
||
# ==============================================================================
|
||
# 1. АВТО-ЗАГРУЗКА ИСХОДНИКОВ
|
||
# ==============================================================================
|
||
# Путь относительно текущего файла к папке с общими скриптами
|
||
include("${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake/FetchDependencies.cmake")
|
||
|
||
# Теперь мы уверены, что папка thirdparty заполнена исходниками.
|
||
# Определяем базовый путь для удобства:
|
||
set(TP_ROOT "${THIRDPARTY_DIR}")
|
||
|
||
# ==============================================================================
|
||
# 2. НАСТРОЙКА ЗАВИСИМОСТЕЙ (СОБИРАЕМ ИЗ ИСХОДНИКОВ)
|
||
# ==============================================================================
|
||
|
||
# --- ZLIB ---
|
||
add_subdirectory("${TP_ROOT}/zlib-1.3.1" zlib-build)
|
||
|
||
# --- LIBPNG ---
|
||
set(PNG_STATIC ON CACHE BOOL "Build static library" FORCE)
|
||
set(PNG_SHARED OFF CACHE BOOL "Don't build shared library" FORCE)
|
||
set(PNG_TESTS OFF CACHE BOOL "Disable tests" FORCE)
|
||
set(PNG_TOOLS OFF CACHE BOOL "Disable tools" FORCE)
|
||
set(PNG_EXECUTABLES OFF CACHE BOOL "Disable executables" FORCE)
|
||
set(PNG_DEBUG OFF CACHE BOOL "Disable debug" FORCE)
|
||
set(SKIP_INSTALL_ALL ON CACHE BOOL "Skip installation" FORCE)
|
||
set(PNG_HARDWARE_OPTIMIZATIONS OFF CACHE BOOL "Disable hardware optimizations" FORCE)
|
||
set(PNG_ARM_NEON "off" CACHE STRING "Disable ARM NEON" FORCE)
|
||
|
||
add_subdirectory("${TP_ROOT}/libpng-1.6.51" libpng-build)
|
||
|
||
# --- SDL2 ---
|
||
# Android-версия SDL требует специфичных настроек, но add_subdirectory обычно подхватывает их сама
|
||
add_subdirectory("${TP_ROOT}/SDL-release-2.32.10" sdl-build)
|
||
|
||
# --- LIBZIP ---
|
||
# Отключаем поиск системных крипто-библиотек, так как в NDK их может не быть в стандартных путях
|
||
set(ENABLE_GNUTLS OFF CACHE BOOL "" FORCE)
|
||
set(ENABLE_OPENSSL OFF CACHE BOOL "" FORCE)
|
||
set(ENABLE_WINDOWS_CRYPTO OFF CACHE BOOL "" FORCE)
|
||
set(ENABLE_COMMONCRYPTO OFF CACHE BOOL "" FORCE)
|
||
set(ENABLE_MBEDTLS OFF CACHE BOOL "" FORCE)
|
||
|
||
add_subdirectory("${TP_ROOT}/libzip-1.11.4" libzip-build)
|
||
|
||
# --- EIGEN & BOOST (Header-only) ---
|
||
# Мы создаем интерфейсные таргеты здесь, чтобы они были доступны в подпапке src
|
||
if(NOT TARGET eigen_external_lib)
|
||
add_library(eigen_external_lib INTERFACE)
|
||
target_include_directories(eigen_external_lib INTERFACE "${TP_ROOT}/eigen-5.0.0")
|
||
endif()
|
||
|
||
if(NOT TARGET boost_external_lib)
|
||
add_library(boost_external_lib INTERFACE)
|
||
target_include_directories(boost_external_lib INTERFACE "${TP_ROOT}/boost_1_90_0")
|
||
endif()
|
||
|
||
# ==============================================================================
|
||
# 3. ОСНОВНОЙ КОД
|
||
# ==============================================================================
|
||
add_subdirectory(src)
|