0003-Support-glibmm-2.68.patch 2.9 KB

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