mirror of
https://github.com/ocornut/imgui.git
synced 2026-11-07 15:05:47 +01:00
69 lines
1.7 KiB
CMake
69 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
||
|
||
# 项目名称
|
||
project(AndKittyModProject)
|
||
|
||
# C++ 标准设置
|
||
set(CMAKE_CXX_STANDARD 17)
|
||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
||
# --- 1. 设置路径变量 ---
|
||
set(SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||
|
||
# --- 2. 包含头文件路径 ---
|
||
# 因为 imgui 文件在根目录,直接包含根目录和 backends 目录
|
||
include_directories(
|
||
${SOURCE_DIR}
|
||
${SOURCE_DIR}/include
|
||
${SOURCE_DIR}/backends
|
||
)
|
||
|
||
# --- 3. 引用 Dobby 静态库 (位于根目录) ---
|
||
add_library(dobby STATIC IMPORTED)
|
||
set_target_properties(dobby PROPERTIES IMPORTED_LOCATION
|
||
${SOURCE_DIR}/libdobby.a)
|
||
|
||
# --- 4. 构建主菜单插件 (libMyMenu.so) ---
|
||
# 根据你的实际结构,imgui 核心文件在根目录,后端在 backends/
|
||
set(PLUGIN_SOURCES
|
||
main.cpp
|
||
imgui.cpp
|
||
imgui_draw.cpp
|
||
imgui_widgets.cpp
|
||
imgui_tables.cpp
|
||
imgui_demo.cpp
|
||
backends/imgui_impl_android.cpp
|
||
backends/imgui_impl_opengl3.cpp
|
||
)
|
||
|
||
add_library(MyMenu SHARED ${PLUGIN_SOURCES})
|
||
|
||
# 链接插件所需的系统库
|
||
target_link_libraries(MyMenu
|
||
dobby
|
||
log
|
||
GLESv3
|
||
EGL
|
||
android
|
||
)
|
||
|
||
# --- 5. 构建独立注入器 (injector) ---
|
||
# 确保项目中有 injector.cpp
|
||
if(EXISTS "${SOURCE_DIR}/injector.cpp")
|
||
add_executable(injector injector.cpp)
|
||
|
||
# 注入器需要链接 log (用于调试) 和 dl (用于 dlopen)
|
||
target_link_libraries(injector
|
||
log
|
||
dl
|
||
)
|
||
|
||
# 设置注入器为静态链接 C++ 运行库,确保在不同手机上都能直接运行
|
||
set_target_properties(injector PROPERTIES LINK_FLAGS "-static-libstdc++")
|
||
endif()
|
||
|
||
# 打印构建调试信息
|
||
message(STATUS "Android ABI: ${ANDROID_ABI}")
|
||
message(STATUS "Dobby Path: ${SOURCE_DIR}/libdobby.a")
|
||
message(STATUS "Main Source: ${SOURCE_DIR}/main.cpp")
|