aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt24
1 files changed, 21 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b08d7c79..aac379cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -726,12 +726,18 @@ INCLUDE(cmake/FindICU.cmake)
FIND_PACKAGE(ICU QUIET)
-IF(ICONV_FOUND)
+IF(WIN32)
+ SET(VMIME_CHARSETCONV_LIB_IS_ICONV_DEFAULT "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_ICU_DEFAULT "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_WIN_DEFAULT "ON")
+ELSEIF(ICONV_FOUND)
SET(VMIME_CHARSETCONV_LIB_IS_ICONV_DEFAULT "ON")
SET(VMIME_CHARSETCONV_LIB_IS_ICU_DEFAULT "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_WIN_DEFAULT "OFF")
ELSEIF(ICU_LIBRARIES)
SET(VMIME_CHARSETCONV_LIB_IS_ICONV_DEFAULT "OFF")
SET(VMIME_CHARSETCONV_LIB_IS_ICU_DEFAULT "ON")
+ SET(VMIME_CHARSETCONV_LIB_IS_WIN_DEFAULT "OFF")
ENDIF()
OPTION(
@@ -746,8 +752,16 @@ OPTION(
${VMIME_CHARSETCONV_LIB_IS_ICU_DEFAULT}
)
-IF(VMIME_CHARSETCONV_LIB_IS_ICONV AND VMIME_CHARSETCONV_LIB_IS_ICU)
- MESSAGE(FATAL_ERROR "Options VMIME_CHARSETCONV_LIB_IS_ICONV and VMIME_CHARSETCONV_LIB_IS_ICU are mutually exclusive (select one or the other, but not both!)")
+OPTION(
+ VMIME_CHARSETCONV_LIB_IS_WIN
+ "Use Windows API for charset conversion"
+ ${VMIME_CHARSETCONV_LIB_IS_WIN_DEFAULT}
+)
+
+IF((VMIME_CHARSETCONV_LIB_IS_ICONV AND VMIME_CHARSETCONV_LIB_IS_ICU) OR
+ (VMIME_CHARSETCONV_LIB_IS_ICONV AND VMIME_CHARSETCONV_LIB_IS_WIN) OR
+ (VMIME_CHARSETCONV_LIB_IS_ICU AND VMIME_CHARSETCONV_LIB_IS_WIN))
+ MESSAGE(FATAL_ERROR "Options VMIME_CHARSETCONV_LIB_IS_ICONV, VMIME_CHARSETCONV_LIB_IS_ICU and VMIME_CHARSETCONV_LIB_IS_WIN are mutually exclusive (select only one of them, but not all!)")
ENDIF()
IF(VMIME_CHARSETCONV_LIB_IS_ICONV)
@@ -786,6 +800,10 @@ ELSEIF(VMIME_CHARSETCONV_LIB_IS_ICU)
SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${ICU_LIBRARIES}")
SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} -I${ICU_INCLUDE_DIRS}")
+ELSEIF(VMIME_CHARSETCONV_LIB_IS_WIN)
+
+ # Nothing to do
+
ELSE()
MESSAGE(FATAL_ERROR "No charset conversion library was selected/found")