aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-05-21 21:59:42 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-05-21 21:59:50 -0700
commit38f8bb3fdc3d3ecb449f85f75504589acafe08b1 (patch)
tree408013b990bf00bb8a9522a41a29b490fc9ee59a
parent8108d5cd3c1176b691a0b1e17e9e4e73cc3f49b1 (diff)
Simplified linking against mailcore. Added quick instructions in README.md
-rw-r--r--README.md33
-rw-r--r--build-mac/mailcore2.xcodeproj/project.pbxproj22
-rw-r--r--example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj18
-rw-r--r--example/ios/iOS UI Test/iOS UI Test/main.mm2
-rw-r--r--example/mac/macExample/macExample.xcodeproj/project.pbxproj24
-rw-r--r--example/mac/macExample/macExample/main.mm5
-rw-r--r--src/core/basetypes/MCString.cc4
-rw-r--r--src/core/basetypes/MCString.h3
8 files changed, 53 insertions, 58 deletions
diff --git a/README.md b/README.md
index 2af7700b..7fd25329 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,36 @@ Mailcore 2
==========
MailCore 2 brings a new API redesigned from ground.
+
+- POP, IMAP and SMTP support
+- RFC822 parser and generator
+- asynchronous APIs
+- HTML rendering of messages
+
+
+Quick project setup instruction
+===============================
+
+- Mac framework
+
+Add mailcore.framework
+
+Make sure to use LLVM C++ standard library.
+
+- Mac static library
+
+Add libMailCore.a
+
+Other Linker Flags:
+-lctemplate -letpan -licudata -licui18n -licuuc -lxml2 -lsasl2 -liconv -ltidy -lc++ -all_load
+
+Make sure to use LLVM C++ standard library.
+
+- iOS static library
+
+Add libMailCore-ios.a
+
+Other Linker Flags:
+-lctemplate-ios -letpan-ios -licudata -licui18n -licuuc -lxml2 -lsasl2 -liconv -ltidy -lstdc++ -all_load
+
+Make sure to use GNU C++ standard library.
diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj
index 44657cec..1c784073 100644
--- a/build-mac/mailcore2.xcodeproj/project.pbxproj
+++ b/build-mac/mailcore2.xcodeproj/project.pbxproj
@@ -2205,7 +2205,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "cd \"$SRCROOT/../scripts\"\n./prepare-mac.sh\n";
+ shellScript = "cd \"$SRCROOT/../scripts\"\n./prepare.sh\nif test x$? != x0 ; then\n exit 1\nfi\nfor lib in ctemplate icu4c libetpan ; do\n rsync -av \"$SRCROOT/../Externals/$lib/lib/\" \"$BUILT_PRODUCTS_DIR\"\ndone\n";
};
C6BA2B0A1705F4E6003F0E9E /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
@@ -2218,7 +2218,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "cd \"$SRCROOT/../scripts\"\n./prepare-ios.sh\n";
+ shellScript = "cd \"$SRCROOT/../scripts\"\n./prepare-ios.sh\nif test x$? != x0 ; then\n exit 1\nfi\nfor lib in ctemplate-ios icu4c-ios libetpan-ios libsasl-ios tidy-html5-ios ; do\n rsync -av \"$SRCROOT/../Externals/$lib/lib/\" \"$BUILT_PRODUCTS_DIR\"\ndone\n";
};
C6BD28A6170BD87600A91AC1 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
@@ -2696,6 +2696,8 @@
C64EA53C169E772200778456 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
COMBINE_HIDPI_IMAGES = YES;
EXECUTABLE_PREFIX = lib;
PRODUCT_NAME = MailCore;
@@ -2705,6 +2707,8 @@
C64EA53D169E772200778456 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
COMBINE_HIDPI_IMAGES = YES;
EXECUTABLE_PREFIX = lib;
PRODUCT_NAME = MailCore;
@@ -2740,10 +2744,6 @@
);
INFOPLIST_FILE = "../tests-ios/tests-ios-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "\"$(SRCROOT)/../Externals/libsasl-ios/lib/sasl2\"",
- );
OTHER_LDFLAGS = (
"-lctemplate-ios",
"-letpan-ios",
@@ -2778,10 +2778,6 @@
);
INFOPLIST_FILE = "../tests-ios/tests-ios-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "\"$(SRCROOT)/../Externals/libsasl-ios/lib/sasl2\"",
- );
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
OTHER_LDFLAGS = (
"-lctemplate-ios",
@@ -2839,11 +2835,14 @@
C6BD289E170BD71100A91AC1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "framework-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
OTHER_LDFLAGS = (
"-lctemplate",
"-letpan",
@@ -2866,11 +2865,14 @@
C6BD289F170BD71100A91AC1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "framework-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
OTHER_LDFLAGS = (
"-lctemplate",
"-letpan",
diff --git a/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj b/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj
index 4b8dae30..db280fde 100644
--- a/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj
+++ b/example/ios/iOS UI Test/iOS UI Test.xcodeproj/project.pbxproj
@@ -432,16 +432,7 @@
CLANG_CXX_LIBRARY = "libstdc++";
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "iOS UI Test/iOS UI Test-Prefix.pch";
- HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = "iOS UI Test/iOS UI Test-Info.plist";
- LIBRARY_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../Externals/libetpan-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/icu4c-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/ctemplate-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/libsasl-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/tidy-html5-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/libsasl-ios/lib/sasl2\"",
- );
OTHER_LDFLAGS = (
"-lctemplate-ios",
"-letpan-ios",
@@ -465,16 +456,7 @@
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "iOS UI Test/iOS UI Test-Prefix.pch";
- HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = "iOS UI Test/iOS UI Test-Info.plist";
- LIBRARY_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../Externals/libetpan-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/icu4c-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/ctemplate-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/libsasl-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/tidy-html5-ios/lib\"",
- "\"$(SRCROOT)/../../../Externals/libsasl-ios/lib/sasl2\"",
- );
OTHER_LDFLAGS = (
"-lctemplate-ios",
"-letpan-ios",
diff --git a/example/ios/iOS UI Test/iOS UI Test/main.mm b/example/ios/iOS UI Test/iOS UI Test/main.mm
index c9092479..7793820a 100644
--- a/example/ios/iOS UI Test/iOS UI Test/main.mm
+++ b/example/ios/iOS UI Test/iOS UI Test/main.mm
@@ -12,6 +12,6 @@
#import <MailCore/MailCore.h>
int main(int argc, char *argv[]) {
- mailcore::logEnabled = false;
+ mailcore::logEnabled = true;
return UIApplicationMain(argc, argv, nil, @"AppDelegate");
}
diff --git a/example/mac/macExample/macExample.xcodeproj/project.pbxproj b/example/mac/macExample/macExample.xcodeproj/project.pbxproj
index baab11de..4cfe53f6 100644
--- a/example/mac/macExample/macExample.xcodeproj/project.pbxproj
+++ b/example/mac/macExample/macExample.xcodeproj/project.pbxproj
@@ -424,19 +424,7 @@
buildSettings = {
CLANG_CXX_LIBRARY = "libc++";
COMBINE_HIDPI_IMAGES = YES;
- HEADER_SEARCH_PATHS = (
- "$(SRCROOT)/../../../Externals/libetpan/include",
- "$(SRCROOT)/../../../Externals/icu4c/include",
- "$(SRCROOT)/../../../Externals/ctemplate/include",
- /usr/include/tidy,
- /usr/include/libxml2,
- );
INFOPLIST_FILE = "macExample/macExample-Info.plist";
- LIBRARY_SEARCH_PATHS = (
- "$(SRCROOT)/../../../Externals/libetpan/lib",
- "$(SRCROOT)/../../../Externals/icu4c/lib",
- "$(SRCROOT)/../../../Externals/ctemplate/lib",
- );
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
@@ -447,19 +435,7 @@
buildSettings = {
CLANG_CXX_LIBRARY = "libc++";
COMBINE_HIDPI_IMAGES = YES;
- HEADER_SEARCH_PATHS = (
- "$(SRCROOT)/../../../Externals/libetpan/include",
- "$(SRCROOT)/../../../Externals/icu4c/include",
- "$(SRCROOT)/../../../Externals/ctemplate/include",
- /usr/include/tidy,
- /usr/include/libxml2,
- );
INFOPLIST_FILE = "macExample/macExample-Info.plist";
- LIBRARY_SEARCH_PATHS = (
- "$(SRCROOT)/../../../Externals/libetpan/lib",
- "$(SRCROOT)/../../../Externals/icu4c/lib",
- "$(SRCROOT)/../../../Externals/ctemplate/lib",
- );
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
diff --git a/example/mac/macExample/macExample/main.mm b/example/mac/macExample/macExample/main.mm
index cdb19817..1749c010 100644
--- a/example/mac/macExample/macExample/main.mm
+++ b/example/mac/macExample/macExample/main.mm
@@ -8,12 +8,9 @@
#import <Cocoa/Cocoa.h>
#include <MailCore/MailCore.h>
-#include <unicode/putil.h>
int main(int argc, char *argv[])
{
- u_setDataDirectory("/usr/local/share/icu");
- //mailcore::AutoreleasePool * pool = new mailcore::AutoreleasePool();
+ //mailcore::setICUDataDirectory(MCSTR("/usr/local/share/icu"));
return NSApplicationMain(argc, (const char **)argv);
- //pool->release();
}
diff --git a/src/core/basetypes/MCString.cc b/src/core/basetypes/MCString.cc
index be16fb41..dce01683 100644
--- a/src/core/basetypes/MCString.cc
+++ b/src/core/basetypes/MCString.cc
@@ -2049,3 +2049,7 @@ bool String::isEqualCaseInsensitive(String * otherString)
return caseInsensitiveCompare(otherString) == 0;
}
+void mailcore::setICUDataDirectory(String * directory)
+{
+ u_setDataDirectory(directory->fileSystemRepresentation());
+}
diff --git a/src/core/basetypes/MCString.h b/src/core/basetypes/MCString.h
index fdbf174a..e6c6ce5d 100644
--- a/src/core/basetypes/MCString.h
+++ b/src/core/basetypes/MCString.h
@@ -127,7 +127,8 @@ namespace mailcore {
void appendBytes(const char * bytes, unsigned int length, const char * charset);
void appendUTF8CharactersLength(const char * UTF8Characters, unsigned int length);
};
-
+
+ void setICUDataDirectory(String * directory);
}
#endif