vmime
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
vmime [2016/09/22 10:07] – [Windows (MSYS + MinGW64)] mhatz | vmime [2023/04/25 16:52] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 4: | Line 4: | ||
VMime is the library we intend to use in Mail2Voice Next. It supports emails protocols such as IMAP and SMTP. | VMime is the library we intend to use in Mail2Voice Next. It supports emails protocols such as IMAP and SMTP. | ||
- | Visit http:// | + | Visit http:// |
===== Compiling ===== | ===== Compiling ===== | ||
Line 38: | Line 38: | ||
sudo make install | sudo make install | ||
- | ==== Windows (MSYS + MinGW64) ==== | + | |
+ | ==== Windows (MSYS + MinGW32) ==== | ||
+ | |||
+ | === Prerequisites === | ||
+ | |||
+ | - Download iconv sources from http:// | ||
+ | - Download GnuTLS binaries from ftp:// | ||
+ | - Download GSASL binaries from https:// | ||
+ | - Download pkg-config binaries and dependencies: | ||
+ | - http:// | ||
+ | - http:// | ||
+ | - http:// | ||
+ | - Unpack pkg-config.exe, | ||
+ | |||
+ | === Setup MSYS/MinGW environment === | ||
+ | |||
+ | - Download and install MinGW | ||
+ | - Download and install MSYS | ||
+ | - Go to your MSYS install folder | ||
+ | - start msys.bat | ||
+ | - type sh / | ||
+ | |||
+ | === Compiling iconv === | ||
+ | |||
+ | < | ||
+ | $ cd path/ | ||
+ | $ mkdir build | ||
+ | $ cd build | ||
+ | $ ../ | ||
+ | $ make <- I was using mingw32-make at first but I encountered some errors with it. It plays nice with MSYS make. | ||
+ | $ make install | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Compiling VMIME === | ||
+ | |||
+ | In order to prevent some bugs with the -std=c++11 flag with gcc 5.3, you need to modify the file cmake/ | ||
+ | |||
+ | < | ||
+ | # | ||
+ | ### Check for needed compiler flags | ||
+ | # | ||
+ | include(CheckCXXCompilerFlag) | ||
+ | check_cxx_compiler_flag(" | ||
+ | if (NOT _HAS_CXX11_FLAG) | ||
+ | check_cxx_compiler_flag(" | ||
+ | endif () | ||
+ | |||
+ | if (_HAS_CXX11_FLAG) | ||
+ | set(CXX11_COMPILER_FLAGS " | ||
+ | elseif (_HAS_CXX0X_FLAG) | ||
+ | set(CXX11_COMPILER_FLAGS " | ||
+ | endif () | ||
+ | |||
+ | </ | ||
+ | |||
+ | And you can finally compile VMime! | ||
+ | |||
+ | < | ||
+ | $ git clone https:// | ||
+ | $ mkdir vmime/ | ||
+ | $ cd vmime/ | ||
+ | $ export DEPS=/ | ||
+ | $ cmake .. -G "MinGW Makefiles" | ||
+ | -DCMAKE_MAKE_PROGRAM=/ | ||
+ | -DCMAKE_INSTALL_PREFIX=$(pwd)/ | ||
+ | -DGNUTLS_INCLUDE_DIR=$DEPS/ | ||
+ | -DGSASL_INCLUDE_DIR=$DEPS/ | ||
+ | -DICONV_INCLUDE_DIR=$DEPS/ | ||
+ | -DPKG_CONFIG_EXECUTABLE=$DEPS/ | ||
+ | -DVMIME_BUILD_DOCUMENTATION=OFF -DVMIME_BUILD_SAMPLES=OFF -DVMIME_BUILD_TESTS=OFF \ | ||
+ | -DVMIME_HAVE_MLANG_H=OFF -DVMIME_HAVE_MLANG_LIB=OFF -DVMIME_HAVE_MESSAGING_PROTO_SENDMAIL=OFF \ | ||
+ | -DVMIME_SHARED_PTR_USE_BOOST=OFF -DVMIME_SHARED_PTR_USE_CXX=ON -DCMAKE_CXX_FLAGS=" | ||
+ | $ mingw32-make.exe | ||
+ | $ mingw32-make.exe install | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Windows (MSYS + MinGW64) | ||
=== Prerequisites === | === Prerequisites === | ||
Line 69: | Line 147: | ||
< | < | ||
- | | + | $ cd / |
- | $ mkdir build | + | $ mkdir build |
- | $ cd build | + | $ cd build |
- | $ ../ | + | $ ../ |
- | $ make | + | $ make |
- | $ make install | + | $ make install |
</ | </ | ||
Line 88: | Line 166: | ||
< | < | ||
- | | + | $ git clone https:// |
- | $ mkdir vmime/ | + | $ mkdir vmime/ |
- | $ cd vmime/ | + | $ cd vmime/ |
- | $ export DEPS=/ | + | $ export DEPS=/ |
- | $ cmake .. -G "MinGW Makefiles" | + | $ cmake .. -G "MinGW Makefiles" |
- | -DCMAKE_MAKE_PROGRAM=/ | + | -DCMAKE_MAKE_PROGRAM=/ |
- | -DCMAKE_INSTALL_PREFIX=/ | + | -DCMAKE_INSTALL_PREFIX=/ |
- | -DGNUTLS_INCLUDE_DIR=$DEPS/ | + | -DGNUTLS_INCLUDE_DIR=$DEPS/ |
- | -DGSASL_INCLUDE_DIR=$DEPS/ | + | -DGSASL_INCLUDE_DIR=$DEPS/ |
- | -DICONV_INCLUDE_DIR=$DEPS/ | + | -DICONV_INCLUDE_DIR=$DEPS/ |
- | -DPKG_CONFIG_EXECUTABLE=$DEPS/ | + | -DPKG_CONFIG_EXECUTABLE=$DEPS/ |
- | -DVMIME_BUILD_DOCUMENTATION=OFF -DVMIME_BUILD_SAMPLES=OFF -DVMIME_BUILD_TESTS=OFF \ | + | -DVMIME_BUILD_DOCUMENTATION=OFF -DVMIME_BUILD_SAMPLES=OFF -DVMIME_BUILD_TESTS=OFF \ |
- | -DVMIME_HAVE_MLANG_H=OFF -DVMIME_HAVE_MLANG_LIB=OFF -DVMIME_HAVE_MESSAGING_PROTO_SENDMAIL=OFF \ | + | -DVMIME_HAVE_MLANG_H=OFF -DVMIME_HAVE_MLANG_LIB=OFF -DVMIME_HAVE_MESSAGING_PROTO_SENDMAIL=OFF \ |
- | -DVMIME_SHARED_PTR_USE_BOOST=OFF -DVMIME_SHARED_PTR_USE_CXX=ON | + | -DVMIME_SHARED_PTR_USE_BOOST=OFF -DVMIME_SHARED_PTR_USE_CXX=ON |
- | $ mingw32-make.exe | + | $ mingw32-make.exe |
- | $ mingw32-make.exe install | + | $ mingw32-make.exe install |
</ | </ | ||
- | Note 1: You may encounter some errors while generating the Makefile mentioning that libglib2 is missing but you can ignore it. | + | Note 1: you may encounter some errors while generating the Makefile mentioning that libglib2 is missing but you can ignore it. |
- | Note 2: If the install step fails at the end, just copy the missing libvmime.dll file from the build/ | + | |
+ | Note 2: if the install step fails at the end, just copy the missing libvmime.dll file from the build/ |
vmime.1474538844.txt.gz · Last modified: 2023/04/25 16:52 (external edit)