Update CMakeLists.txt

This commit is contained in:
gggaa2152 2026-04-06 08:15:55 +08:00 committed by GitHub
parent 2520bb939a
commit 43522ffe83
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,44 +1,47 @@
cmake_minimum_required(VERSION 3.10)
# 项目名称
# Project Name
project(AndKittyModProject)
# C++ 标准设置
# C++ Standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# --- 1. 设置路径变量 ---
# --- 1. Path Definitions ---
set(SOURCE_DIR ${CMAKE_SOURCE_DIR})
set(IMGUI_DIR ${SOURCE_DIR}/imgui)
# Since all imgui files are in the root directory, we use SOURCE_DIR directly
set(IMGUI_DIR ${SOURCE_DIR})
# --- 2. 包含头文件路径 ---
# --- 2. Include Directories ---
include_directories(
${SOURCE_DIR}
${SOURCE_DIR}/include
${IMGUI_DIR}
${IMGUI_DIR}/backends
# Backends are also in root or a specific backends folder?
# Assuming standard structure: backends folder exists in root
${SOURCE_DIR}/backends
)
# --- 3. 引用 Dobby 静态库 (现在指向根目录) ---
# --- 3. Dobby Static Library (Root) ---
add_library(dobby STATIC IMPORTED)
set_target_properties(dobby PROPERTIES IMPORTED_LOCATION
${SOURCE_DIR}/libdobby.a)
# --- 4. 构建主菜单插件 (libMyMenu.so) ---
# 注意:确保你的源文件路径与实际目录结构一致
# --- 4. Build Plugin (libMyMenu.so) ---
# All files are in the root directory
set(PLUGIN_SOURCES
main.cpp
${IMGUI_DIR}/imgui.cpp
${IMGUI_DIR}/imgui_draw.cpp
${IMGUI_DIR}/imgui_widgets.cpp
${IMGUI_DIR}/imgui_tables.cpp
${IMGUI_DIR}/backends/imgui_impl_android.cpp
${IMGUI_DIR}/backends/imgui_impl_opengl3.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})
# 链接插件所需的系统库
# Link Libraries
target_link_libraries(MyMenu
dobby
log
@ -47,18 +50,14 @@ target_link_libraries(MyMenu
android
)
# --- 5. 构建独立注入器 (injector) ---
add_executable(injector injector.cpp)
# --- 5. Build Injector Binary ---
if(EXISTS "${SOURCE_DIR}/injector.cpp")
add_executable(injector injector.cpp)
target_link_libraries(injector log dl)
# Static link for better compatibility on Android
set_target_properties(injector PROPERTIES LINK_FLAGS "-static-libstdc++")
endif()
# 注入器需要链接 log 和 dl 库
target_link_libraries(injector
log
dl
)
# 为注入器设置静态链接 C++ 运行库,确保兼容性
set_target_properties(injector PROPERTIES LINK_FLAGS "-static-libstdc++")
# 打印构建信息
# Debug Messages
message(STATUS "Android ABI: ${ANDROID_ABI}")
message(STATUS "Dobby path: ${SOURCE_DIR}/libdobby.a")
message(STATUS "Looking for source: ${SOURCE_DIR}/imgui.cpp")