mirror of
https://github.com/ApfelTeeSaft/OpenRoyale.git
synced 2026-08-26 19:33:32 +00:00
53 lines
2.0 KiB
CMake
53 lines
2.0 KiB
CMake
cmake_minimum_required(VERSION 3.22)
|
|
project(cr_native LANGUAGES C CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
|
|
file(GLOB_RECURSE LIBG_SRC CONFIGURE_DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/src/libg/*.c"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/src/libg/*.cpp")
|
|
if(LIBG_SRC)
|
|
add_library(g SHARED ${LIBG_SRC})
|
|
target_include_directories(g PRIVATE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmod/include")
|
|
if(ANDROID)
|
|
target_link_libraries(g PRIVATE log android GLESv2 EGL m dl)
|
|
# FMOD linked as prebuilt import when present:
|
|
set(FMOD_SO "${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmod/${ANDROID_ABI}/libfmod.so")
|
|
if(EXISTS "${FMOD_SO}")
|
|
add_library(fmod SHARED IMPORTED)
|
|
set_target_properties(fmod PROPERTIES IMPORTED_LOCATION "${FMOD_SO}")
|
|
target_link_libraries(g PRIVATE fmod)
|
|
endif()
|
|
endif()
|
|
else()
|
|
message(STATUS "native: src/libg not populated yet (Phase 7/8). Skipping target 'g'.")
|
|
endif()
|
|
|
|
# libcr is part of a custom shared library from classic royale
|
|
file(GLOB_RECURSE LIBCR_SRC CONFIGURE_DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/third_party/libcr/*.c"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/third_party/libcr/*.cpp")
|
|
if(LIBCR_SRC)
|
|
add_library(cr SHARED ${LIBCR_SRC})
|
|
target_include_directories(cr PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/third_party/libcr/include")
|
|
if(ANDROID)
|
|
target_link_libraries(cr PRIVATE log z android m dl)
|
|
endif()
|
|
else()
|
|
message(STATUS "native: third_party/libcr not present yet. Drop the OWNED libcr source here (Phase 12).")
|
|
endif()
|
|
|
|
file(GLOB_RECURSE FMOD_SHIM_SRC CONFIGURE_DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/compatibility/fmod_shim/*.cpp")
|
|
if(FMOD_SHIM_SRC AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmod/${ANDROID_ABI}/libfmod.so")
|
|
add_library(fmod SHARED ${FMOD_SHIM_SRC})
|
|
target_include_directories(fmod PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmod/include")
|
|
if(ANDROID)
|
|
target_link_libraries(fmod PRIVATE log OpenSLES m dl)
|
|
endif()
|
|
endif()
|