mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
65 lines
1.7 KiB
Diff
65 lines
1.7 KiB
Diff
From 0f7014ab579acd4a29e743fa570d5ed8e58e2a41 Mon Sep 17 00:00:00 2001
|
|
From: Jan Engelhardt <jengelh@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
|
|
--- CMakeLists.txt
|
|
+++ CMakeLists.txt
|
|
@@ -99,6 +99,23 @@ SET(CMAKE_CXX_STANDARD 11)
|
|
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
SET(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
+##############################################################################
|
|
+# 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
|
|
@@ -666,20 +683,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
|