Files
OpenRoyale/native/CMakeLists.txt
T
2026-07-03 07:44:47 +02:00

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()