rokups / ImNodes

Node graph implementation for Dear ImGui. Used in https://github.com/rokups/rbfx
MIT License
656 stars 57 forks source link

Patch for imgui 1.85 #37

Closed sphaero closed 2 years ago

sphaero commented 2 years ago

Not sure if this is useful but it might help others?

When using imgui 1.85 the downloaded CMakeLists.txt ends up in the wrong dir. It's a matter of leaving out the 'v' in the version string.

However the downloaded CMakeLists.txt for Imgui needs patching:

115c115
<     ${IMGUI_ROOT_DIR}/imgui_draw.cpp ${IMGUI_ROOT_DIR}/imgui_widgets.cpp
---
>     ${IMGUI_ROOT_DIR}/imgui_draw.cpp ${IMGUI_ROOT_DIR}/imgui_widgets.cpp ${IMGUI_ROOT_DIR}/imgui_tables.cpp
151,161c151,161
< if (NOT CMAKE_SYSTEM_NAME STREQUAL Emscripten)
<     add_library(imgui-gl3w INTERFACE)
<     target_sources(imgui-gl3w INTERFACE ${IMGUI_EXAMPLES_DIR}/libs/gl3w/GL/gl3w.c)
<     target_compile_definitions(imgui-gl3w INTERFACE -DIMGUI_IMPL_OPENGL_LOADER_GL3W=1)
<     target_include_directories(imgui-gl3w INTERFACE ${IMGUI_EXAMPLES_DIR}/libs/gl3w)
<     if (APPLE)
<         target_link_libraries(imgui-gl3w INTERFACE "-framework CoreFoundation")
<     else ()
<         target_link_libraries(imgui-gl3w INTERFACE ${CMAKE_DL_LIBS})
<     endif ()
< endif ()
---
> #if (NOT CMAKE_SYSTEM_NAME STREQUAL Emscripten)
> #    add_library(imgui-gl3w INTERFACE)
> #    target_sources(imgui-gl3w INTERFACE ${IMGUI_EXAMPLES_DIR}/libs/gl3w/GL/gl3w.c)
> #    target_compile_definitions(imgui-gl3w INTERFACE -DIMGUI_IMPL_OPENGL_LOADER_GL3W=1)
> #    target_include_directories(imgui-gl3w INTERFACE ${IMGUI_EXAMPLES_DIR}/libs/gl3w)
> #    if (APPLE)
> #        target_link_libraries(imgui-gl3w INTERFACE "-framework CoreFoundation")
> #    else ()
> #        target_link_libraries(imgui-gl3w INTERFACE ${CMAKE_DL_LIBS})
> #    endif ()
> #endif ()
175c175
<         target_link_libraries(SDL2::SDL2 INTERFACE ${SDL2_LIBRARIES})
---
>         target_link_libraries(SDL2::SDL2 INTERFACE ${SDL2_LIBRARIES} ${CMAKE_DL_LIBS})
323c323
<         target_link_libraries (imgui-opengl3 INTERFACE imgui OpenGL::GL)
---
>         target_link_libraries (imgui-opengl3 INTERFACE imgui OpenGL::GL ${CMAKE_DL_LIBS})
sphaero commented 2 years ago

Btw I only tested this on Linux

rokups commented 2 years ago

Thanks! 👍🏻