diff options
author | Jan Engelhardt <[email protected]> | 2024-06-11 18:46:59 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-06-11 18:46:59 +0000 |
commit | 0f7014ab579acd4a29e743fa570d5ed8e58e2a41 (patch) | |
tree | 33c2c3fc707fdae7e5151bf3aa8069024e4a8b20 | |
parent | contrib: update utfcpp to v4.0.5 (#309) (diff) | |
download | vmime-0f7014ab579acd4a29e743fa570d5ed8e58e2a41.tar.gz vmime-0f7014ab579acd4a29e743fa570d5ed8e58e2a41.zip |
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.
-rw-r--r-- | CMakeLists.txt | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e209b54..89fb980c 100644 --- a/CMakeLists.txt +++ b/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 |