aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-06-17 22:50:45 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-06-17 22:50:45 -0700
commit3beb4d30cfaa2ec8f738a638474f6f344df52f01 (patch)
tree0e788cf477b4c011d1564a709e504c0f867447a9 /src/CMakeLists.txt
parent0e350de54bedecad721bb096a24a4198389ca5db (diff)
Implemented detection of dependencies in cmakefile
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt76
1 files changed, 72 insertions, 4 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 18e8667a..4d314aea 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -9,6 +9,76 @@ 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
@@ -36,11 +106,9 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}/include
${async_includes}
${core_includes}
${objc_includes}
- ${CMAKE_CURRENT_SOURCE_DIR}/../Externals/ctemplate/include
- ${CMAKE_CURRENT_SOURCE_DIR}/../Externals/icu4c/include
- ${CMAKE_CURRENT_SOURCE_DIR}/../Externals/libetpan/include
+ ${additional_includes}
/usr/include/tidy
- /usr/include/libxml2/
+ /usr/include/libxml2
)
add_library(MailCore