Skip to content

Commit

Permalink
update to support last jparser
Browse files Browse the repository at this point in the history
  • Loading branch information
xpenatan committed Aug 30, 2024
1 parent 42a8b81 commit bf5854b
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 34 deletions.
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ object LibExt {
val libVersion: String = getVersion()

const val gdxVersion = "1.12.1"
const val teaVMVersion = "0.10.0"
const val teaVMVersion = "0.10.1"
const val gdxTeaVMVersion = "-SNAPSHOT"
const val jParserVersion = "-SNAPSHOT"
const val jUnitVersion = "4.12"
Expand Down
40 changes: 20 additions & 20 deletions imgui-ext/ext-build/src/main/java/imgui/BuildImGuiExtensions.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,29 +69,29 @@ private static BuildMultiTarget getWindowTarget(BuildToolOptions op, String exte
glueTarget.addJNIHeaders();
glueTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui/");
glueTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/jniglue");
glueTarget.linkerFlags.add(libBuildCPPPath + "/libs/windows/imgui64.a");
glueTarget.linkerFlags.add(libBuildCPPPath + "/libs/windows/imgui64_.a");
glueTarget.cppInclude.add(libBuildCPPPath + "/src/jniglue/JNIGlue.cpp");

{
// ImLayout extension
String imlayoutCPPPath = extensionsPath + "/imlayout/imlayout-build/build/c++";
glueTarget.headerDirs.add("-I" + imlayoutCPPPath + "/src/imlayout/");
glueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/windows/imlayout64.a");
glueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/windows/imlayout64_.a");
glueTarget.headerDirs.add("-include" + imlayoutCPPPath + "/src/jniglue/JNIGlue.h");
}
{
// ImGuiColorTextEdit extension
String textEditCPPPath = extensionsPath + "/ImGuiColorTextEdit/textedit-build/build/c++";
glueTarget.headerDirs.add("-I" + textEditCPPPath + "/src/textedit/");
glueTarget.headerDirs.add("-I" + textEditCPPPath + "/src/textedit/vendor/regex/include");
glueTarget.linkerFlags.add(textEditCPPPath + "/libs/windows/textedit64.a");
glueTarget.linkerFlags.add(textEditCPPPath + "/libs/windows/textedit64_.a");
glueTarget.headerDirs.add("-include" + textEditCPPPath + "/src/jniglue/JNIGlue.h");
}
{
// imgui-node-editor extension
String nodeeditorCPPPath = extensionsPath + "/imgui-node-editor/nodeeditor-build/build/c++";
glueTarget.headerDirs.add("-I" + nodeeditorCPPPath + "/src/nodeeditor/");
glueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/windows/nodeeditor64.a");
glueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/windows/nodeeditor64_.a");
glueTarget.headerDirs.add("-include" + nodeeditorCPPPath + "/src/jniglue/JNIGlue.h");
}

Expand All @@ -108,30 +108,30 @@ private static BuildMultiTarget getLinuxTarget(BuildToolOptions op, String exten
glueTarget.libDirSuffix += "ext/";
glueTarget.addJNIHeaders();
glueTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui/");
glueTarget.linkerFlags.add(libBuildCPPPath + "/libs/linux/libimgui64.a");
glueTarget.linkerFlags.add(libBuildCPPPath + "/libs/linux/libimgui64_.a");

glueTarget.cppInclude.add(libBuildCPPPath + "/src/jniglue/JNIGlue.cpp");

{
// ImLayout extension
String imlayoutCPPPath = extensionsPath + "/imlayout/imlayout-build/build/c++";
glueTarget.headerDirs.add("-I" + imlayoutCPPPath + "/src/imlayout/");
glueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/linux/libimlayout64.a");
glueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/linux/libimlayout64_.a");
glueTarget.headerDirs.add("-include" + imlayoutCPPPath + "/src/jniglue/JNIGlue.h");
}
{
// ImGuiColorTextEdit extension
String textEditCPPPath = extensionsPath + "/ImGuiColorTextEdit/textedit-build/build/c++";
glueTarget.headerDirs.add("-I" + textEditCPPPath + "/src/textedit/");
glueTarget.headerDirs.add("-I" + textEditCPPPath + "/src/textedit/vendor/regex/include");
glueTarget.linkerFlags.add(textEditCPPPath + "/libs/linux/libtextedit64.a");
glueTarget.linkerFlags.add(textEditCPPPath + "/libs/linux/libtextedit64_.a");
glueTarget.headerDirs.add("-include" + textEditCPPPath + "/src/jniglue/JNIGlue.h");
}
{
// imgui-node-editor extension
String nodeeditorCPPPath = extensionsPath + "/imgui-node-editor/nodeeditor-build/build/c++";
glueTarget.headerDirs.add("-I" + nodeeditorCPPPath + "/src/nodeeditor/");
glueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/linux/libnodeeditor64.a");
glueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/linux/libnodeeditor64_.a");
glueTarget.headerDirs.add("-include" + nodeeditorCPPPath + "/src/jniglue/JNIGlue.h");
}

Expand All @@ -149,10 +149,10 @@ private static BuildMultiTarget getMacTarget(BuildToolOptions op, boolean isArm,
macGlueTarget.addJNIHeaders();
macGlueTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui/");
if(isArm) {
macGlueTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/arm/libimgui64.a");
macGlueTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/arm/libimgui64_.a");
}
else {
macGlueTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/libimgui64.a");
macGlueTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/libimgui64_.a");
}

macGlueTarget.cppInclude.add(libBuildCPPPath + "/src/jniglue/JNIGlue.cpp");
Expand All @@ -162,10 +162,10 @@ private static BuildMultiTarget getMacTarget(BuildToolOptions op, boolean isArm,
String imlayoutCPPPath = extensionsPath + "/imlayout/imlayout-build/build/c++";
macGlueTarget.headerDirs.add("-I" + imlayoutCPPPath + "/src/imlayout/");
if(isArm) {
macGlueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/mac/arm/libimlayout64.a");
macGlueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/mac/arm/libimlayout64_.a");
}
else {
macGlueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/mac/libimlayout64.a");
macGlueTarget.linkerFlags.add(imlayoutCPPPath + "/libs/mac/libimlayout64_.a");
}
macGlueTarget.headerDirs.add("-include" + imlayoutCPPPath + "/src/jniglue/JNIGlue.h");
}
Expand All @@ -175,10 +175,10 @@ private static BuildMultiTarget getMacTarget(BuildToolOptions op, boolean isArm,
macGlueTarget.headerDirs.add("-I" + textEditCPPPath + "/src/textedit/");
macGlueTarget.headerDirs.add("-I" + textEditCPPPath + "/src/textedit/vendor/regex/include");
if(isArm) {
macGlueTarget.linkerFlags.add(textEditCPPPath + "/libs/mac/arm/libtextedit64.a");
macGlueTarget.linkerFlags.add(textEditCPPPath + "/libs/mac/arm/libtextedit64_.a");
}
else {
macGlueTarget.linkerFlags.add(textEditCPPPath + "/libs/mac/libtextedit64.a");
macGlueTarget.linkerFlags.add(textEditCPPPath + "/libs/mac/libtextedit64_.a");
}
macGlueTarget.headerDirs.add("-include" + textEditCPPPath + "/src/jniglue/JNIGlue.h");
}
Expand All @@ -187,10 +187,10 @@ private static BuildMultiTarget getMacTarget(BuildToolOptions op, boolean isArm,
String nodeeditorCPPPath = extensionsPath + "/imgui-node-editor/nodeeditor-build/build/c++";
macGlueTarget.headerDirs.add("-I" + nodeeditorCPPPath + "/src/nodeeditor/");
if(isArm) {
macGlueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/mac/arm/libnodeeditor64.a");
macGlueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/mac/arm/libnodeeditor64_.a");
}
else {
macGlueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/mac/libnodeeditor64.a");
macGlueTarget.linkerFlags.add(nodeeditorCPPPath + "/libs/mac/libnodeeditor64_.a");
}
macGlueTarget.headerDirs.add("-include" + nodeeditorCPPPath + "/src/jniglue/JNIGlue.h");
}
Expand All @@ -210,7 +210,7 @@ private static BuildMultiTarget getTeaVMTarget(BuildToolOptions op, IDLReader id
linkTarget.libDirSuffix += "ext/";
linkTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui");
linkTarget.headerDirs.add("-include" + libBuildCPPPath + "/src/imgui/ImGuiCustom.h");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/emscripten/imgui.a");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/emscripten/imgui_.a");

{
// ImLayout extension
Expand All @@ -219,7 +219,7 @@ private static BuildMultiTarget getTeaVMTarget(BuildToolOptions op, IDLReader id
IDLReader.addIDL(idlReaderCombined, imlayoutIdlPath);
linkTarget.headerDirs.add("-I" + imlayoutCppPath + "/src/imlayout");
linkTarget.headerDirs.add("-include" + imlayoutCppPath + "/src/imlayout/ImLayoutCustom.h");
linkTarget.linkerFlags.add(imlayoutCppPath + "/libs/emscripten/imlayout.a");
linkTarget.linkerFlags.add(imlayoutCppPath + "/libs/emscripten/imlayout_.a");
}
{
// ImGuiColorTextEdit extension
Expand All @@ -229,7 +229,7 @@ private static BuildMultiTarget getTeaVMTarget(BuildToolOptions op, IDLReader id
linkTarget.headerDirs.add("-I" + texteditCppPath + "/src/textedit");
linkTarget.headerDirs.add("-I" + texteditCppPath + "/src/textedit/vendor/regex/include");
linkTarget.headerDirs.add("-include" + texteditCppPath + "/src/textedit/TextEditCustom.h");
linkTarget.linkerFlags.add(texteditCppPath + "/libs/emscripten/textedit.a");
linkTarget.linkerFlags.add(texteditCppPath + "/libs/emscripten/textedit_.a");
}
{
// imgui-node-editor extension
Expand All @@ -238,7 +238,7 @@ private static BuildMultiTarget getTeaVMTarget(BuildToolOptions op, IDLReader id
IDLReader.addIDL(idlReaderCombined, nodeeditorIdlPath);
linkTarget.headerDirs.add("-I" + nodeeditorCppPath + "/src/nodeeditor");
linkTarget.headerDirs.add("-include" + nodeeditorCppPath + "/src/nodeeditor/NodeEditorCustom.h");
linkTarget.linkerFlags.add(nodeeditorCppPath + "/libs/emscripten/nodeeditor.a");
linkTarget.linkerFlags.add(nodeeditorCppPath + "/libs/emscripten/nodeeditor_.a");
}
multiTarget.add(linkTarget);

Expand Down
10 changes: 4 additions & 6 deletions imgui/imgui-build/src/main/cpp/custom/ImGuiCustom.h
Original file line number Diff line number Diff line change
Expand Up @@ -683,14 +683,12 @@ class ImHelper {
io->GetClipboardTextFn = &ImGui_Impl_GetClipboardText;
}

static void memcpyIdx(intptr_t destination, ImDrawList * drawList, int num) {
void * dest = (void*)destination;
memcpy(dest, drawList->IdxBuffer.Data, num);
static void memcpyIdx(void* destination, ImDrawList * drawList, int num) {
memcpy(destination, drawList->IdxBuffer.Data, num);
}

static void memcpyVtx(intptr_t destination, ImDrawList * drawList, int num) {
void * dest = (void*)destination;
memcpy(dest, drawList->VtxBuffer.Data, num);
static void memcpyVtx(void* destination, ImDrawList * drawList, int num) {
memcpy(destination, drawList->VtxBuffer.Data, num);
}

static void memcpyFont(ImFontAtlas* fontAtlas, IDLByteArray* byteArray, int* width, int* height) {
Expand Down
4 changes: 2 additions & 2 deletions imgui/imgui-build/src/main/cpp/imgui.idl
Original file line number Diff line number Diff line change
Expand Up @@ -620,8 +620,8 @@ interface ImGuiInputTextCallbackData {

interface ImHelper {
void setClipboardTextFunction(ImGuiIO io, ClipboardTextFunction clipboardFunction);
void memcpyIdx(long destination, ImDrawList drawList, long num);
void memcpyVtx(long destination, ImDrawList drawList, long num);
void memcpyIdx(any destination, ImDrawList drawList, long num);
void memcpyVtx(any destination, ImDrawList drawList, long num);
void memcpyFont(ImFontAtlas fontAtlas, IDLByteArray pixelBuffer, long[] widthData, long[] heightData);
void updateFontName(ImFont font, [Const] DOMString name, float size_pixels);
long getTextureId(ImDrawCmd imDrawCmd);
Expand Down
10 changes: 5 additions & 5 deletions imgui/imgui-build/src/main/java/BuildImGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ private static BuildMultiTarget getWindowTarget(BuildToolOptions op) {
WindowsTarget linkTarget = new WindowsTarget();
linkTarget.addJNIHeaders();
linkTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui/");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/windows/imgui64.a");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/windows/imgui64_.a");
linkTarget.cppInclude.add(libBuildCPPPath + "/src/jniglue/JNIGlue.cpp");
multiTarget.add(linkTarget);

Expand All @@ -86,7 +86,7 @@ private static BuildMultiTarget getLinuxTarget(BuildToolOptions op) {
LinuxTarget linkTarget = new LinuxTarget();
linkTarget.addJNIHeaders();
linkTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui/");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/linux/libimgui64.a");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/linux/libimgui64_.a");
linkTarget.cppInclude.add(libBuildCPPPath + "/src/jniglue/JNIGlue.cpp");
multiTarget.add(linkTarget);

Expand All @@ -110,10 +110,10 @@ private static BuildMultiTarget getMacTarget(BuildToolOptions op, boolean isArm)
linkTarget.addJNIHeaders();
linkTarget.headerDirs.add("-I" + libBuildCPPPath + "/src/imgui/");
if(isArm) {
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/arm/libimgui64.a");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/arm/libimgui64_.a");
}
else {
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/libimgui64.a");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/mac/libimgui64_.a");
}
linkTarget.cppInclude.add(libBuildCPPPath + "/src/jniglue/JNIGlue.cpp");
multiTarget.add(linkTarget);
Expand All @@ -139,7 +139,7 @@ private static BuildMultiTarget getTeaVMTarget(BuildToolOptions op, IDLReader id
// Compile glue code and link
EmscriptenTarget linkTarget = new EmscriptenTarget(idlReader);
linkTarget.headerDirs.add("-include" + libBuildCPPPath + "/src/imgui/ImGuiCustom.h");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/emscripten/imgui.a");
linkTarget.linkerFlags.add(libBuildCPPPath + "/libs/emscripten/imgui_.a");
multiTarget.add(linkTarget);

return multiTarget;
Expand Down

0 comments on commit bf5854b

Please sign in to comment.