add_library(imgui ../extern/imgui/imgui.cpp ../extern/imgui/imgui_demo.cpp ../extern/imgui/imgui_draw.cpp ../extern/imgui/imgui_tables.cpp ../extern/imgui/imgui_widgets.cpp ../extern/imgui/misc/cpp/imgui_stdlib.cpp # ../imgui-sys/third-party/cimgui.cpp ImGuiEngine.cpp ImGuiEngine.hpp NotoMono.cpp MetaforceIcon.cpp ) target_include_directories(imgui PUBLIC ${CMAKE_SOURCE_DIR}/extern/imgui ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_definitions(imgui PUBLIC IMGUI_USER_CONFIG="imconfig_user.h") # IMGUI_USE_WCHAR32 if (CMAKE_COMPILER_IS_GNUCXX) # currently explicitly ignored for clang in imgui code, but not gcc (yet) target_compile_options(imgui PRIVATE -Wno-deprecated-enum-enum-conversion) endif() target_link_libraries(imgui PRIVATE boo hecl-light RetroDataSpec aurora) # Optional, replaces stb_freetype if available find_package(Freetype) if (FREETYPE_FOUND) target_sources(imgui PRIVATE ../extern/imgui/misc/freetype/imgui_freetype.cpp) target_compile_definitions(imgui PRIVATE IMGUI_ENABLE_FREETYPE) target_link_libraries(imgui PRIVATE Freetype::Freetype) endif () bintoc_compress(NotoMono.cpp NotoMono-Regular.ttf NOTO_MONO_FONT) bintoc(MetaforceIcon.cpp ../Runtime/platforms/freedesktop/256x256/apps/metaforce.png METAFORCE_ICON) #add_shader(ImGuiShader) #target_link_libraries(shader_ImGuiShader PRIVATE hecl-light)