build: upgrade to C++17 when ICU is used ()

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.
This commit is contained in:
Jan Engelhardt 2024-06-11 20:46:59 +02:00 committed by GitHub
parent fb5b82746a
commit 0f7014ab57
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -99,6 +99,23 @@ SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD_REQUIRED ON) SET(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_CXX_EXTENSIONS OFF) 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 # Source files
FILE( FILE(
GLOB_RECURSE GLOB_RECURSE
@ -666,20 +683,7 @@ ENDIF(VMIME_HAVE_TLS_SUPPORT)
############################################################################## ##############################################################################
# Charset conversion library # Charset conversion library (2/2)
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()
SET( SET(
VMIME_CHARSETCONV_LIB VMIME_CHARSETCONV_LIB