summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt34
-rw-r--r--test/rspamd_test_suite.c10
2 files changed, 24 insertions, 20 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index de418e172..487dac289 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,4 +1,4 @@
-MACRO(_AddModulesForced MLIST WLIST)
+MACRO(_AddModulesForced MLIST)
# Generate unique string for this build
STRING(RANDOM LENGTH 8 _MODULES_ID)
SET(MODULES_ID ${_MODULES_ID} CACHE INTERNAL "Modules ID" FORCE)
@@ -8,9 +8,7 @@ MACRO(_AddModulesForced MLIST WLIST)
# Handle even old cmake
LIST(LENGTH ${MLIST} MLIST_COUNT)
- LIST(LENGTH ${WLIST} WLIST_COUNT)
MATH(EXPR MLIST_MAX ${MLIST_COUNT}-1)
- MATH(EXPR WLIST_MAX ${WLIST_COUNT}-1)
FOREACH(MOD_IDX RANGE ${MLIST_MAX})
LIST(GET ${MLIST} ${MOD_IDX} MOD)
@@ -25,23 +23,33 @@ MACRO(_AddModulesForced MLIST WLIST)
ENDFOREACH(MOD_IDX RANGE ${MLIST_MAX})
FILE(APPEND "${MODULES_C}" "NULL\n};\n")
+ENDMACRO(_AddModulesForced MLIST)
+
+MACRO(_AddWorkersForced WLIST)
+ SET(WORKERS_C "${CMAKE_CURRENT_BINARY_DIR}/workers.c")
+ FILE(WRITE "${WORKERS_C}"
+ "#include \"config.h\"\n")
+ # Handle even old cmake
+ LIST(LENGTH ${WLIST} WLIST_COUNT)
+ MATH(EXPR WLIST_MAX ${WLIST_COUNT}-1)
FOREACH(MOD_IDX RANGE ${WLIST_MAX})
LIST(GET ${WLIST} ${MOD_IDX} WRK)
- FILE(APPEND "${MODULES_C}" "extern worker_t ${WRK}_worker;\n")
+ FILE(APPEND "${WORKERS_C}" "extern worker_t ${WRK}_worker;\n")
ENDFOREACH(MOD_IDX RANGE ${WLIST_MAX})
- FILE(APPEND "${MODULES_C}" "\n\nworker_t *workers[] = {\n")
+ FILE(APPEND "${WORKERS_C}" "\n\nworker_t *workers[] = {\n")
FOREACH(MOD_IDX RANGE ${WLIST_MAX})
LIST(GET ${WLIST} ${MOD_IDX} WRK)
- FILE(APPEND "${MODULES_C}" "&${WRK}_worker,\n")
+ FILE(APPEND "${WORKERS_C}" "&${WRK}_worker,\n")
ENDFOREACH(MOD_IDX RANGE ${WLIST_MAX})
- FILE(APPEND "${MODULES_C}" "NULL\n};\n")
-ENDMACRO(_AddModulesForced MLIST WLIST)
+ FILE(APPEND "${WORKERS_C}" "NULL\n};\n")
+ENDMACRO(_AddWorkersForced WLIST)
MACRO(AddModules MLIST WLIST)
- _AddModulesForced(${MLIST} ${WLIST})
+ _AddModulesForced(${MLIST})
+ _AddWorkersForced(${WLIST})
#IF(NOT EXISTS "modules.c")
# _AddModulesForced(${MLIST} ${WLIST})
#ELSE(NOT EXISTS "modules.c")
@@ -63,8 +71,7 @@ ADD_SUBDIRECTORY(libmime)
ADD_SUBDIRECTORY(libstat)
ADD_SUBDIRECTORY(client)
-SET(RSPAMDSRC ${CMAKE_CURRENT_BINARY_DIR}/modules.c
- controller.c
+SET(RSPAMDSRC controller.c
fuzzy_storage.c
lua_worker.c
main.c
@@ -86,11 +93,12 @@ LIST(LENGTH PLUGINSSRC RSPAMD_MODULES_NUM)
######################### LINK SECTION ###############################
ADD_LIBRARY(rspamd-server STATIC ${RSPAMD_UTIL} ${RSPAMD_LUA} ${RSPAMD_SERVER}
- ${RSPAMD_STAT} ${RSPAMD_MIME} ${RSPAMD_CRYPTOBOX})
+ ${RSPAMD_STAT} ${RSPAMD_MIME} ${RSPAMD_CRYPTOBOX}
+ ${CMAKE_CURRENT_BINARY_DIR}/modules.c ${PLUGINSSRC})
TARGET_LINK_LIBRARIES(rspamd-server rspamd-http-parser)
TARGET_LINK_LIBRARIES(rspamd-server rspamd-cdb)
-ADD_EXECUTABLE(rspamd ${RSPAMDSRC} ${PLUGINSSRC})
+ADD_EXECUTABLE(rspamd ${RSPAMDSRC} ${CMAKE_CURRENT_BINARY_DIR}/workers.c)
SET_TARGET_PROPERTIES(rspamd PROPERTIES LINKER_LANGUAGE C)
SET_TARGET_PROPERTIES(rspamd PROPERTIES COMPILE_FLAGS "-DRSPAMD_MAIN")
IF(NOT DEBIAN_BUILD)
diff --git a/test/rspamd_test_suite.c b/test/rspamd_test_suite.c
index 0da1d3839..004b1eb92 100644
--- a/test/rspamd_test_suite.c
+++ b/test/rspamd_test_suite.c
@@ -19,7 +19,8 @@ main (int argc, char **argv)
rspamd_main->server_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
rspamd_main->cfg = (struct rspamd_config *)g_malloc (sizeof (struct rspamd_config));
cfg = rspamd_main->cfg;
- bzero (cfg, sizeof (struct rspamd_config));
+ memset (cfg, 0, sizeof (struct rspamd_config));
+ rspamd_init_cfg (cfg, FALSE);
cfg->cfg_pool = rspamd_mempool_new (rspamd_mempool_suggest_size ());
cfg->log_type = RSPAMD_LOG_CONSOLE;
cfg->log_level = G_LOG_LEVEL_INFO;
@@ -29,12 +30,7 @@ main (int argc, char **argv)
g_test_init (&argc, &argv, NULL);
-#if ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION <= 30))
- g_thread_init (NULL);
-#endif
-
- g_mime_init (0);
- rspamd_regexp_library_init ();
+ rspamd_init_libs ();
base = event_init ();