The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

cmake: Refactor how we build imgui

+63 -103
+44
src/external/CMakeLists.txt
··· 58 58 # STB 59 59 add_library(xrt-external-stb INTERFACE) 60 60 target_include_directories(xrt-external-stb INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/stb) 61 + 62 + # imgui 63 + if(XRT_HAVE_SDL2) 64 + # c-imgui doesn't do well with IPO - lots of warnings. 65 + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF) 66 + add_library( 67 + xrt-external-imgui STATIC 68 + imgui/imgui/cimgui.cpp 69 + imgui/imgui/cimgui.h 70 + imgui/imgui/cimplot.cpp 71 + imgui/imgui/cimplot.h 72 + imgui/imgui/imconfig.h 73 + imgui/imgui/imgui.cpp 74 + imgui/imgui/imgui.h 75 + imgui/imgui/imgui_demo.cpp 76 + imgui/imgui/imgui_draw.cpp 77 + imgui/imgui/imgui_impl_opengl3.cpp 78 + imgui/imgui/imgui_impl_opengl3.h 79 + imgui/imgui/imgui_internal.h 80 + imgui/imgui/imgui_widgets.cpp 81 + imgui/imgui/implot.cpp 82 + imgui/imgui/implot.h 83 + imgui/imgui/implot_demo.cpp 84 + imgui/imgui/implot_internal.h 85 + imgui/imgui/implot_items.cpp 86 + imgui/imgui/imstb_rectpack.h 87 + imgui/imgui/imstb_textedit.h 88 + imgui/imgui/imstb_truetype.h 89 + imgui/imgui_monado/imgui_monado.cpp 90 + ) 91 + target_include_directories(xrt-external-imgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui) 92 + 93 + target_compile_definitions(xrt-external-imgui PUBLIC CIMGUI_NO_EXPORT) 94 + target_link_libraries(xrt-external-imgui PRIVATE xrt-external-glad) 95 + 96 + add_library( 97 + xrt-external-imgui-sdl2 STATIC imgui/imgui/cimgui_sdl.cpp imgui/imgui/imgui_impl_sdl.cpp 98 + imgui/imgui/imgui_impl_sdl.h 99 + ) 100 + target_link_libraries(xrt-external-imgui-sdl2 PRIVATE xrt-external-imgui ${SDL2_LIBRARIES}) 101 + 102 + target_include_directories(xrt-external-imgui-sdl2 PRIVATE ${SDL2_INCLUDE_DIRS}) 103 + target_include_directories(xrt-external-imgui-sdl2 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui) 104 + endif()
+5 -55
src/xrt/state_trackers/gui/CMakeLists.txt
··· 4 4 # c-imgui doesn't do well with IPO - lots of warnings. 5 5 set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF) 6 6 7 - set(GUI_SOURCE_FILES 7 + add_library( 8 + st_gui STATIC 8 9 gui_common.h 9 10 gui_imgui.h 10 11 gui_ogl.c ··· 20 21 gui_stb.c 21 22 gui_window_record.c 22 23 gui_window_record.h 23 - ../../../external/imgui/imgui/cimgui.cpp 24 - ../../../external/imgui/imgui/cimgui.h 25 - ../../../external/imgui/imgui/cimplot.cpp 26 - ../../../external/imgui/imgui/cimplot.h 27 - ../../../external/imgui/imgui/imconfig.h 28 - ../../../external/imgui/imgui/imgui.cpp 29 - ../../../external/imgui/imgui/imgui.h 30 - ../../../external/imgui/imgui/imgui_demo.cpp 31 - ../../../external/imgui/imgui/imgui_draw.cpp 32 - ../../../external/imgui/imgui/imgui_impl_opengl3.cpp 33 - ../../../external/imgui/imgui/imgui_impl_opengl3.h 34 - ../../../external/imgui/imgui/imgui_internal.h 35 - ../../../external/imgui/imgui/imgui_widgets.cpp 36 - ../../../external/imgui/imgui/implot.cpp 37 - ../../../external/imgui/imgui/implot.h 38 - ../../../external/imgui/imgui/implot_demo.cpp 39 - ../../../external/imgui/imgui/implot_internal.h 40 - ../../../external/imgui/imgui/implot_items.cpp 41 - ../../../external/imgui/imgui/imstb_rectpack.h 42 - ../../../external/imgui/imgui/imstb_textedit.h 43 - ../../../external/imgui/imgui/imstb_truetype.h 44 - ../../../external/imgui/imgui_monado/imgui_monado.cpp 45 24 ) 46 25 47 - add_library(st_gui STATIC 48 - ${GUI_SOURCE_FILES} 49 - ) 50 - 51 - target_link_libraries(st_gui PRIVATE 52 - xrt-external-glad 53 - xrt-external-stb 54 - aux_util 55 - aux_os 56 - ) 57 - target_include_directories(st_gui PUBLIC 58 - ${CMAKE_CURRENT_SOURCE_DIR}/.. 59 - ${CMAKE_CURRENT_SOURCE_DIR}/../../../external/imgui 60 - ${CMAKE_CURRENT_SOURCE_DIR}/../../drivers 61 - ) 62 - target_compile_definitions(st_gui PUBLIC 63 - CIMGUI_NO_EXPORT 64 - ) 26 + target_link_libraries(st_gui PRIVATE xrt-external-stb aux_util aux_os aux_ogl) 27 + target_include_directories(st_gui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../../drivers) 65 28 66 29 if(XRT_HAVE_GST) 67 30 target_link_libraries(st_gui PRIVATE ··· 82 45 endif() 83 46 84 47 if(XRT_HAVE_SDL2) 85 - add_library(imgui_impl_sdl STATIC 86 - ../../../external/imgui/imgui/cimgui_sdl.cpp 87 - ../../../external/imgui/imgui/imgui_impl_sdl.cpp 88 - ../../../external/imgui/imgui/imgui_impl_sdl.h 89 - ) 90 - target_link_libraries(imgui_impl_sdl PRIVATE 91 - ${SDL2_LIBRARIES} 92 - ) 93 - target_include_directories(imgui_impl_sdl 94 - PRIVATE 95 - ${SDL2_INCLUDE_DIRS} 96 - PUBLIC 97 - ${CMAKE_CURRENT_SOURCE_DIR}/../../../external/imgui 98 - ) 48 + target_link_libraries(st_gui PUBLIC xrt-external-imgui-sdl2) 99 49 endif()
+12 -30
src/xrt/targets/gui/CMakeLists.txt
··· 4 4 ###### 5 5 # Create a small SDL2 based GUI for Monado. 6 6 7 - set(SOURCE_FILES 8 - gui_sdl2.c 9 - gui_sdl2_imgui.c 10 - gui_sdl2_main.c 11 - ) 7 + add_executable(gui gui_sdl2.c gui_sdl2_imgui.c gui_sdl2_main.c) 12 8 13 - add_executable(gui 14 - ${SOURCE_FILES} 15 - ) 16 - 17 - set_target_properties(gui PROPERTIES 18 - OUTPUT_NAME monado-gui 19 - PREFIX "" 20 - ) 9 + set_target_properties(gui PROPERTIES OUTPUT_NAME monado-gui PREFIX "") 21 10 add_sanitizers(gui) 22 11 23 - target_link_libraries(gui PRIVATE 24 - aux_os 25 - aux_ogl 26 - aux_util 27 - aux_math 28 - st_gui 29 - target_instance_no_comp 30 - imgui_impl_sdl 31 - ${SDL2_LIBRARIES} 12 + target_link_libraries( 13 + gui 14 + PRIVATE aux_os 15 + aux_ogl 16 + aux_util 17 + aux_math 18 + st_gui 19 + target_instance_no_comp 20 + xrt-external-imgui-sdl2 32 21 ) 33 22 if(WIN32) 34 23 target_link_libraries(gui PRIVATE SDL2::SDL2main) 35 24 endif() 36 25 37 - target_include_directories(gui PRIVATE 38 - ${CMAKE_CURRENT_SOURCE_DIR}/.. 39 - ${SDL2_INCLUDE_DIRS} 40 - ) 41 - 42 - install(TARGETS gui 43 - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 44 - ) 26 + install(TARGETS gui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+1 -8
src/xrt/targets/openxr/CMakeLists.txt
··· 38 38 endif() 39 39 40 40 if(XRT_HAVE_SDL2) 41 - target_link_libraries(${RUNTIME_TARGET} PRIVATE 42 - st_gui 43 - imgui_impl_sdl 44 - ${SDL2_LIBRARIES} 45 - ) 46 - target_include_directories(${RUNTIME_TARGET} PRIVATE 47 - ${SDL2_INCLUDE_DIRS} 48 - ) 41 + target_link_libraries(${RUNTIME_TARGET} PRIVATE st_gui xrt-external-imgui-sdl2 ${SDL2_LIBRARIES}) 49 42 50 43 if(XRT_BUILD_DRIVER_QWERTY) 51 44 target_link_libraries(${RUNTIME_TARGET} PRIVATE
+1 -10
src/xrt/targets/service/CMakeLists.txt
··· 82 82 endif() 83 83 84 84 if(XRT_HAVE_SDL2) 85 - target_link_libraries(monado-service PRIVATE 86 - st_gui 87 - imgui_impl_sdl 88 - ${SDL2_LIBRARIES} 89 - aux_ogl 90 - drv_qwerty_includes 91 - ) 92 - target_include_directories(monado-service PRIVATE 93 - ${SDL2_INCLUDE_DIRS} 94 - ) 85 + target_link_libraries(monado-service PRIVATE st_gui xrt-external-imgui-sdl2 aux_ogl drv_qwerty_includes) 95 86 endif()