mirror of
https://github.com/nunuhara/xsystem4.git
synced 2026-09-28 01:48:04 +03:00
213 lines
4.5 KiB
CMake
213 lines
4.5 KiB
CMake
# CMakeLists.txt for Android build
|
|
|
|
cmake_minimum_required(VERSION 3.14)
|
|
project(xsystem4 LANGUAGES C)
|
|
set(CMAKE_C_STANDARD 11)
|
|
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
cglm
|
|
URL https://github.com/recp/cglm/archive/refs/tags/v0.9.2.tar.gz
|
|
URL_HASH SHA1=cb8472aa8c2ab67b66378dbaf10c2c7368d4e4c3
|
|
)
|
|
FetchContent_MakeAvailable(cglm)
|
|
|
|
add_library(ffi STATIC IMPORTED)
|
|
set_target_properties(ffi PROPERTIES
|
|
IMPORTED_LOCATION ${CMAKE_STAGING_PREFIX}/lib/libffi.a
|
|
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_STAGING_PREFIX}/include)
|
|
|
|
find_package(Freetype REQUIRED)
|
|
find_package(SDL2 REQUIRED)
|
|
find_package(SndFile REQUIRED)
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
add_subdirectory(subprojects/libsys4)
|
|
|
|
add_library(xsystem4 SHARED)
|
|
|
|
target_compile_definitions(xsystem4 PRIVATE
|
|
_DEFAULT_SOURCE
|
|
USE_GLES
|
|
)
|
|
|
|
target_include_directories(xsystem4 PRIVATE include)
|
|
|
|
execute_process(
|
|
COMMAND git rev-parse --short HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE VCS_TAG
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
configure_file(src/version.h.in version.h)
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
target_sources(xsystem4 PRIVATE
|
|
src/audio.c
|
|
src/audio_meta.c
|
|
src/audio_mixer.c
|
|
src/asset_manager.c
|
|
src/base64.c
|
|
src/cJSON.c
|
|
src/draw.c
|
|
src/effect.c
|
|
src/ffi.c
|
|
src/font_freetype.c
|
|
src/font_fnl.c
|
|
src/format.c
|
|
src/hacks.c
|
|
src/heap.c
|
|
src/id_pool.c
|
|
src/input.c
|
|
src/json.c
|
|
src/movie_plmpeg.c
|
|
src/msgqueue.c
|
|
src/page.c
|
|
src/resume.c
|
|
src/savedata.c
|
|
src/scene.c
|
|
src/sprite.c
|
|
src/swf.c
|
|
src/system4.c
|
|
src/text.c
|
|
src/util.c
|
|
src/video.c
|
|
src/vm.c
|
|
|
|
src/3d/collision.c
|
|
src/3d/debug.c
|
|
src/3d/model.c
|
|
src/3d/parser.c
|
|
src/3d/particle.c
|
|
src/3d/reign.c
|
|
src/3d/renderer.c
|
|
|
|
src/dungeon/dgn.c
|
|
src/dungeon/dtx.c
|
|
src/dungeon/dungeon.c
|
|
src/dungeon/map.c
|
|
src/dungeon/polyobj.c
|
|
src/dungeon/renderer.c
|
|
src/dungeon/skybox.c
|
|
src/dungeon/tes.c
|
|
|
|
src/parts/construction.c
|
|
src/parts/debug.c
|
|
src/parts/flash.c
|
|
src/parts/input.c
|
|
src/parts/motion.c
|
|
src/parts/parts.c
|
|
src/parts/render.c
|
|
src/parts/text.c
|
|
src/parts/save.c
|
|
|
|
src/hll/ACXLoader.c
|
|
src/hll/ADVSYS.c
|
|
src/hll/AliceLogo.c
|
|
src/hll/AliceLogo2.c
|
|
src/hll/AliceLogo3.c
|
|
src/hll/AliceLogo4.c
|
|
src/hll/AliceLogo5.c
|
|
src/hll/AnteaterADVEngine.c
|
|
src/hll/BanMisc.c
|
|
src/hll/Bitarray.c
|
|
src/hll/CGManager.c
|
|
src/hll/CharSpriteManager.c
|
|
src/hll/ChipmunkSpriteEngine.c
|
|
src/hll/ChrLoader.c
|
|
src/hll/CommonSystemData.c
|
|
src/hll/Confirm.c
|
|
src/hll/Confirm2.c
|
|
src/hll/Confirm3.c
|
|
src/hll/CrayfishLogViewer.c
|
|
src/hll/Cursor.c
|
|
src/hll/DALKDemo.c
|
|
src/hll/DALKEDemo.c
|
|
src/hll/Data.c
|
|
src/hll/DataFile.c
|
|
src/hll/DrawDungeon.c
|
|
src/hll/DrawEffect.c
|
|
src/hll/DrawGraph.c
|
|
src/hll/DrawMovie.c
|
|
src/hll/DrawPluginManager.c
|
|
src/hll/DrawRain.c
|
|
src/hll/DrawRipple.c
|
|
src/hll/DrawSimpleText.c
|
|
src/hll/DrawSnow.c
|
|
src/hll/File.c
|
|
src/hll/File2.c
|
|
src/hll/FileOperation.c
|
|
src/hll/FillAngle.c
|
|
src/hll/GoatGUIEngine.c
|
|
src/hll/Gpx2Plus.c
|
|
src/hll/GUIEngine.c
|
|
src/hll/iarray.c
|
|
src/hll/IbisInputEngine.c
|
|
src/hll/InputDevice.c
|
|
src/hll/InputString.c
|
|
src/hll/KiwiSoundEngine.c
|
|
src/hll/LoadCG.c
|
|
src/hll/MainEXFile.c
|
|
src/hll/MainSurface.c
|
|
src/hll/MamanyoDemo.c
|
|
src/hll/MamanyoSDemo.c
|
|
src/hll/MarmotModelEngine.c
|
|
src/hll/Math.c
|
|
src/hll/MapLoader.c
|
|
src/hll/MenuMsg.c
|
|
src/hll/MonsterInfo.c
|
|
src/hll/MsgLogManager.c
|
|
src/hll/MsgLogViewer.c
|
|
src/hll/MsgSkip.c
|
|
src/hll/NewFont.c
|
|
src/hll/OutputLog.c
|
|
src/hll/PassRegister.c
|
|
src/hll/PartsEngine.c
|
|
src/hll/PixelRestore.c
|
|
src/hll/PlayDemo.c
|
|
src/hll/PlayMovie.c
|
|
src/hll/ReignEngine.c
|
|
src/hll/SACT2.c
|
|
src/hll/SengokuRanceFont.c
|
|
src/hll/SoundFilePlayer.c
|
|
src/hll/Sound2ex.c
|
|
src/hll/StoatSpriteEngine.c
|
|
src/hll/StretchHelper.c
|
|
src/hll/SystemService.c
|
|
src/hll/SystemServiceEx.c
|
|
src/hll/Timer.c
|
|
src/hll/Toushin3Loader.c
|
|
src/hll/vmAnime.c
|
|
src/hll/vmArray.c
|
|
src/hll/vmCG.c
|
|
src/hll/vmChrLoader.c
|
|
src/hll/vmCursor.c
|
|
src/hll/vmDalkGaiden.c
|
|
src/hll/vmData.c
|
|
src/hll/vmDialog.c
|
|
src/hll/vmDrawGauge.c
|
|
src/hll/vmDrawMsg.c
|
|
src/hll/vmDrawNumber.c
|
|
src/hll/vmFile.c
|
|
src/hll/vmGraph.c
|
|
src/hll/vmGraphQuake.c
|
|
src/hll/vmKey.c
|
|
src/hll/vmMapLoader.c
|
|
src/hll/vmMsgLog.c
|
|
src/hll/vmMusic.c
|
|
src/hll/vmSound.c
|
|
src/hll/vmSprite.c
|
|
src/hll/vmString.c
|
|
src/hll/vmSurface.c
|
|
src/hll/vmSystem.c
|
|
src/hll/vmTimer.c
|
|
src/hll/VSFile.c
|
|
)
|
|
|
|
target_link_libraries(xsystem4 PRIVATE
|
|
m ZLIB::ZLIB SDL2::SDL2 Freetype::Freetype ffi GLESv3 cglm SndFile::sndfile sys4)
|
|
|
|
target_compile_options(xsystem4 PRIVATE -Wno-unused-parameter)
|
|
|
|
install(TARGETS xsystem4)
|