1From a97d5a060a534a3c658578e7f14ab43556db93ca Mon Sep 17 00:00:00 2001 2From: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3Date: Thu, 30 Dec 2021 16:19:46 +0100 4Subject: [PATCH] Support glibmm 2.68 5 6Support glibmm 2.68 which has been released one year ago and is the 7first stable release in the glibmm-2.68 ABI series: 8https://gitlab.gnome.org/GNOME/glibmm/-/blob/2.68.2/NEWS 9 10C++17 support is mandatory with glibmm 2.68 11 12Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 13[Upstream status: not sent yet] 14--- 15 CMakeLists.txt | 23 +++++++++++++++++++---- 16 INSTALL | 2 +- 17 2 files changed, 20 insertions(+), 5 deletions(-) 18 19diff --git a/CMakeLists.txt b/CMakeLists.txt 20index 7791b1b1..58a9cf92 100644 21--- a/CMakeLists.txt 22+++ b/CMakeLists.txt 23@@ -75,7 +75,14 @@ add_subdirectory(manual) 24 #------------------------------------------------------------------------------- 25 26 list(APPEND PKGDEPS glib-2.0>=2.28.0) 27-list(APPEND PKGDEPS glibmm-2.4>=2.28.0) 28+ 29+set(LIBSR_GLIBMM "glibmm-2.4>=2.28.0") 30+find_package(PkgConfig) 31+pkg_check_modules(LIBSRGLIBMM24 ${LIBSR_GLIBMM}) 32+if(NOT LIBSRGLIBMM24_FOUND) 33+ set(LIBSR_GLIBMM "glibmm-2.68>=2.68.0") 34+endif() 35+list(APPEND PKGDEPS ${LIBSR_GLIBMM}) 36 37 if(ENABLE_FLOW) 38 list(APPEND PKGDEPS gstreamermm-1.0>=1.8.0) 39@@ -93,7 +100,6 @@ if(ANDROID) 40 list(APPEND PKGDEPS libsigrokandroidutils>=0.1.0) 41 endif() 42 43-find_package(PkgConfig) 44 pkg_check_modules(LIBSRCXX ${LIBSR_CXX_BINDING}) 45 if(NOT LIBSRCXX_FOUND OR NOT LIBSRCXX_VERSION) 46 message(FATAL_ERROR "libsigrok C++ bindings missing, check libsigrok's 'configure' output (missing dependencies?)") 47@@ -225,7 +231,11 @@ memaccess_check_unaligned_le(HAVE_UNALIGNED_LITTLE_ENDIAN_ACCESS) 48 set(PV_TITLE PulseView) 49 set(PV_VERSION_STRING "0.5.0") 50 51-set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION}) 52+if(LIBSRGLIBMM24_FOUND) 53+ set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION}) 54+else() 55+ set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.68_VERSION}) 56+endif() 57 58 include(GetGitRevisionDescription) 59 60@@ -486,7 +496,12 @@ qt5_add_resources(pulseview_RESOURCES_RCC ${CMAKE_BINARY_DIR}/translations.qrc) 61 add_definitions(-DQT_NO_KEYWORDS) 62 add_definitions(-D__STDC_LIMIT_MACROS) 63 add_definitions(-Wall -Wextra) 64-add_definitions(-std=c++11) 65+if(LIBSRGLIBMM24_FOUND) 66+ add_definitions(-std=c++11) 67+else() 68+ # glibmm-2.68 reuires c++17 69+ add_definitions(-std=c++17) 70+endif() 71 add_definitions(-DBOOST_MATH_DISABLE_FLOAT128=1) 72 if(WIN32) 73 add_definitions(-Wa,-mbig-obj -O3) 74diff --git a/INSTALL b/INSTALL 75index da89be8d..8003fcfb 100644 76--- a/INSTALL 77+++ b/INSTALL 78@@ -14,7 +14,7 @@ Requirements 79 - pkg-config >= 0.22 80 - cmake >= 2.8.12 81 - libglib >= 2.28.0 82- - glibmm-2.4 (>= 2.28.0) 83+ - glibmm-2.4 (>= 2.28.0) or glibmm-2.68 (>= 2.68.0) 84 - Qt5 (>= 5.3), including the following components: 85 - Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg, Qt5LinguistTools 86 - Qt translation package (optional; needed at runtime, not build time) 87-- 882.34.1 89 90