176 lines
6.5 KiB
CMake
176 lines
6.5 KiB
CMake
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})
|
|
|
|
set(LUA_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty/lua-5.4.8")
|
|
file(GLOB LUA_SOURCES "${LUA_SRC_DIR}/*.c")
|
|
list(REMOVE_ITEM LUA_SOURCES
|
|
"${LUA_SRC_DIR}/lua.c"
|
|
"${LUA_SRC_DIR}/luac.c"
|
|
"${LUA_SRC_DIR}/onelua.c"
|
|
)
|
|
add_library(lua_static STATIC ${LUA_SOURCES})
|
|
target_include_directories(lua_static PUBLIC "${LUA_SRC_DIR}")
|
|
|
|
|
|
|
|
add_library(main SHARED
|
|
SDL_android_main.c
|
|
../../../../src/main.cpp
|
|
../../../../src/Game.cpp
|
|
../../../../src/Game.h
|
|
../../../../src/Character.cpp
|
|
../../../../src/Character.h
|
|
../../../../src/CharacterState.cpp
|
|
../../../../src/CharacterState.h
|
|
../../../../src/Environment.cpp
|
|
../../../../src/Environment.h
|
|
../../../../src/Localization.cpp
|
|
../../../../src/Localization.h
|
|
../../../../src/render/Renderer.cpp
|
|
../../../../src/render/Renderer.h
|
|
../../../../src/render/ShaderManager.cpp
|
|
../../../../src/render/ShaderManager.h
|
|
../../../../src/render/TextureManager.cpp
|
|
../../../../src/render/TextureManager.h
|
|
../../../../src/TextModel.cpp
|
|
../../../../src/TextModel.h
|
|
../../../../src/AudioPlayerAsync.cpp
|
|
../../../../src/AudioPlayerAsync.h
|
|
../../../../src/BoneAnimatedModelNew.cpp
|
|
../../../../src/BoneAnimatedModelNew.h
|
|
../../../../src/render/OpenGlExtensions.cpp
|
|
../../../../src/render/OpenGlExtensions.h
|
|
../../../../src/utils/Utils.cpp
|
|
../../../../src/utils/Utils.h
|
|
../../../../src/SparkEmitter.cpp
|
|
../../../../src/SparkEmitter.h
|
|
../../../../src/TeleportZone.h
|
|
../../../../src/TeleportZone.cpp
|
|
../../../../src/utils/TaskManager.cpp
|
|
../../../../src/utils/TaskManager.h
|
|
../../../../src/render/FrameBuffer.cpp
|
|
../../../../src/render/FrameBuffer.h
|
|
../../../../src/render/ShadowMap.cpp
|
|
../../../../src/render/ShadowMap.h
|
|
../../../../src/UiManager.cpp
|
|
../../../../src/UiManager.h
|
|
../../../../src/render/TextRenderer.h
|
|
../../../../src/render/TextRenderer.cpp
|
|
../../../../src/MenuManager.h
|
|
../../../../src/MenuManager.cpp
|
|
../../../../src/Location.h
|
|
../../../../src/Location.cpp
|
|
../../../../src/LocationState.h
|
|
../../../../src/LocationState.cpp
|
|
../../../../src/LocationEditor.h
|
|
../../../../src/LocationEditor.cpp
|
|
../../../../src/NpcCar.h
|
|
../../../../src/NpcCar.cpp
|
|
../../../../src/GameConstants.h
|
|
../../../../src/GameConstants.cpp
|
|
../../../../src/GameState.h
|
|
../../../../src/GameState.cpp
|
|
../../../../src/ScriptEngine.h
|
|
../../../../src/ScriptEngine.cpp
|
|
../../../../src/navigation/PathFinder.h
|
|
../../../../src/navigation/PathFinder.cpp
|
|
../../../../src/items/GameObjectLoader.h
|
|
../../../../src/items/GameObjectLoader.cpp
|
|
../../../../src/items/Item.h
|
|
../../../../src/items/Item.cpp
|
|
../../../../src/items/ItemRegistry.h
|
|
../../../../src/items/ItemRegistry.cpp
|
|
../../../../src/items/InteractiveObject.h
|
|
../../../../src/items/InteractiveObject.cpp
|
|
../../../../src/items/InteractiveObjectState.h
|
|
../../../../src/dialogue/DialogueTypes.h
|
|
../../../../src/dialogue/DialogueDatabase.h
|
|
../../../../src/dialogue/DialogueDatabase.cpp
|
|
../../../../src/dialogue/DialogueRuntime.h
|
|
../../../../src/dialogue/DialogueRuntime.cpp
|
|
../../../../src/dialogue/DialogueOverlay.h
|
|
../../../../src/dialogue/DialogueOverlay.cpp
|
|
../../../../src/dialogue/DialogueSystem.h
|
|
../../../../src/dialogue/DialogueSystem.cpp
|
|
../../../../src/dialogue/TranslationDatabase.h
|
|
../../../../src/dialogue/TranslationDatabase.cpp
|
|
../../../../src/quest/QuestTypes.h
|
|
../../../../src/quest/QuestJournal.h
|
|
../../../../src/quest/QuestJournal.cpp
|
|
../../../../src/cutscene/CutsceneTypes.h
|
|
../../../../src/cutscene/CutsceneDatabase.h
|
|
../../../../src/cutscene/CutsceneDatabase.cpp
|
|
../../../../src/cutscene/CutsceneRuntime.h
|
|
../../../../src/cutscene/CutsceneRuntime.cpp
|
|
../../../../src/cutscene/CutsceneOverlay.h
|
|
../../../../src/cutscene/CutsceneOverlay.cpp
|
|
../../../../src/render/UiQuad.h
|
|
)
|
|
|
|
|
|
|
|
|
|
find_library(OPENGLES3_LIB GLESv3)
|
|
|
|
target_link_libraries(main
|
|
${OPENGLES3_LIB}
|
|
png_static
|
|
z
|
|
SDL2
|
|
SDL2_ttf
|
|
log
|
|
android
|
|
OpenSLES
|
|
dl
|
|
zip
|
|
lua_static
|
|
#freetype
|
|
)
|
|
|
|
# Подключаем заголовки
|
|
target_include_directories(main PRIVATE
|
|
#${CMAKE_CURRENT_SOURCE_DIR}/../SDL/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty/SDL_ttf-release-2.24.0/external/freetype/include
|
|
#${CMAKE_CURRENT_SOURCE_DIR}/../zlib
|
|
#${CMAKE_CURRENT_SOURCE_DIR}/../libpng
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty/eigen-5.0.0
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty/boost_1_90_0
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../../../src
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../../../thirdparty/sol2-3.3.0/include
|
|
#${CMAKE_CURRENT_SOURCE_DIR}/../libzip
|
|
)
|
|
|
|
add_dependencies(main sync_resources)
|