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) set(PLUGIN_API "/Applications/Unity/Hub/Editor/6000.3.2f1/Unity.app/Contents/PluginAPI") set(ANDROID_SDK "/Users/omar/Library/Android/sdk") set(BINDER_DIR "${ANDROID_SDK}/platforms/android-36/optional/libbinder_ndk_cpp") set(SHARED_SRC_DIR "/Users/omar/Desktop/NativeService/src/main/cpp/") add_library(my_native_lib SHARED my_native_code.cpp ${SHARED_SRC_DIR}/com/omixlab/mosis/IMosisService.cpp ${SHARED_SRC_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 ${BINDER_DIR} ${PLUGIN_API} )