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