aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt96
1 files changed, 47 insertions, 49 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9aa0283b..7b51f8cd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -652,25 +652,23 @@ OPTION(
ON
)
-OPTION(
- VMIME_TLS_SUPPORT_LIB_IS_GNUTLS
- "Use GNU TLS library for SSL/TLS support"
- ON
+SET(
+ VMIME_TLS_SUPPORT_LIB
+ "gnutls"
+ CACHE
+ STRING
+ "Library to use for SSL/TLS conversion"
)
-
-OPTION(
- VMIME_TLS_SUPPORT_LIB_IS_OPENSSL
- "Use OpenSSL library for SSL/TLS support"
- OFF
+SET_PROPERTY(
+ CACHE
+ VMIME_TLS_SUPPORT_LIB
+ PROPERTY STRINGS gnutls openssl
)
-IF(VMIME_HAVE_TLS_SUPPORT)
- IF(VMIME_TLS_SUPPORT_LIB_IS_GNUTLS AND VMIME_TLS_SUPPORT_LIB_IS_OPENSSL)
- MESSAGE(FATAL_ERROR "Options VMIME_TLS_SUPPORT_LIB_IS_GNUTLS and VMIME_TLS_SUPPORT_LIB_IS_OPENSSL are mutually exclusive (select one or the other, but not both!)")
- ENDIF()
+IF(VMIME_HAVE_TLS_SUPPORT)
- IF(VMIME_TLS_SUPPORT_LIB_IS_GNUTLS)
+ IF(VMIME_TLS_SUPPORT_LIB STREQUAL "gnutls")
INCLUDE_DIRECTORIES(
${INCLUDE_DIRECTORIES}
@@ -692,7 +690,10 @@ IF(VMIME_HAVE_TLS_SUPPORT)
SET(VMIME_PKGCONFIG_REQUIRES "${VMIME_PKGCONFIG_REQUIRES} gnutls")
- ELSEIF(VMIME_TLS_SUPPORT_LIB_IS_OPENSSL)
+ SET(VMIME_TLS_SUPPORT_LIB_IS_GNUTLS "ON")
+ SET(VMIME_TLS_SUPPORT_LIB_IS_OPENSSL "OFF")
+
+ ELSEIF(VMIME_TLS_SUPPORT_LIB STREQUAL "openssl")
INCLUDE_DIRECTORIES(
${INCLUDE_DIRECTORIES}
@@ -709,6 +710,9 @@ IF(VMIME_HAVE_TLS_SUPPORT)
SET(VMIME_PKGCONFIG_REQUIRES "${VMIME_PKGCONFIG_REQUIRES} openssl")
+ SET(VMIME_TLS_SUPPORT_LIB_IS_GNUTLS "OFF")
+ SET(VMIME_TLS_SUPPORT_LIB_IS_OPENSSL "ON")
+
ELSE()
MESSAGE(FATAL_ERROR "TLS support is enabled, but no TLS/SSL library was selected/found")
@@ -727,44 +731,28 @@ INCLUDE(cmake/FindICU.cmake)
FIND_PACKAGE(ICU QUIET)
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")
+ SET(VMIME_CHARSETCONV_LIB_DETECTED "win")
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")
+ SET(VMIME_CHARSETCONV_LIB_DETECTED "icu")
+ELSEIF(ICONV_FOUND)
+ SET(VMIME_CHARSETCONV_LIB_DETECTED "iconv")
ENDIF()
-OPTION(
- VMIME_CHARSETCONV_LIB_IS_ICONV
- "Use iconv library for charset conversion"
- ${VMIME_CHARSETCONV_LIB_IS_ICONV_DEFAULT}
-)
-
-OPTION(
- VMIME_CHARSETCONV_LIB_IS_ICU
- "Use ICU library for charset conversion"
- ${VMIME_CHARSETCONV_LIB_IS_ICU_DEFAULT}
+SET(
+ VMIME_CHARSETCONV_LIB
+ "${VMIME_CHARSETCONV_LIB_DETECTED}"
+ CACHE
+ STRING
+ "Library to use for charset conversion"
)
-
-OPTION(
- VMIME_CHARSETCONV_LIB_IS_WIN
- "Use Windows API for charset conversion"
- ${VMIME_CHARSETCONV_LIB_IS_WIN_DEFAULT}
+SET_PROPERTY(
+ CACHE
+ VMIME_CHARSETCONV_LIB
+ PROPERTY STRINGS win iconv icu
)
-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)
+IF(VMIME_CHARSETCONV_LIB STREQUAL "iconv")
INCLUDE_DIRECTORIES(
${INCLUDE_DIRECTORIES}
@@ -782,7 +770,11 @@ IF(VMIME_CHARSETCONV_LIB_IS_ICONV)
SET(VMIME_PKGCONFIG_LIBS "${VMIME_PKGCONFIG_LIBS} ${ICONV_LIBRARIES}")
SET(VMIME_PKGCONFIG_CFLAGS "${VMIME_PKGCONFIG_CFLAGS} -I${ICONV_INCLUDE_DIR}")
-ELSEIF(VMIME_CHARSETCONV_LIB_IS_ICU)
+ SET(VMIME_CHARSETCONV_LIB_IS_ICONV "ON")
+ SET(VMIME_CHARSETCONV_LIB_IS_ICU "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_WIN "OFF")
+
+ELSEIF(VMIME_CHARSETCONV_LIB STREQUAL "icu")
INCLUDE_DIRECTORIES(
${INCLUDE_DIRECTORIES}
@@ -800,9 +792,15 @@ 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)
+ SET(VMIME_CHARSETCONV_LIB_IS_ICONV "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_ICU "ON")
+ SET(VMIME_CHARSETCONV_LIB_IS_WIN "OFF")
+
+ELSEIF(VMIME_CHARSETCONV_LIB STREQUAL "win")
- # Nothing to do
+ SET(VMIME_CHARSETCONV_LIB_IS_ICONV "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_ICU "OFF")
+ SET(VMIME_CHARSETCONV_LIB_IS_WIN "ON")
ELSE()