--- /dev/null
+find_package(GTK2)
+
+if(GTK2_FOUND)
+
+ add_library(gvplugin_gtk SHARED
+ callbacks.c
+ gvdevice_gtk.c
+ gvplugin_gtk.c
+ interface.c
+ support.c
+ )
+
+ target_include_directories(gvplugin_gtk PRIVATE
+ ../../lib
+ ../../lib/cdt
+ ../../lib/cgraph
+ ../../lib/common
+ ../../lib/gvc
+ ../../lib/pathplan
+ )
+
+ target_include_directories(gvplugin_gtk SYSTEM PRIVATE
+ ${GTK2_INCLUDE_DIRS}
+ )
+
+ target_link_libraries(gvplugin_gtk
+ ${GTK2_LIBRARIES}
+ )
+
+ install(
+ TARGETS gvplugin_gtk
+ RUNTIME DESTINATION ${BINARY_INSTALL_DIR}
+ LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR}
+ ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}
+ )
+
+ set_target_properties(gvplugin_gtk PROPERTIES
+ VERSION ${GRAPHVIZ_PLUGIN_VERSION}.0.0
+ SOVERSION ${GRAPHVIZ_PLUGIN_VERSION}
+ )
+
+ if(MINGW)
+ # work around https://gitlab.kitware.com/cmake/cmake/-/issues/21716
+ set_target_properties(gvplugin_gtk PROPERTIES
+ RUNTIME_OUTPUT_NAME gvplugin_gtk-${GRAPHVIZ_PLUGIN_VERSION}
+ )
+ endif()
+
+endif()