Update CMakeLists.txt

This commit is contained in:
gggaa2152 2026-04-06 03:15:12 +08:00 committed by GitHub
parent 123c0461ce
commit e91641be57
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,32 +1,46 @@
cmake_minimum_required(VERSION 3.10)
project(JKMenu)
set(ANDROID_STL c++_static)
# 设置 C++ 标准和 STL
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(ANDROID_STL c++_static)
# 包含目录
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/backends)
# ImGui 核心源文件
# 假设这些文件在项目根目录,如果报错找不到,请确认它们的位置
set(IMGUI_SRCS
imgui.cpp
imgui_draw.cpp
imgui_widgets.cpp
imgui_tables.cpp
imgui_demo.cpp
backends/imgui_impl_android.cpp
backends/imgui_impl_opengl3.cpp
backends/imgui_impl_vulkan.cpp
)
# 注入器
# 1. 编译注入器 (jk_injector)
add_executable(jk_injector injector.cpp)
target_link_libraries(jk_injector log)
# 插件库
# 2. 编译插件库 (libJKMenu.so)
# 确保 main.cpp 存在于根目录
add_library(JKMenu SHARED main.cpp ${IMGUI_SRCS})
# 链接库文件
# 注意:确保 libdobby.a 确实在项目根目录下
target_link_libraries(JKMenu
${CMAKE_CURRENT_SOURCE_DIR}/libdobby.a
android GLESv3 EGL vulkan log
android
GLESv3
EGL
log
)
# 设置输出名称
set_target_properties(jk_injector PROPERTIES OUTPUT_NAME "jk_injector")
set_target_properties(JKMenu PROPERTIES OUTPUT_NAME "libJKMenu")
set_target_properties(JKMenu PROPERTIES OUTPUT_NAME "JKMenu")
# 上面这行会生成 libJKMenu.so