diff --git a/CMakeLists.txt b/CMakeLists.txt index 40bbbd7b3..fac46e518 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,45 +1,43 @@ cmake_minimum_required(VERSION 3.10) -project(ModMenu) +# 项目名称 +project("MyModMenu") + +# 设置 C++ 标准 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# ==================== 1. 编译 libmodmenu.so ==================== -set(IMGUI_SOURCES - ${CMAKE_CURRENT_SOURCE_DIR}/imgui.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/imgui_draw.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/imgui_tables.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/imgui_widgets.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3.cpp +# 包含头文件目录 (假设你的头文件在 include 和 imgui 目录下) +include_directories( + include + imgui + imgui/backends ) -add_library(dobby STATIC IMPORTED) -set_target_properties(dobby PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/libdobby.a) +# 查找库文件 (Dobby 静态库) +# 注意:在 GitHub Action 中,我们会把库放在指定的路径 +link_directories(${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}) -add_library(modmenu SHARED main.cpp ${IMGUI_SOURCES}) - -target_include_directories(modmenu PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/backends +# 定义源文件 +set(SOURCE_FILES + main.cpp + imgui/imgui.cpp + imgui/imgui_draw.cpp + imgui/imgui_widgets.cpp + imgui/imgui_tables.cpp + imgui/backends/imgui_impl_android.cpp + imgui/backends/imgui_impl_opengl3.cpp ) -target_link_libraries(modmenu +# 生成共享库 (.so) +add_library(MyMenu SHARED ${SOURCE_FILES}) + +# 链接依赖项 +# dobby 为静态库,log, GLESv3, EGL, android 为系统库 +target_link_libraries(MyMenu dobby - android - EGL - GLESv3 log - z -) - -# ==================== 2. 编译注入器 injector ==================== -add_executable(injector injector.cpp) - -target_link_libraries(injector dl) - -# 可选:指定输出目录(与 so 相同) -set_target_properties(modmenu injector PROPERTIES - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} + GLESv3 + EGL + android )