Build offline OpenPrestige release bundles
Rename the injector and package it with an embedded payload for Windows, Linux, and macOS x64/ARM64. Add a core-only ImGui native build, multi-platform CI and release packaging, and shared per-user storage with legacy config migration.
This commit is contained in:
1 parent
5152e6e0a6
commit
2d6b2a3cd1
37 files changed
+1284
-451
No files matched your search
@@ -0,0 +1,58 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
project(openprestige_imgui LANGUAGES CXX)
|
||||
|
||||
file(GLOB GENERATED CONFIGURE_DEPENDS "${CORE_JNI_DIR}/imgui_*.cpp")
|
||||
add_library(imgui-java64 SHARED
|
||||
${GENERATED}
|
||||
"${CORE_JNI_DIR}/imgui.cpp"
|
||||
"${CORE_JNI_DIR}/imgui_draw.cpp"
|
||||
"${CORE_JNI_DIR}/imgui_tables.cpp"
|
||||
"${CORE_JNI_DIR}/imgui_widgets.cpp"
|
||||
"${CORE_JNI_DIR}/imgui_demo.cpp"
|
||||
"${CORE_JNI_DIR}/jni_jvm.cpp"
|
||||
"${CORE_JNI_DIR}/jni_common.cpp"
|
||||
"${CORE_JNI_DIR}/jni_binding_struct.cpp"
|
||||
"${CORE_JNI_DIR}/jni_callbacks.cpp"
|
||||
"${CORE_JNI_DIR}/jni_assertion.cpp"
|
||||
"${CORE_JNI_DIR}/jni_internal.cpp"
|
||||
)
|
||||
target_compile_features(imgui-java64 PRIVATE cxx_std_17)
|
||||
if(WIN32)
|
||||
set(JNI_OS win32)
|
||||
elseif(APPLE)
|
||||
set(JNI_OS mac)
|
||||
else()
|
||||
set(JNI_OS linux)
|
||||
endif()
|
||||
target_include_directories(imgui-java64 PRIVATE
|
||||
"${CORE_JNI_DIR}"
|
||||
"${CORE_JNI_DIR}/jni-headers"
|
||||
"${CORE_JNI_DIR}/jni-headers/${JNI_OS}"
|
||||
)
|
||||
target_compile_definitions(imgui-java64 PRIVATE IMGUI_DISABLE_DEMO_WINDOWS)
|
||||
set_target_properties(imgui-java64 PROPERTIES
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
VISIBILITY_INLINES_HIDDEN YES
|
||||
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CORE_OUTPUT_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CORE_OUTPUT_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CORE_OUTPUT_DIR}"
|
||||
)
|
||||
if(MSVC)
|
||||
target_compile_options(imgui-java64 PRIVATE /O1 /Gy /GL /utf-8)
|
||||
target_link_options(imgui-java64 PRIVATE /LTCG /OPT:REF /OPT:ICF)
|
||||
else()
|
||||
target_compile_options(imgui-java64 PRIVATE -Os -ffunction-sections -fdata-sections)
|
||||
if(APPLE)
|
||||
target_link_options(imgui-java64 PRIVATE -Wl,-dead_strip)
|
||||
else()
|
||||
target_link_options(imgui-java64 PRIVATE -Wl,--gc-sections -s)
|
||||
endif()
|
||||
if(MINGW)
|
||||
target_link_options(imgui-java64 PRIVATE -static-libgcc -static-libstdc++)
|
||||
endif()
|
||||
endif()
|
||||
if(WIN32)
|
||||
set_target_properties(imgui-java64 PROPERTIES PREFIX "")
|
||||
target_link_libraries(imgui-java64 PRIVATE imm32 user32)
|
||||
endif()
|
||||
Reference in new issue
Block a user