From 458f47d12e9743c92d67634fdf8e2e2fd894849c Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Tue, 2 Apr 2019 08:45:57 +0200 Subject: [PATCH] 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 --- CMakeLists.txt | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 58c87512d..8f48ac6f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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)