blob: 4d314aea12428bfff6397cf4fbaddba57c9b4293 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
IF(APPLE)
set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++")
ELSE()
set(CMAKE_CXX_FLAGS "-std=gnu++0x")
ENDIF()
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(core)
include(async)
include(objc)
include(LibFindMacros)
IF(APPLE)
set(additional_includes
${CMAKE_CURRENT_SOURCE_DIR}/../Externals/ctemplate/include
${CMAKE_CURRENT_SOURCE_DIR}/../Externals/icu4c/include
${CMAKE_CURRENT_SOURCE_DIR}/../Externals/libetpan/include
)
set(additional_lib_searchpath
${CMAKE_CURRENT_SOURCE_DIR}/../Externals/ctemplate/lib
${CMAKE_CURRENT_SOURCE_DIR}/../Externals/icu4c/lib
${CMAKE_CURRENT_SOURCE_DIR}/../Externals/libetpan/lib
)
execute_process(COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/prepare.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../scripts")
ENDIF()
# detect ctemplate
find_path(CTEMPLATE_INCLUDE_DIR
NAMES ctemplate/template.h
PATHS ${additional_includes}
)
find_library(CTEMPLATE_LIBRARY
NAMES ctemplate
PATHS ${additional_lib_searchpath}
)
if(NOT CTEMPLATE_INCLUDE_DIR OR NOT CTEMPLATE_LIBRARY)
message(FATAL_ERROR "ERROR: Could not find ctemplate")
else()
message(STATUS "Found ctemplate")
endif()
# detect icu4c
find_path(ICU4C_INCLUDE_DIR
NAMES unicode/utf8.h
PATHS ${additional_includes}
)
find_library(ICU4C_LIBRARY
NAMES icuuc
PATHS ${additional_lib_searchpath}
)
if(NOT ICU4C_INCLUDE_DIR OR NOT ICU4C_LIBRARY)
message(FATAL_ERROR "ERROR: Could not find icu4c")
else()
message(STATUS "Found icu4c")
endif()
# detect libetpan
find_path(LIBETPAN_INCLUDE_DIR
NAMES libetpan/libetpan.h
PATHS ${additional_includes}
)
find_library(LIBETPAN_LIBRARY
NAMES etpan
PATHS ${additional_lib_searchpath}
)
if(NOT LIBETPAN_INCLUDE_DIR OR NOT LIBETPAN_LIBRARY)
message(FATAL_ERROR "ERROR: Could not find libetpan")
else()
message(STATUS "Found libetpan")
endif()
file(GLOB_RECURSE
source_files
*.h
*.m
*.c
)
SET_SOURCE_FILES_PROPERTIES(
${source_files}
PROPERTIES LANGUAGE C
)
file(COPY
MailCore.h
${public_headers_objc}
${public_headers_core}
${public_headers_async}
DESTINATION
${CMAKE_CURRENT_BINARY_DIR}/include/MailCore
)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include
${async_includes}
${core_includes}
${objc_includes}
${additional_includes}
/usr/include/tidy
/usr/include/libxml2
)
add_library(MailCore
${core_files}
${async_files}
${objc_files}
)
|