From e0c48acf1bc4eef579205a697ab32843fb8d2284 Mon Sep 17 00:00:00 2001 From: gggaa2152 <60614405+gggaa2152@users.noreply.github.com> Date: Mon, 6 Apr 2026 08:25:23 +0800 Subject: [PATCH] Update CMakeLists.txt --- CMakeLists.txt | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ea0e5691..6f6fa8bf4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,33 +1,30 @@ cmake_minimum_required(VERSION 3.10) -# Project Name +# 项目名称 project(AndKittyModProject) -# C++ Standard +# C++ 标准设置 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# --- 1. Path Definitions --- +# --- 1. 设置路径变量 --- set(SOURCE_DIR ${CMAKE_SOURCE_DIR}) -# Since all imgui files are in the root directory, we use SOURCE_DIR directly -set(IMGUI_DIR ${SOURCE_DIR}) -# --- 2. Include Directories --- +# --- 2. 包含头文件路径 --- +# 因为 imgui 文件在根目录,直接包含根目录和 backends 目录 include_directories( ${SOURCE_DIR} ${SOURCE_DIR}/include - # Backends are also in root or a specific backends folder? - # Assuming standard structure: backends folder exists in root ${SOURCE_DIR}/backends ) -# --- 3. Dobby Static Library (Root) --- +# --- 3. 引用 Dobby 静态库 (位于根目录) --- add_library(dobby STATIC IMPORTED) set_target_properties(dobby PROPERTIES IMPORTED_LOCATION ${SOURCE_DIR}/libdobby.a) -# --- 4. Build Plugin (libMyMenu.so) --- -# All files are in the root directory +# --- 4. 构建主菜单插件 (libMyMenu.so) --- +# 根据你的实际结构,imgui 核心文件在根目录,后端在 backends/ set(PLUGIN_SOURCES main.cpp imgui.cpp @@ -41,7 +38,7 @@ set(PLUGIN_SOURCES add_library(MyMenu SHARED ${PLUGIN_SOURCES}) -# Link Libraries +# 链接插件所需的系统库 target_link_libraries(MyMenu dobby log @@ -50,14 +47,22 @@ target_link_libraries(MyMenu android ) -# --- 5. Build Injector Binary --- +# --- 5. 构建独立注入器 (injector) --- +# 确保项目中有 injector.cpp if(EXISTS "${SOURCE_DIR}/injector.cpp") add_executable(injector injector.cpp) - target_link_libraries(injector log dl) - # Static link for better compatibility on Android + + # 注入器需要链接 log (用于调试) 和 dl (用于 dlopen) + target_link_libraries(injector + log + dl + ) + + # 设置注入器为静态链接 C++ 运行库,确保在不同手机上都能直接运行 set_target_properties(injector PROPERTIES LINK_FLAGS "-static-libstdc++") endif() -# Debug Messages +# 打印构建调试信息 message(STATUS "Android ABI: ${ANDROID_ABI}") -message(STATUS "Looking for source: ${SOURCE_DIR}/imgui.cpp") +message(STATUS "Dobby Path: ${SOURCE_DIR}/libdobby.a") +message(STATUS "Main Source: ${SOURCE_DIR}/main.cpp")