Control: tags -1 +patch

Hi,

There are two ways to have this fixed. There's the minimal patch or
two upstream commits backported. It's your choice which way to go when
the transition starts.

Regards,
Laszlo/GCS
Description: fix FTBFS with ICU 75.1+
 Set correct C++ standard.
Author: Laszlo Boszormenyi (GCS) <g...@debian.org>
Forwarded: no
Last-Update: 2024-11-17

---

--- a/cmake/cmake-cxx11/Modules/CheckCXX11Features.cmake
+++ b/cmake/cmake-cxx11/Modules/CheckCXX11Features.cmake
@@ -55,13 +55,13 @@ cmake_minimum_required(VERSION 2.8.3)
 ### Check for needed compiler flags
 #
 include(CheckCXXCompilerFlag)
-check_cxx_compiler_flag("-std=c++11" _HAS_CXX11_FLAG)
+check_cxx_compiler_flag("-std=c++17" _HAS_CXX11_FLAG)
 if (NOT _HAS_CXX11_FLAG)
     check_cxx_compiler_flag("-std=c++0x" _HAS_CXX0X_FLAG)
 endif ()
 
 if (_HAS_CXX11_FLAG)
-    set(CXX11_COMPILER_FLAGS "-std=c++11")
+    set(CXX11_COMPILER_FLAGS "-std=c++17")
 elseif (_HAS_CXX0X_FLAG)
     set(CXX11_COMPILER_FLAGS "-std=c++0x")
 endif ()
From 022303bbc9c281f7c2c525acaba19f31e755b4e3 Mon Sep 17 00:00:00 2001
From: bmagistro <konce...@gmail.com>
Date: Sun, 31 Dec 2023 09:54:48 -0500
Subject: [PATCH] Build: static lib dependency for ICU (#281)

* Fix missed path for generated files in #277

* Update cmake to include char conversion dependency on static library
---
 CMakeLists.txt | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 247dc342..e71000eb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -773,6 +773,14 @@ IF(VMIME_CHARSETCONV_LIB STREQUAL "iconv")
 		)
 	ENDIF()
 
+	IF(VMIME_BUILD_STATIC_LIBRARY)
+		TARGET_LINK_LIBRARIES(
+			${VMIME_LIBRARY_NAME}-static
+			${TARGET_LINK_LIBRARIES}
+			${ICONV_LIBRARIES}
+		)
+	ENDIF()
+
 	SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${ICONV_LIBRARIES}")
 	SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} -I${ICONV_INCLUDE_DIR}")
 
@@ -795,6 +803,14 @@ ELSEIF(VMIME_CHARSETCONV_LIB STREQUAL "icu")
 		)
 	ENDIF()
 
+	IF(VMIME_BUILD_STATIC_LIBRARY)
+		TARGET_LINK_LIBRARIES(
+			${VMIME_LIBRARY_NAME}-static
+			${TARGET_LINK_LIBRARIES}
+			${ICU_LIBRARIES}
+		)
+	ENDIF()
+
 	SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${ICU_LIBRARIES}")
 	SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} -I${ICU_INCLUDE_DIRS}")
 
From 0f7014ab579acd4a29e743fa570d5ed8e58e2a41 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jeng...@inai.de>
Date: Tue, 11 Jun 2024 20:46:59 +0200
Subject: [PATCH] build: upgrade to C++17 when ICU is used (#310)

ICU 75 requires the use of C++17.

`SET(CMAKE_CXX_STANDARD 17)` has no effect after the first target has been defined
or so, therefore the detection of the conversion library is split and partially
moved upwards.
---
 CMakeLists.txt | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3e209b54..89fb980c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,6 +67,23 @@ SET(VMIME_API_VERSION ${VMIME_API_VERSIO
 # Set base name
 SET(VMIME_LIBRARY_NAME vmime)
 
+##############################################################################
+# Charset conversion library (1/2)
+
+INCLUDE(cmake/FindIconv.cmake)
+INCLUDE(cmake/FindICU.cmake)
+
+FIND_PACKAGE(ICU QUIET)
+
+IF(ICU_LIBRARIES)
+	SET(VMIME_CHARSETCONV_LIB_DETECTED "icu")
+	SET(CMAKE_CXX_STANDARD 17)
+ELSEIF(ICONV_FOUND)
+	SET(VMIME_CHARSETCONV_LIB_DETECTED "iconv")
+ELSEIF(WIN32)
+	SET(VMIME_CHARSETCONV_LIB_DETECTED "win")
+ENDIF()
+
 # Source files
 FILE(
 	GLOB_RECURSE
@@ -729,20 +746,7 @@ ENDIF(VMIME_HAVE_TLS_SUPPORT)
 
 
 ##############################################################################
-# Charset conversion library
-
-INCLUDE(cmake/FindIconv.cmake)
-INCLUDE(cmake/FindICU.cmake)
-
-FIND_PACKAGE(ICU QUIET)
-
-IF(ICU_LIBRARIES)
-	SET(VMIME_CHARSETCONV_LIB_DETECTED "icu")
-ELSEIF(ICONV_FOUND)
-	SET(VMIME_CHARSETCONV_LIB_DETECTED "iconv")
-ELSEIF(WIN32)
-	SET(VMIME_CHARSETCONV_LIB_DETECTED "win")
-ENDIF()
+# Charset conversion library (2/2)
 
 SET(
 	VMIME_CHARSETCONV_LIB

Reply via email to