imgui-mirror/CMakeLists.txt
2026-04-06 08:25:23 +08:00

69 lines
1.7 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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