Files
Loke/CMakeLists.txt
T
2026-06-03 17:04:06 +08:00

68 lines
2.1 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(ManaPetWorld LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PUGIXML REQUIRED IMPORTED_TARGET pugixml)
pkg_check_modules(RAYLIB REQUIRED IMPORTED_TARGET raylib)
set(MANA_CORE_SOURCES
src/assets/EntityPreset.cpp
src/assets/ItemIconCatalog.cpp
src/assets/MinimapAsset.cpp
src/assets/MusicAssets.cpp
src/assets/SoundAssets.cpp
src/assets/SpriteAnimation.cpp
src/battle/BattleAssets.cpp
src/battle/BattleLayout.cpp
src/content/TonoriItems.cpp
src/core/ElementSystem.cpp
src/core/GameCore.cpp
src/core/PetGrowth.cpp
src/core/PetSpeciesCatalog.cpp
src/dialogue/DialogueEffects.cpp
src/dialogue/DialogueScript.cpp
src/dialogue/ScriptedInteractable.cpp
src/quest/QuestSystem.cpp
src/save/SaveGame.cpp
src/ui/InteractableVisual.cpp
src/ui/InventoryUiModel.cpp
src/world/MapAtmosphere.cpp
src/world/TmxMap.cpp
src/world/TmxMapPool.cpp
src/world/TmxWorld.cpp
src/world/TmxWorldLayout.cpp
src/world/WarpAuditReport.cpp
src/world/WarpInteraction.cpp
src/world/WildLevelZone.cpp
src/world/WildSpawn.cpp
)
add_library(mana_core ${MANA_CORE_SOURCES})
target_include_directories(mana_core
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src/assets
${CMAKE_CURRENT_SOURCE_DIR}/src/battle
${CMAKE_CURRENT_SOURCE_DIR}/src/content
${CMAKE_CURRENT_SOURCE_DIR}/src/core
${CMAKE_CURRENT_SOURCE_DIR}/src/dialogue
${CMAKE_CURRENT_SOURCE_DIR}/src/quest
${CMAKE_CURRENT_SOURCE_DIR}/src/save
${CMAKE_CURRENT_SOURCE_DIR}/src/ui
${CMAKE_CURRENT_SOURCE_DIR}/src/world
)
target_link_libraries(mana_core PUBLIC PkgConfig::PUGIXML)
target_compile_options(mana_core PRIVATE -Wall -Wextra -Wpedantic)
add_executable(mana_pet_world
src/app/main.cpp
src/battle/BattleScene.cpp
)
target_link_libraries(mana_pet_world PRIVATE mana_core PkgConfig::RAYLIB)
target_compile_options(mana_pet_world PRIVATE -Wall -Wextra -Wpedantic)