diff options
Diffstat (limited to 'gnu/packages/patches/nextpnr-imgui.patch')
-rw-r--r-- | gnu/packages/patches/nextpnr-imgui.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gnu/packages/patches/nextpnr-imgui.patch b/gnu/packages/patches/nextpnr-imgui.patch new file mode 100644 index 0000000000..0d9d316d15 --- /dev/null +++ b/gnu/packages/patches/nextpnr-imgui.patch @@ -0,0 +1,75 @@ +Uptream-status: https://github.com/YosysHQ/nextpnr/pull/1480 + +diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt +index ff5d9208..c554cc96 100644 +--- a/gui/CMakeLists.txt ++++ b/gui/CMakeLists.txt +@@ -46,12 +46,42 @@ target_include_directories(nextpnr-${target}-gui PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ) + ++# Detect whether imgui/qtimgui packages are available from the system. ++find_path(IMGUI_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui) ++find_path(QTIMGUI_INCLUDE_DIR NAMES QtImGui.h PATH_SUFFIXES qtimgui) ++find_library(IMGUI_LIB NAMES imgui) ++find_library(QTIMGUI_LIB NAMES qt_imgui_widgets) ++if (IMGUI_INCLUDE_DIR AND IMGUI_LIB) ++ message("Using system imgui library: ++ IMGUI_INCLUDE_DIR=${IMGUI_INCLUDE_DIR} ++ IMGUI_LIB=${IMGUI_LIB}") ++else() ++ message("Using bundled imgui library") ++ set(IMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/imgui) ++ set(IMGUI_SOURCES ++ ../3rdparty/imgui/imgui_widgets.cpp ++ ../3rdparty/imgui/imgui_draw.cpp ++ ../3rdparty/imgui/imgui.cpp ++ ../3rdparty/imgui/imgui_demo.cpp) ++endif() ++if (QTIMGUI_INCLUDE_DIR AND QTIMGUI_LIB) ++ message("Using system qtimgui library: ++ QTIMGUI_INCLUDE_DIR=${QTIMGUI_INCLUDE_DIR} ++ QTIMGUI_LIB=${QTIMGUI_LIB}") ++else() ++ message("Using bundled qtimgui library") ++ set(QTIMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui) ++ set(QTIMGUI_SOURCES ++ ../3rdparty/qtimgui/ImGuiRenderer.cpp ++ ../3rdparty/qtimgui/QtImGui.cpp) ++endif() ++ + target_include_directories(nextpnr-${target}-gui PRIVATE + ${CMAKE_SOURCE_DIR}/frontend + ${CMAKE_SOURCE_DIR}/json + ${CMAKE_SOURCE_DIR}/3rdparty/QtPropertyBrowser/src +- ${CMAKE_SOURCE_DIR}/3rdparty/imgui +- ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui ++ ${IMGUI_INCLUDE_DIR} ++ ${QTIMGUI_INCLUDE_DIR} + ) + + target_link_libraries(nextpnr-${target}-gui PUBLIC +@@ -77,14 +107,17 @@ if (BUILD_PYTHON) + ../3rdparty/python-console/ParseMessage.cpp + ../3rdparty/python-console/modified/pyredirector.cc + ../3rdparty/python-console/modified/pyinterpreter.cc +- ../3rdparty/imgui/imgui_widgets.cpp +- ../3rdparty/imgui/imgui_draw.cpp +- ../3rdparty/imgui/imgui.cpp +- ../3rdparty/imgui/imgui_demo.cpp +- ../3rdparty/qtimgui/ImGuiRenderer.cpp +- ../3rdparty/qtimgui/QtImGui.cpp ++ ${IMGUI_SOURCES} ++ ${QTIMGUI_SOURCES} + ) + ++ if (IMGUI_LIB) ++ target_link_libraries(nextpnr-${target}-gui PRIVATE ${IMGUI_LIB}) ++ endif() ++ if (QTIMGUI_LIB) ++ target_link_libraries(nextpnr-${target}-gui PRIVATE ${QTIMGUI_LIB}) ++ endif() ++ + target_include_directories(nextpnr-${target}-gui PRIVATE + ../3rdparty/python-console + ../3rdparty/python-console/modified |