diff --git a/.gitmodules b/.gitmodules index b04a1649c5..4b46f5dd9e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -43,10 +43,6 @@ [submodule "tests/lcitool/libvirt-ci"] path = tests/lcitool/libvirt-ci url = https://gitlab.com/libvirt/libvirt-ci.git -[submodule "ui/thirdparty/imgui"] - path = ui/thirdparty/imgui - url = https://github.com/xemu-project/imgui.git - ignore = untracked [submodule "ui/thirdparty/implot"] path = ui/thirdparty/implot url = https://github.com/epezent/implot.git diff --git a/meson.build b/meson.build index 851812736c..7399f72ba5 100644 --- a/meson.build +++ b/meson.build @@ -1756,6 +1756,7 @@ if not get_option('opengl').auto() or have_system or have_vhost_user_gpu error('epoxy/egl.h not found') endif endif + gbm = not_found if (have_system or have_tools) and (virgl.found() or opengl.found()) gbm = dependency('gbm', method: 'pkg-config', required: false) @@ -2348,6 +2349,28 @@ endif libsamplerate = dependency('samplerate', method: 'pkg-config', required: true) +imgui_proj = subproject('imgui', required: true, + default_options: [ + 'default_library=static', + 'dx9=disabled', + 'dx10=disabled', + 'dx11=disabled', + 'dx12=disabled', + 'metal=disabled', + 'opengl=enabled', + 'sdl2_renderer=disabled', + 'sdl3_renderer=disabled', + 'vulkan=disabled', + 'webgpu=disabled', + 'glfw=disabled', + 'sdl2=enabled', + 'sdl3=disabled', + 'osx=disabled', + 'win=disabled', + 'allegro5=disabled', + ]) +imgui = imgui_proj.get_variable('imgui_dep') + subdir('thirdparty') ################# diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index 462dc2a6c0..c87e1bc96d 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -35,7 +35,7 @@ sub_deinit="" # xemu extras subprojects="$subprojects glslang SPIRV-Reflect volk VulkanMemoryAllocator - nv2a_vsh_cpu tomlplusplus cpp-httplib xxhash" + nv2a_vsh_cpu tomlplusplus cpp-httplib xxhash imgui" function cleanup() { local status=$? diff --git a/scripts/gen-license.py b/scripts/gen-license.py index 656ad90431..ded4c0b517 100755 --- a/scripts/gen-license.py +++ b/scripts/gen-license.py @@ -192,7 +192,7 @@ Lib('slirp', 'https://gitlab.freedesktop.org/slirp', Lib('imgui', 'https://github.com/ocornut/imgui', mit, 'https://raw.githubusercontent.com/ocornut/imgui/master/LICENSE.txt', ships_static=all_platforms, - submodule=Submodule('ui/thirdparty/imgui') + submodule=Submodule('subprojects/imgui.wrap') ), Lib('implot', 'https://github.com/epezent/implot', diff --git a/subprojects/.gitignore b/subprojects/.gitignore index fedba661f0..7ac39126ea 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -26,3 +26,4 @@ nv2a_vsh_cpu tomlplusplus cpp-httplib xxHash-* +imgui diff --git a/subprojects/imgui.wrap b/subprojects/imgui.wrap new file mode 100644 index 0000000000..7494556bf2 --- /dev/null +++ b/subprojects/imgui.wrap @@ -0,0 +1,4 @@ +[wrap-git] +url=https://github.com/xemu-project/imgui +revision=80cbdab5ecd70db79917c448c333163995e605a5 +depth=1 diff --git a/ui/thirdparty/imgui b/ui/thirdparty/imgui deleted file mode 160000 index fceff3210b..0000000000 --- a/ui/thirdparty/imgui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fceff3210b9ecfa8fc66710a00f4cabc2447460f diff --git a/ui/thirdparty/meson.build b/ui/thirdparty/meson.build index c40caaad77..5ea66df9c5 100644 --- a/ui/thirdparty/meson.build +++ b/ui/thirdparty/meson.build @@ -1,25 +1,3 @@ -imgui_files = files( - 'imgui/imgui.cpp', - 'imgui/imgui_draw.cpp', - 'imgui/imgui_tables.cpp', - 'imgui/imgui_widgets.cpp', - 'imgui/backends/imgui_impl_sdl2.cpp', - 'imgui/backends/imgui_impl_opengl3.cpp', - 'imgui/misc/cpp/imgui_stdlib.cpp', - #'imgui/imgui_demo.cpp', -) - -imgui_cppargs = ['-DIMGUI_IMPL_OPENGL_LOADER_CUSTOM', - '-include', 'imgui_impl_opengl3_loader_override.h'] - -libimgui = static_library('imgui', - sources: imgui_files, - cpp_args: imgui_cppargs, - include_directories: ['.', 'imgui'], - dependencies: [sdl, opengl]) -imgui = declare_dependency(link_with: libimgui, - include_directories: ['imgui', 'imgui/backends']) - implot_files = files( 'implot/implot.cpp', 'implot/implot_items.cpp'