mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-05-01 18:13:57 +00:00
Some checks failed
CI / clang-format (push) Has been cancelled
CI / ${{ matrix.name }} (false, --toolchain /usr/local/vitasdk/share/vita.toolchain.cmake, false, false, Ninja, Vita, ubuntu-latest, true, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.26100.0, false, false, Visual Studio 17 2022, true, Xbox One, windows-latest, amd64, false, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake, false, devkitpro/devkitarm:latest, false, Ninja, true, Nintendo 3DS, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake, false, devkitpro/devkita64:latest, false, Ninja, Nintendo Switch, true, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, emcmake, false, false, true, Ninja, Emscripten, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, false, Ninja, true, MSVC (arm64), windows-latest, amd64_arm64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, false, true, Ninja, true, MSVC (x86), windows-latest, amd64_x86, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, false, Ninja, true, MSVC (x64), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (false, true, true, false, Ninja, true, MSVC (x64 Debug), windows-latest, amd64, false) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, -DCMAKE_SYSTEM_NAME=iOS, false, false, Xcode, true, iOS, macos-15, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, false, false, Ninja, Android, ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, false, true, false, Ninja, macOS, macos-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, false, Ninja, true, mingw-w64-x86_64, mingw64, msys2 mingw64, windows-latest, msys2 {0}, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux (Debug), ubuntu-latest, true) (push) Has been cancelled
CI / ${{ matrix.name }} (true, true, true, false, Ninja, true, Linux, ubuntu-latest, true) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (aarch64, ubuntu-22.04-arm) (push) Has been cancelled
CI / Flatpak (${{ matrix.arch }}) (x86_64, ubuntu-latest) (push) Has been cancelled
CI / C++ (push) Has been cancelled
Docker / Publish web port (push) Has been cancelled
CI / Release (push) Has been cancelled
Introduces a third person camera system with orbit camera, input handling (mouse/keyboard/touch/gamepad), display actor cloning, and camera-relative movement. Includes shared character utilities (animator, cloner, customizer) and an IExtraAnimHandler interface for optional animation extensions. Also includes generic base game fixes and extension system improvements.
75 lines
2.3 KiB
CMake
75 lines
2.3 KiB
CMake
set(CMAKE_C_CLANG_TIDY)
|
|
set(CMAKE_CXX_CLANG_TIDY)
|
|
|
|
if(DOWNLOAD_DEPENDENCIES)
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
miniaudio
|
|
URL https://github.com/mackron/miniaudio/archive/refs/tags/0.11.24.tar.gz
|
|
URL_MD5 19e8eb21223c56a4a2d167d04decddc9
|
|
)
|
|
block()
|
|
set(BUILD_SHARED_LIBS OFF)
|
|
FetchContent_MakeAvailable(miniaudio)
|
|
endblock()
|
|
else()
|
|
add_library(miniaudio STATIC
|
|
miniaudio/extras/miniaudio_split/miniaudio.c
|
|
)
|
|
target_include_directories(miniaudio PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/miniaudio/extras/miniaudio_split")
|
|
endif()
|
|
|
|
# Disable most features since we don't need them.
|
|
target_compile_definitions(miniaudio PUBLIC
|
|
MA_ENABLE_ONLY_SPECIFIC_BACKENDS
|
|
MA_NO_DECODING
|
|
MA_NO_ENCODING
|
|
MA_NO_WAV
|
|
MA_NO_FLAC
|
|
MA_NO_MP3
|
|
MA_NO_DEVICE_IO
|
|
MA_NO_RESOURCE_MANAGER
|
|
MA_NO_GENERATION
|
|
MA_NO_THREADING
|
|
MA_NO_RUNTIME_LINKING
|
|
)
|
|
|
|
if(DOWNLOAD_DEPENDENCIES)
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
libsmacker
|
|
URL https://github.com/foxtacles/libsmacker/archive/b3d4e97e0c95d5259d858495a5addd2d93bce5f4.tar.gz
|
|
URL_MD5 7f822319c489ec1a8e41c9f1e2629195
|
|
)
|
|
FetchContent_MakeAvailable(libsmacker)
|
|
else()
|
|
set(libsmacker_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libsmacker")
|
|
endif()
|
|
|
|
add_library(libsmacker STATIC
|
|
${libsmacker_SOURCE_DIR}/smacker.c
|
|
)
|
|
target_include_directories(libsmacker PUBLIC ${libsmacker_SOURCE_DIR})
|
|
|
|
if(DOWNLOAD_DEPENDENCIES)
|
|
include(FetchContent)
|
|
FetchContent_Populate(
|
|
libweaver
|
|
URL https://github.com/isledecomp/SIEdit/archive/17c7736a6ff31413f1e74ab4e989011b545b6926.tar.gz
|
|
URL_MD5 04edbc974df8884f283d920ded10f1f6
|
|
)
|
|
add_library(libweaver STATIC
|
|
${libweaver_SOURCE_DIR}/lib/core.cpp
|
|
${libweaver_SOURCE_DIR}/lib/file.cpp
|
|
${libweaver_SOURCE_DIR}/lib/interleaf.cpp
|
|
${libweaver_SOURCE_DIR}/lib/object.cpp
|
|
${libweaver_SOURCE_DIR}/lib/sitypes.cpp
|
|
)
|
|
add_library(libweaver::libweaver ALIAS libweaver)
|
|
target_compile_definitions(libweaver PRIVATE $<$<BOOL:${WIN32}>:NOMINMAX>)
|
|
target_include_directories(libweaver PUBLIC ${libweaver_SOURCE_DIR}/include/libweaver)
|
|
set_property(TARGET libweaver PROPERTY CXX_STANDARD 98)
|
|
set_property(TARGET libweaver PROPERTY CXX_STANDARD_REQUIRED ON)
|
|
endif()
|
|
|