Warn if using problematic GTK+ version

GTK+ 3.24.5 is known to not draw combobox menu scroll arrows.
Possibly affects >=3.24.2 - <=3.24.6.

Closes #5194
This commit is contained in:
Morgan Hardwood 2019-04-02 08:45:57 +02:00
parent aa379308e3
commit 458f47d12e

View File

@ -289,13 +289,24 @@ endif()
# Check for libraries:
find_package(PkgConfig)
if(WIN32)
pkg_check_modules (GTK REQUIRED gtk+-3.0>=3.22.24)
pkg_check_modules (GTKMM REQUIRED gtkmm-3.0>=3.22)
pkg_check_modules (GTK REQUIRED gtk+-3.0>=3.22.24)
pkg_check_modules (GTKMM REQUIRED gtkmm-3.0>=3.22)
else()
pkg_check_modules (GTK REQUIRED gtk+-3.0>=3.16)
pkg_check_modules (GTKMM REQUIRED gtkmm-3.0>=3.16)
pkg_check_modules (GTK REQUIRED gtk+-3.0>=3.16)
pkg_check_modules (GTKMM REQUIRED gtkmm-3.0>=3.16)
endif()
if(GTK_VERSION VERSION_GREATER "3.24.1" AND GTK_VERSION VERSION_LESS "3.24.7")
if(GTK_VERSION VERSION_EQUAL "3.24.5")
set(CERTAINTY "known to")
else()
set(CERTAINTY "likely to")
endif()
message(WARNING "\nWarning! You are using GTK+ version " ${GTK_VERSION} " which is " ${CERTAINTY} " have an issue where combobox menu scroll-arrows are missing when a Gtk::ComboBox list does not fit vertically on the screen. As a result, users of your build will not be able to select items in the following comboboxes: Processing Profiles, Film Simulation, and the camera and lens profiles in Profiled Lens Correction.\nIt is recommended that you either downgrade GTK+ to <= 3.24.1 or upgrade to >= 3.24.7.")
endif()
pkg_check_modules (GLIB2 REQUIRED glib-2.0>=2.44)
pkg_check_modules (GLIBMM REQUIRED glibmm-2.4>=2.44)
pkg_check_modules (CAIROMM REQUIRED cairomm-1.0)
@ -331,7 +342,6 @@ if(WITH_SYSTEM_KLT)
find_package(KLT REQUIRED)
endif()
# Check for libcanberra-gtk3 (sound events on Linux):
if(UNIX AND(NOT APPLE))
pkg_check_modules(CANBERRA-GTK REQUIRED libcanberra-gtk3)
@ -410,7 +420,6 @@ int main()
endif()
endif()
# Find out whether we are building out of source:
get_filename_component(ABS_SOURCE_DIR "${PROJECT_SOURCE_DIR}" ABSOLUTE)
get_filename_component(ABS_BINARY_DIR "${CMAKE_BINARY_DIR}" ABSOLUTE)