Update CMakeLists.txt

This commit is contained in:
gggaa2152 2026-04-06 07:29:29 +08:00 committed by GitHub
parent c452f7763c
commit 5cd6c0684b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

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