54 lines
1.9 KiB
CMake
54 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.22.1)
|
|
project("MyNativePlugin")
|
|
|
|
find_library(log-lib log)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
message(STATUS "AAA-${UNITY_ROOT}")
|
|
message(STATUS "AAA-${UNITY_PROJECT_DIR}")
|
|
message(STATUS "AAA-${ANDROID_SDK}")
|
|
|
|
set(PLUGIN_API "${UNITY_ROOT}/PluginAPI")
|
|
set(BINDER_DIR "${ANDROID_SDK}/platforms/android-36/optional/libbinder_ndk_cpp")
|
|
|
|
set(SHARED_SRC_DIR "${UNITY_PROJECT_DIR}/../MosisService/src/main/cpp/")
|
|
set(AIDL_EXE "${ANDROID_SDK}/build-tools/36.1.0/aidl.exe")
|
|
set(AIDL_BASE_ARGS --lang=ndk --min_sdk_version=36
|
|
-o ${CMAKE_CURRENT_BINARY_DIR} -h ${CMAKE_CURRENT_BINARY_DIR} -I ..\\aidl)
|
|
|
|
add_custom_command(
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisService.cpp"
|
|
COMMAND ${AIDL_EXE} ${AIDL_BASE_ARGS} ..\\aidl\\com\\omixlab\\mosis\\IMosisService.aidl
|
|
DEPENDS ../aidl/com/omixlab/mosis/IMosisService.aidl
|
|
WORKING_DIRECTORY ${SHARED_SRC_DIR}
|
|
VERBATIM
|
|
)
|
|
add_custom_command(
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisListener.cpp"
|
|
COMMAND ${AIDL_EXE} ${AIDL_BASE_ARGS} ..\\aidl\\com\\omixlab\\mosis\\IMosisListener.aidl
|
|
DEPENDS ../aidl/com/omixlab/mosis/IMosisListener.aidl
|
|
WORKING_DIRECTORY ${SHARED_SRC_DIR}
|
|
VERBATIM
|
|
)
|
|
|
|
add_library(my_native_lib SHARED
|
|
my_native_code.cpp
|
|
${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisService.cpp
|
|
${CMAKE_CURRENT_BINARY_DIR}/com/omixlab/mosis/IMosisListener.cpp
|
|
${SHARED_SRC_DIR}/logger.cpp
|
|
${SHARED_SRC_DIR}/external_texture.cpp
|
|
${SHARED_SRC_DIR}/render_target.cpp
|
|
${SHARED_SRC_DIR}/glad/src/egl.c
|
|
${SHARED_SRC_DIR}/glad/src/gles2.c
|
|
)
|
|
target_link_libraries(my_native_lib ${log-lib} binder_ndk EGL GLESv2 nativewindow)
|
|
target_include_directories(my_native_lib PUBLIC
|
|
${SHARED_SRC_DIR}
|
|
${SHARED_SRC_DIR}/glad/include
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${BINDER_DIR}
|
|
${PLUGIN_API}
|
|
)
|