diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 96 |
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() |