include(LinkMacOSGUI) set(SAVE_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) set(BUILD_SHARED_LIBS OFF) set(GLFW_INSTALL OFF) add_subdirectory("glfw") set(BUILD_SHARED_LIBS ${SAVE_BUILD_SHARED_LIBS}) export(TARGETS glfw FILE glfw.cmake NAMESPACE glfw::) # Add imgui directly to our build. file(GLOB imgui_sources imgui/cpp/*.cpp imgui/cpp/misc/cpp/*.cpp) file(GLOB implot_sources implot/cpp/*.cpp) file(GLOB fonts_sources generated/fonts/src/*.cpp) set(imgui_all_sources ${imgui_sources} ${implot_sources} ${fonts_sources} imgui/cpp/backends/imgui_impl_glfw.cpp imgui/cpp/backends/imgui_impl_opengl3.cpp generated/gl3w/src/gl3w.c stb/cpp/stb_image.cpp ) if(MSVC) add_library(imgui STATIC ${imgui_all_sources}) else() add_library(imgui ${imgui_all_sources}) endif() target_compile_definitions(imgui PUBLIC IMGUI_IMPL_OPENGL_LOADER_GL3W) if(MSVC) target_sources(imgui PRIVATE imgui/cpp/backends/imgui_impl_dx11.cpp) else() if(APPLE) target_compile_options(imgui PRIVATE -fobjc-arc) wpilib_link_macos_gui(imgui) target_sources(imgui PRIVATE imgui/cpp/backends/imgui_impl_metal.mm) else() #target_sources(imgui PRIVATE imgui/cpp/backends/imgui_impl_opengl3.cpp) endif() endif() target_link_libraries(imgui PUBLIC glfw) target_include_directories( imgui PUBLIC "$" "$" "$" "$" "$" "$" "$" PRIVATE "$" ) target_compile_features(imgui PUBLIC cxx_std_20) if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20.0) target_compile_options(imgui PUBLIC -Wno-nontrivial-memcall) endif() install(TARGETS imgui EXPORT imgui) export(TARGETS imgui FILE imgui.cmake NAMESPACE imgui::)