Added android version too

This commit is contained in:
Vladislav Khorev committed 2026-01-11 12:08:48 +03:00
1 parent 8089bcc0f3
commit a08ee412a6
54 files changed
+7146 -488

No files matched your search

+94
View File
@@ -0,0 +1,94 @@
cmake_minimum_required(VERSION 3.6)
project(MY_APP CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Определение путей
set(SOURCE_RES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../resources")
set(TARGET_RES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../src/main/assets/resources")
# Получаем список всех файлов в исходной директории для отслеживания зависимостей
file(GLOB_RECURSE RES_FILES RELATIVE "${SOURCE_RES_DIR}" "${SOURCE_RES_DIR}/*")
set(COPY_COMMANDS "")
foreach(RES_FILE ${RES_FILES})
set(SRC "${SOURCE_RES_DIR}/${RES_FILE}")
set(DST "${TARGET_RES_DIR}/${RES_FILE}")
# Команда копирования конкретного файла, если он изменился
add_custom_command(
OUTPUT "${DST}"
COMMAND ${CMAKE_COMMAND} -E make_directory "${TARGET_RES_DIR}"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SRC}" "${DST}"
DEPENDS "${SRC}"
COMMENT "Syncing resource: ${RES_FILE}"
)
list(APPEND RES_OUTPUTS "${DST}")
endforeach()
# Создаем кастомную цель, которая будет запускать процесс копирования
add_custom_target(sync_resources ALL DEPENDS ${RES_OUTPUTS})
add_library(main SHARED
SDL_android_main.c
../../../../src/BoneAnimatedModel.cpp
../../../../src/Environment.cpp
../../../../src/Game.cpp
#Game.cpp
../../../../src/main.cpp
../../../../src/Projectile.cpp
../../../../src/SparkEmitter.cpp
../../../../src/TextModel.cpp
../../../../src/UiManager.cpp
../../../../src/utils/Perlin.cpp
../../../../src/utils/TaskManager.cpp
../../../../src/utils/Utils.cpp
../../../../src/planet/PlanetData.cpp
../../../../src/planet/PlanetObject.cpp
../../../../src/planet/StoneObject.cpp
../../../../src/render/FrameBuffer.cpp
../../../../src/render/Renderer.cpp
../../../../src/render/ShaderManager.cpp
../../../../src/render/TextureManager.cpp
../../../../src/render/OpenGlExtensions.cpp
)
# Подключаем заголовки
target_include_directories(main PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/../SDL/include
${CMAKE_CURRENT_SOURCE_DIR}/../zlib
${CMAKE_CURRENT_SOURCE_DIR}/../libpng
${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty1/eigen-5.0.0
${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty1/boost_1_90_0
${CMAKE_CURRENT_SOURCE_DIR}/../../../../src
${CMAKE_CURRENT_SOURCE_DIR}/../libzip
)
# ВАЖНО: Линкуемся с png_static (статика) или png_shared (динамика)
# Так как мы установили PNG_STATIC=ON и PNG_SHARED=OFF,
# должна создаться цель png_static
target_link_libraries(main
png_static # ← ЭТО ПРАВИЛЬНОЕ ИМЯ ЦЕЛИ!
z
SDL2
)
find_library(OPENGLES2_LIB GLESv2)
target_link_libraries(main
${OPENGLES2_LIB} # OpenGL ES 2.0/3.0
log
android
OpenSLES
dl
zip
)
add_dependencies(main sync_resources)
@@ -0,0 +1,9 @@
#include <jni.h>
#include <android/log.h>
extern int SDL_main(int argc, char *argv[]);
void Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject obj) {
/* Run the application code! */
SDL_main(0, NULL);
}