Add tokyocabinet support
[apps/madmutt.git] / CMakeLists.txt
index 2faf161..338c0e3 100644 (file)
@@ -12,7 +12,6 @@ if (NOT CMAKE_D_USE_PHOBOS AND NOT CMAKE_D_USE_TANGO)
     set(CMAKE_D_USE_PHOBOS True)
 endif (NOT CMAKE_D_USE_PHOBOS AND NOT CMAKE_D_USE_TANGO)
 
-INCLUDE(CMakeDetermineCCompiler)
 include(Cpkg2c)
 include(XConfig)
 
@@ -171,10 +170,18 @@ ENDIF(NOT WITH_LOCKFILE)
 LIST(APPEND MUTTLIBS -llockfile)
 
 IF(USE_HCACHE)
-    OPTION(WITH_QDBM "Use qdbm for header caching [default: on]" ON)
+    OPTION(WITH_TC   "Use tokyocabinet for header caching [default: on]" ON)
+    OPTION(WITH_QDBM "Use qdbm for header caching [default: off]" OFF)
     OPTION(WITH_GDBM "Use gdbm for header caching [default: off]")
     SET(USE_HCACHE)
 
+    if(WITH_TC)
+        pkg_search_module(TC REQUIRED tokyocabinet)
+        ADD_DEFINITIONS(${TC_CFLAGS})
+        LIST(APPEND MUTTLIBS ${TC_LDFLAGS})
+        SET(USE_HCACHE 1)
+        SET(HAVE_TOKYOCABINET 1)
+    ENDIF(WITH_TC)
     IF(WITH_QDBM)
         pkg_search_module(QDBM REQUIRED qdbm)
         ADD_DEFINITIONS(${QDBM_CFLAGS})
@@ -275,6 +282,8 @@ SET(CMAKE_D_FLAGS "${CMAKE_D_FLAGS} -Wunused")
 SET(CMAKE_D_FLAGS "${CMAKE_D_FLAGS} -Wno-unused-parameter")
 # warn about variable use before initialization
 SET(CMAKE_D_FLAGS "${CMAKE_D_FLAGS} -Wuninitialized")
+# let's read GPGME's Reference Manual
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FILE_OFFSET_BITS=64")
 # }}}
 
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
@@ -330,7 +339,10 @@ MADMUTT_SOURCES(madmuttsrc madmuttgen
 STRING(REGEX REPLACE ";" " " MUTTLIBS "${MUTTLIBS}")
 ADD_EXECUTABLE(madmutt ${madmuttsrc})
 TARGET_LINK_LIBRARIES(madmutt mime sys mx lua ui imap lib)
-SET_TARGET_PROPERTIES(madmutt PROPERTIES LINK_FLAGS "${MUTTLIBS}")
+SET_TARGET_PROPERTIES(madmutt PROPERTIES
+    LINK_FLAGS "${MUTTLIBS}"
+    #    LINKER_LANGUAGE D
+)
 
 # generate_files hack {{{