You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. # Librspamd-util
  2. SET(LIBRSPAMDUTILSRC aio_event.c
  3. bloom.c
  4. diff.c
  5. fstring.c
  6. fuzzy.c
  7. hash.c
  8. http.c
  9. logger.c
  10. map.c
  11. memcached.c
  12. mem_pool.c
  13. printf.c
  14. radix.c
  15. rrd.c
  16. trie.c
  17. upstream.c
  18. util.c)
  19. # Librspamdserver
  20. SET(LIBRSPAMDSERVERSRC
  21. binlog.c
  22. buffer.c
  23. cfg_utils.c
  24. cfg_rcl.c
  25. cfg_xml.c
  26. dkim.c
  27. dns.c
  28. dynamic_cfg.c
  29. events.c
  30. html.c
  31. proxy.c
  32. roll_history.c
  33. settings.c
  34. spf.c
  35. statfile.c
  36. statfile_sync.c
  37. symbols_cache.c
  38. url.c
  39. view.c)
  40. # Librspamd mime
  41. SET(LIBRSPAMDMIMESRC
  42. expressions.c
  43. filter.c
  44. images.c
  45. message.c
  46. protocol.c
  47. smtp_utils.c
  48. smtp_proto.c
  49. worker_util.c)
  50. SET(TOKENIZERSSRC tokenizers/tokenizers.c
  51. tokenizers/osb.c)
  52. SET(CLASSIFIERSSRC classifiers/classifiers.c
  53. classifiers/bayes.c
  54. classifiers/winnow.c)
  55. # Add targets
  56. # Rspamdutil
  57. ADD_LIBRARY(rspamd-util ${LINK_TYPE} ${LIBRSPAMDUTILSRC})
  58. IF(CMAKE_COMPILER_IS_GNUCC)
  59. SET_TARGET_PROPERTIES(rspamd-util PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing")
  60. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  61. TARGET_LINK_LIBRARIES(rspamd-util ${RSPAMD_REQUIRED_LIBRARIES})
  62. TARGET_LINK_LIBRARIES(rspamd-util pcre)
  63. TARGET_LINK_LIBRARIES(rspamd-util rspamd-ucl)
  64. TARGET_LINK_LIBRARIES(rspamd-util rspamd-ottery)
  65. TARGET_LINK_LIBRARIES(rspamd-util rspamd-http-parser)
  66. TARGET_LINK_LIBRARIES(rspamd-util event)
  67. IF(NOT DEBIAN_BUILD)
  68. SET_TARGET_PROPERTIES(rspamd-util PROPERTIES VERSION ${RSPAMD_VERSION})
  69. ENDIF(NOT DEBIAN_BUILD)
  70. IF(GLIB_COMPAT)
  71. INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/contrib/lgpl")
  72. TARGET_LINK_LIBRARIES(rspamd-util glibadditions)
  73. ENDIF(GLIB_COMPAT)
  74. IF(NO_SHARED MATCHES "OFF")
  75. INSTALL(TARGETS rspamd-util
  76. LIBRARY DESTINATION ${LIBDIR}
  77. PUBLIC_HEADER DESTINATION include)
  78. ENDIF(NO_SHARED MATCHES "OFF")
  79. # Librspamd-server
  80. #IF(WITH_DB)
  81. # LIST(APPEND LIBRSPAMDSERVERSRC kvstorage_bdb.c)
  82. #ENDIF(WITH_DB)
  83. #IF(WITH_SQLITE)
  84. # LIST(APPEND LIBRSPAMDSERVERSRC kvstorage_sqlite.c)
  85. #ENDIF(WITH_SQLITE)
  86. ADD_LIBRARY(rspamd-server ${LINK_TYPE} ${LIBRSPAMDSERVERSRC} ${TOKENIZERSSRC} ${CLASSIFIERSSRC})
  87. IF(NOT DEBIAN_BUILD)
  88. SET_TARGET_PROPERTIES(rspamd-server PROPERTIES VERSION ${RSPAMD_VERSION})
  89. ENDIF(NOT DEBIAN_BUILD)
  90. SET_TARGET_PROPERTIES(rspamd-server PROPERTIES LINKER_LANGUAGE C COMPILE_FLAGS "-DRSPAMD_LIB")
  91. TARGET_LINK_LIBRARIES(rspamd-server rspamd-lua)
  92. TARGET_LINK_LIBRARIES(rspamd-server rspamd-json)
  93. TARGET_LINK_LIBRARIES(rspamd-server rspamd-cdb)
  94. TARGET_LINK_LIBRARIES(rspamd-server rspamd-util)
  95. IF(LIBJUDY_LIBRARY)
  96. TARGET_LINK_LIBRARIES(rspamd-server Judy)
  97. ENDIF(LIBJUDY_LIBRARY)
  98. IF(CMAKE_COMPILER_IS_GNUCC)
  99. SET_TARGET_PROPERTIES(rspamd-server PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB -fno-strict-aliasing")
  100. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  101. IF(WITH_DB)
  102. TARGET_LINK_LIBRARIES(rspamd-server db)
  103. ENDIF(WITH_DB)
  104. IF(OPENSSL_FOUND)
  105. TARGET_LINK_LIBRARIES(rspamd-server ${OPENSSL_LIBRARIES})
  106. ENDIF(OPENSSL_FOUND)
  107. IF(NO_SHARED MATCHES "OFF")
  108. INSTALL(TARGETS rspamd-server
  109. LIBRARY DESTINATION ${LIBDIR}
  110. PUBLIC_HEADER DESTINATION ${INCLUDEDIR})
  111. ENDIF(NO_SHARED MATCHES "OFF")
  112. # Librspamdmime
  113. ADD_LIBRARY(rspamd-mime ${LINK_TYPE} ${LIBRSPAMDMIMESRC})
  114. IF(NOT DEBIAN_BUILD)
  115. SET_TARGET_PROPERTIES(rspamd-mime PROPERTIES VERSION ${RSPAMD_VERSION})
  116. ENDIF(NOT DEBIAN_BUILD)
  117. SET_TARGET_PROPERTIES(rspamd-mime PROPERTIES LINKER_LANGUAGE C)
  118. SET_TARGET_PROPERTIES(rspamd-mime PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB")
  119. TARGET_LINK_LIBRARIES(rspamd-mime rspamd-server)
  120. TARGET_LINK_LIBRARIES(rspamd-mime rspamd-util)
  121. IF(CMAKE_COMPILER_IS_GNUCC)
  122. SET_TARGET_PROPERTIES(rspamd-mime PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB -fno-strict-aliasing")
  123. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  124. IF(NO_SHARED MATCHES "OFF")
  125. INSTALL(TARGETS rspamd-mime
  126. LIBRARY DESTINATION ${LIBDIR}
  127. PUBLIC_HEADER DESTINATION ${INCLUDEDIR})
  128. ENDIF(NO_SHARED MATCHES "OFF")
  129. INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/src")