space-game001/proj-android/app/jni/CMakeLists.txt
2026-01-11 19:59:58 +03:00

69 lines
3.1 KiB
CMake
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)