diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a1ae374d..0c3727368 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 2.9) +cmake_minimum_required(VERSION 3.13) + if (WIN32) file(TO_CMAKE_PATH "${CMAKE_MODULE_PATH}" CMAKE_MODULE_PATH ) file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH ) @@ -17,7 +18,6 @@ set (HAVE_STRLCAT 0) set (HAVE_LIBBSD 0) set (HAVE_SIGNAL_H 0) set (HAVE_EXECINFO_H 0) -include (MSVC) else (MSVC) include (CheckIncludeFile) @@ -41,6 +41,7 @@ if (NOT CURSES_FOUND) find_package (Curses) endif (NOT CURSES_FOUND) +#find_package (BerkeleyDB REQUIRED) find_package (SQLite3 REQUIRED) find_package (IniParser REQUIRED) find_package (CJSON REQUIRED) diff --git a/clibs b/clibs index 6cdcdd62d..8c3ce73e8 160000 --- a/clibs +++ b/clibs @@ -1 +1 @@ -Subproject commit 6cdcdd62d167e0159d10d4e95b5def97d785fdef +Subproject commit 8c3ce73e861c952d04a28949b4a80e68c2cce8fd diff --git a/cmake/Modules/MSVC.cmake b/cmake/Modules/MSVC.cmake deleted file mode 100644 index d32822627..000000000 --- a/cmake/Modules/MSVC.cmake +++ /dev/null @@ -1,19 +0,0 @@ -MACRO (MSVC_CRT_SECURE_NO_WARNINGS) - IF (MSVC) - FOREACH (target ${ARGN}) - SET_TARGET_PROPERTIES (${target} PROPERTIES - COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS - ) - ENDFOREACH (target) - ENDIF (MSVC) -ENDMACRO (MSVC_CRT_SECURE_NO_WARNINGS) - -MACRO (MSVC_SET_WARNING_LEVEL level) - IF (MSVC) - IF(CMAKE_C_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W${level}" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ELSE() - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W${level}") - ENDIF() - ENDIF(MSVC) -ENDMACRO (MSVC_SET_WARNING_LEVEL) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d3ba76c05..7e3b0155a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,5 @@ +cmake_minimum_required(VERSION 3.15) +cmake_policy(SET CMP0092 NEW) project (server C) include_directories (${CMAKE_CURRENT_SOURCE_DIR}) @@ -19,14 +21,13 @@ COMPILE_DEFINITIONS ERESSEA_BUILDNO="${ERESSEA_BUILDNO}") ENDIF() IF (CMAKE_COMPILER_IS_GNUCC) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wvla") + add_compile_options(-Wvla) ENDIF() IF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") -# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wno-sign-conversion") -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wsign-compare -Wall -Werror -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wno-char-subscripts -Wno-long-long") -# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89") + add_compile_options(-Wsign-compare -Wall -Werror -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wno-char-subscripts -Wno-long-long) ELSEIF(MSVC) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4 /WX /MP /D_CRT_SECURE_NO_WARNINGS /D_USE_MATH_DEFINES") + add_compile_options(/WX /MP) +# set(EXTRA_C_FLAGS /WX /MP /D_CRT_SECURE_NO_WARNINGS /D_USE_MATH_DEFINES) set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrt.lib") set(CMAKE_EXE_LINKER_FLAGS_RELEASE @@ -46,6 +47,8 @@ ELSEIF(CMAKE_COMPILER_IS_GCC) ENDIF() ENDIF(CMAKE_COMPILER_IS_CLANG) +string(REGEX REPLACE "/W[3|4]" "/w" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + add_subdirectory(util) add_subdirectory(kernel) add_subdirectory(items) @@ -311,24 +314,24 @@ if (SQLite3_FOUND) target_include_directories (game PRIVATE ${SQLite3_INCLUDE_DIRS}) target_link_libraries(eressea ${SQLite3_LIBRARIES}) target_link_libraries(test_eressea ${SQLite3_LIBRARIES}) -add_compile_definitions(game PRIVATE USE_SQLITE) +target_compile_definitions(game PRIVATE USE_SQLITE) elseif (DB_FOUND) #include_directories (${DB_INCLUDE_DIR}) target_link_libraries(eressea ${DB_LIBRARIES}) target_link_libraries(test_eressea ${DB_LIBRARIES}) -add_compile_definitions(game PRIVATE USE_DB) +target_compile_definitions(game PRIVATE USE_DB) endif(SQLite3_FOUND) if (READLINE_FOUND) #include_directories (${READLINE_INCLUDE_DIR}) target_link_libraries(eressea ${READLINE_LIBRARY}) -add_compile_definitions(eressea PRIVATE DUSE_READLINE) +target_compile_definitions(eressea PRIVATE DUSE_READLINE) endif (READLINE_FOUND) if (CURSES_FOUND) target_include_directories (eressea PRIVATE ${CURSES_INCLUDE_DIRS}) target_link_libraries(eressea ${CURSES_LIBRARIES}) -add_compile_definitions(eressea PRIVATE USE_CURSES) +target_compile_definitions(eressea PRIVATE USE_CURSES) endif(CURSES_FOUND) if (EXPAT_FOUND) diff --git a/src/attributes/attributes.c b/src/attributes/attributes.c index f1b97d8a5..d8fe35833 100644 --- a/src/attributes/attributes.c +++ b/src/attributes/attributes.c @@ -145,7 +145,7 @@ static int read_ext(variant *var, void *owner, gamedata *data) UNUSED_ARG(var); READ_INT(data->store, &len); - data->store->api->r_bin(data->store->handle, NULL, (size_t)len); + data->store->api->r_str(data->store->handle, NULL, (size_t)len); return AT_READ_OK; } diff --git a/src/attributes/key.c b/src/attributes/key.c index 22164e1fb..e35bf767c 100644 --- a/src/attributes/key.c +++ b/src/attributes/key.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "key.h" diff --git a/src/battle.c b/src/battle.c index 0d153e525..44299df1e 100644 --- a/src/battle.c +++ b/src/battle.c @@ -1,4 +1,5 @@ #ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS #include #endif diff --git a/src/battle.test.c b/src/battle.test.c index fc1cab6c5..08adce803 100644 --- a/src/battle.test.c +++ b/src/battle.test.c @@ -1,4 +1,8 @@ -#include +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include "battle.h" diff --git a/src/bind_config.c b/src/bind_config.c index 31ffcc287..54db2da4b 100644 --- a/src/bind_config.c +++ b/src/bind_config.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include "bind_config.h" #include "jsonconf.h" diff --git a/src/bind_eressea.c b/src/bind_eressea.c index f76d0a903..ac04ce36b 100755 --- a/src/bind_eressea.c +++ b/src/bind_eressea.c @@ -1,5 +1,7 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif #include "bind_eressea.h" diff --git a/src/bind_storage.c b/src/bind_storage.c index 5df148bb4..64fd3aa2e 100644 --- a/src/bind_storage.c +++ b/src/bind_storage.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include "bind_storage.h" #include diff --git a/src/bindings.c b/src/bindings.c index ac153680a..fdb2cd153 100755 --- a/src/bindings.c +++ b/src/bindings.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include "bindings.h" #include "bind_tolua.h" diff --git a/src/checker.c b/src/checker.c index 7d1af6635..046fb9c05 100644 --- a/src/checker.c +++ b/src/checker.c @@ -1,7 +1,6 @@ -#ifdef _MSV_VER -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS #endif - #include "util/order_parser.h" #include "util/keyword.h" #include "util/language.h" diff --git a/src/creport.c b/src/creport.c index 551ee7fa9..f59bde5a8 100644 --- a/src/creport.c +++ b/src/creport.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include #include "creport.h" diff --git a/src/economy.c b/src/economy.c index fd87ee20c..e638afff5 100644 --- a/src/economy.c +++ b/src/economy.c @@ -1,4 +1,5 @@ #ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS #include #endif diff --git a/src/exparse.c b/src/exparse.c index 715b5f4c4..791223c61 100644 --- a/src/exparse.c +++ b/src/exparse.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include "exparse.h" diff --git a/src/gmtool.c b/src/gmtool.c index 033823dc0..516589087 100644 --- a/src/gmtool.c +++ b/src/gmtool.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include #include "gmtool.h" diff --git a/src/json.c b/src/json.c index f25970af0..034068ee0 100644 --- a/src/json.c +++ b/src/json.c @@ -1,5 +1,6 @@ -#include "platform.h" - +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "json.h" #include diff --git a/src/jsonconf.c b/src/jsonconf.c index 27a018b17..016f6c1c2 100644 --- a/src/jsonconf.c +++ b/src/jsonconf.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "jsonconf.h" /* kernel includes */ @@ -47,22 +49,37 @@ #include #include -static int json_flags(cJSON *json, const char *flags[]) { - cJSON *entry; - int result = 0; - assert(json->type == cJSON_Array); - for (entry = json->child; entry; entry = entry->next) { - if (entry->type == cJSON_String) { - int i; - for (i = 0; flags[i]; ++i) { - if (strcmp(flags[i], entry->valuestring) == 0) { - result |= (1 << i); - break; - } - } +static void json_map(void* object, void (*mapfun)(void* child, void* udata), void* udata) +{ + cJSON *child, *json = (cJSON*)object; + for (child = json->child; child; child = child->next) { + mapfun(child, udata); + } +} + +struct flags { + const char** names; + int result; +}; + +static void cb_flags(void* json, struct flags* flags) +{ + cJSON* entry = (cJSON*)json; + int i; + for (i = 0; flags->names[i]; ++i) { + if (strcmp(flags->names[i], entry->valuestring) == 0) { + flags->result |= (1 << i); + break; } } - return result; +} + +static int json_flags(cJSON *json, const char *flags[]) { + struct flags ctx = { flags, 0 }; + + assert(json->type == cJSON_Array); + json_map(json, cb_flags, &ctx); + return ctx.result; } static void json_requirements(cJSON *json, requirement **matp) { diff --git a/src/jsonconf.test.c b/src/jsonconf.test.c index 491668506..0f6db3e5e 100644 --- a/src/jsonconf.test.c +++ b/src/jsonconf.test.c @@ -1,5 +1,7 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif #include "kernel/types.h" diff --git a/src/kernel/ally.c b/src/kernel/ally.c index 300d64e15..c673dc7d8 100644 --- a/src/kernel/ally.c +++ b/src/kernel/ally.c @@ -1,4 +1,6 @@ -#include "platform.h" +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "config.h" #include "ally.h" diff --git a/src/kernel/attrib.c b/src/kernel/attrib.c index 3b99053b2..bfa5f65ed 100644 --- a/src/kernel/attrib.c +++ b/src/kernel/attrib.c @@ -94,33 +94,18 @@ void a_writechars(const variant * var, const void *owner, struct storage *store) int a_readstring(variant * var, void *owner, struct gamedata *data) { char buf[DISPLAYSIZE]; - char * result = 0; - int e; - size_t len = 0; - do { - e = READ_STR(data->store, buf, sizeof(buf)); - if (result) { - char *tmp = realloc(result, len + DISPLAYSIZE - 1); - if (!tmp) { - free(result); - abort(); - } - result = tmp; - strcpy(result + len, buf); - len += DISPLAYSIZE - 1; - } - else { - result = str_strdup(buf); - } - } while (e == ENOMEM); - var->v = result; + + READ_STR(data->store, buf, sizeof(buf)); + var->v = str_strdup(buf); return AT_READ_OK; } void a_writestring(const variant * var, const void *owner, struct storage *store) { + const char* str = (const char*)var->v; assert(var && var->v); - WRITE_STR(store, (const char *)var->v); + assert(strlen(str) < DISPLAYSIZE); + WRITE_STR(store, str); } void a_finalizestring(variant * var) diff --git a/src/kernel/config.c b/src/kernel/config.c index 972ebe736..aa168cdfa 100644 --- a/src/kernel/config.c +++ b/src/kernel/config.c @@ -1,7 +1,6 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif - #include "config.h" /* kernel includes */ diff --git a/src/kernel/db/sqlite.c b/src/kernel/db/sqlite.c index c7fdfe414..688d5f4f8 100644 --- a/src/kernel/db/sqlite.c +++ b/src/kernel/db/sqlite.c @@ -1,5 +1,6 @@ -#include - +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include diff --git a/src/kernel/faction.c b/src/kernel/faction.c index d31a9be1d..17abf3d60 100755 --- a/src/kernel/faction.c +++ b/src/kernel/faction.c @@ -1,5 +1,6 @@ -#include - +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "faction.h" #include "calendar.h" diff --git a/src/kernel/faction.test.c b/src/kernel/faction.test.c index 7b88502f8..addd81832 100644 --- a/src/kernel/faction.test.c +++ b/src/kernel/faction.test.c @@ -1,5 +1,8 @@ -#include - +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include #include #include diff --git a/src/kernel/gamedata.c b/src/kernel/gamedata.c index de52ba8b6..1079dc716 100644 --- a/src/kernel/gamedata.c +++ b/src/kernel/gamedata.c @@ -1,5 +1,6 @@ -#include - +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "gamedata.h" #include diff --git a/src/kernel/item.c b/src/kernel/item.c index 0d2764412..4285eb661 100644 --- a/src/kernel/item.c +++ b/src/kernel/item.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "item.h" diff --git a/src/kernel/messages.c b/src/kernel/messages.c index 98411973d..3da4e492f 100644 --- a/src/kernel/messages.c +++ b/src/kernel/messages.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "messages.h" /* kernel includes */ diff --git a/src/kernel/order.c b/src/kernel/order.c index d54747417..7352f8ccc 100644 --- a/src/kernel/order.c +++ b/src/kernel/order.c @@ -1,7 +1,6 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif - #include #include "order.h" diff --git a/src/kernel/race.c b/src/kernel/race.c index 66dced6cf..850a42259 100644 --- a/src/kernel/race.c +++ b/src/kernel/race.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "race.h" diff --git a/src/kernel/race.test.c b/src/kernel/race.test.c index 117d263b0..9526325ac 100644 --- a/src/kernel/race.test.c +++ b/src/kernel/race.test.c @@ -1,4 +1,8 @@ -#include +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include "faction.h" #include "unit.h" #include "race.h" diff --git a/src/kernel/save.c b/src/kernel/save.c index f83a87ef8..0006bd6ac 100644 --- a/src/kernel/save.c +++ b/src/kernel/save.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include #include "save.h" diff --git a/src/kernel/save.test.c b/src/kernel/save.test.c index e0f012cc4..098da369c 100644 --- a/src/kernel/save.test.c +++ b/src/kernel/save.test.c @@ -1,4 +1,8 @@ -#include +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include #include #include diff --git a/src/kernel/unit.test.c b/src/kernel/unit.test.c index 710154aac..53a43cab9 100644 --- a/src/kernel/unit.test.c +++ b/src/kernel/unit.test.c @@ -1,3 +1,8 @@ +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include #include #include diff --git a/src/kernel/version.c b/src/kernel/version.c index 0739b11b1..0170f54dc 100644 --- a/src/kernel/version.c +++ b/src/kernel/version.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include "version.h" diff --git a/src/laws.c b/src/laws.c index 7f515e4ae..253c79ae5 100644 --- a/src/laws.c +++ b/src/laws.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include #include "laws.h" diff --git a/src/magic.c b/src/magic.c index 7064df368..84a87107c 100644 --- a/src/magic.c +++ b/src/magic.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include "magic.h" diff --git a/src/main.c b/src/main.c index aa908b8ea..8c6379232 100644 --- a/src/main.c +++ b/src/main.c @@ -1,3 +1,9 @@ +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif + #include #include #include diff --git a/src/modules/autoseed.c b/src/modules/autoseed.c index b74690745..069d2487a 100644 --- a/src/modules/autoseed.c +++ b/src/modules/autoseed.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "autoseed.h" diff --git a/src/modules/score.c b/src/modules/score.c index 85759fe02..d17077183 100644 --- a/src/modules/score.c +++ b/src/modules/score.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "score.h" diff --git a/src/names.c b/src/names.c index 450fa9478..099c636e7 100644 --- a/src/names.c +++ b/src/names.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "names.h" diff --git a/src/orderfile.test.c b/src/orderfile.test.c index 849562417..3a1223464 100644 --- a/src/orderfile.test.c +++ b/src/orderfile.test.c @@ -1,4 +1,8 @@ -#include +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include #include "orderfile.h" diff --git a/src/report.c b/src/report.c index 09b9ab82e..af3bbaee4 100644 --- a/src/report.c +++ b/src/report.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include "report.h" diff --git a/src/reports.c b/src/reports.c index 79a5c7eb7..da1712711 100644 --- a/src/reports.c +++ b/src/reports.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include "reports.h" diff --git a/src/skill.c b/src/skill.c index 41656f0ff..9e6619684 100644 --- a/src/skill.c +++ b/src/skill.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "skill.h" diff --git a/src/study.c b/src/study.c index e529c2c31..28d762560 100644 --- a/src/study.c +++ b/src/study.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include #include "study.h" diff --git a/src/summary.c b/src/summary.c index de20f2dae..58687cdc9 100644 --- a/src/summary.c +++ b/src/summary.c @@ -1,5 +1,5 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif #include diff --git a/src/tests.c b/src/tests.c index 24d742c9d..270b34e21 100644 --- a/src/tests.c +++ b/src/tests.c @@ -1,4 +1,8 @@ -#include +#ifdef _MSC_VER +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#endif #include "tests.h" #include "prefix.h" #include "creport.h" diff --git a/src/util/crmessage.c b/src/util/crmessage.c index 09e6cdaf8..8830e8ddb 100644 --- a/src/util/crmessage.c +++ b/src/util/crmessage.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "crmessage.h" #include "macros.h" diff --git a/src/util/crypto/CMakeLists.txt b/src/util/crypto/CMakeLists.txt index 735dabc0a..c4dc4e26c 100644 --- a/src/util/crypto/CMakeLists.txt +++ b/src/util/crypto/CMakeLists.txt @@ -1,26 +1,28 @@ +cmake_minimum_required(VERSION 2.9) project (crypto C) -IF (MSVC) - include (MSVC) - MSVC_SET_WARNING_LEVEL(3) -ENDIF (MSVC) +if (MSVC) + #add_compile_definitions (_CRT_SECURE_NO_WARNINGS) + add_compile_options(/WX) + if(CMAKE_C_FLAGS MATCHES "/W[0-4]") + string(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + else() + add_compile_options(/W3) + endif() +endif (MSVC) -SET (LIB_SRC +set (LIB_SRC crypto.c crypt_blowfish/wrapper.c crypt_blowfish/crypt_blowfish.c crypt_blowfish/crypt_gensalt.c ) -ADD_LIBRARY (crypto ${LIB_SRC}) +add_library (crypto ${LIB_SRC}) set (CRYPTO_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "crypto headers") set (CRYPTO_LIBRARIES crypto CACHE INTERNAL "crypto libraries") -IF(WIN32) - SET(CRYPTO_LIBRARIES ${CRYPTO_LIBRARIES} bcrypt CACHE +if(WIN32) + set(CRYPTO_LIBRARIES ${CRYPTO_LIBRARIES} bcrypt CACHE INTERNAL "crypto libraries") -ENDIF() - -IF (MSVC) - MSVC_CRT_SECURE_NO_WARNINGS (crypto) -ENDIF (MSVC) +endif() diff --git a/src/util/keyword.c b/src/util/keyword.c index 07b557572..19829f830 100644 --- a/src/util/keyword.c +++ b/src/util/keyword.c @@ -1,4 +1,6 @@ -#include +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include #include "keyword.h" diff --git a/src/util/language.c b/src/util/language.c index 131b7078e..078017572 100644 --- a/src/util/language.c +++ b/src/util/language.c @@ -1,7 +1,6 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif - #include "language.h" #include "log.h" diff --git a/src/util/log.c b/src/util/log.c index e8cf0e2fe..2242888d4 100644 --- a/src/util/log.c +++ b/src/util/log.c @@ -1,3 +1,6 @@ +#ifdef _MSC_VER +#define _CRT_SECURE_NO_WARNINGS +#endif #include "log.h" #include "path.h" diff --git a/src/util/log.test.c b/src/util/log.test.c index 527776d4b..747ff4b63 100644 --- a/src/util/log.test.c +++ b/src/util/log.test.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include "log.h" #include "stats.h" #include "macros.h" diff --git a/src/util/order_parser.test.c b/src/util/order_parser.test.c index d43f661fb..052149fe9 100644 --- a/src/util/order_parser.test.c +++ b/src/util/order_parser.test.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include "order_parser.h" #include "strings.h" diff --git a/src/util/pofile.c b/src/util/pofile.c index 131994c37..a11ca7ff2 100644 --- a/src/util/pofile.c +++ b/src/util/pofile.c @@ -1,7 +1,6 @@ #ifdef _MSC_VER -#include +#define _CRT_SECURE_NO_WARNINGS #endif - #include "pofile.h" #include "log.h" #include "strings.h" diff --git a/src/util/strings.test.c b/src/util/strings.test.c index e50e2cddd..7f624ddb7 100644 --- a/src/util/strings.test.c +++ b/src/util/strings.test.c @@ -1,5 +1,7 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif #include diff --git a/src/util/unicode.test.c b/src/util/unicode.test.c index ee6120962..2cd36dc1b 100644 --- a/src/util/unicode.test.c +++ b/src/util/unicode.test.c @@ -1,7 +1,8 @@ #ifdef _MSC_VER -#include +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif #endif - #include "unicode.h" #include diff --git a/storage b/storage index 1f558529f..629e578a7 160000 --- a/storage +++ b/storage @@ -1 +1 @@ -Subproject commit 1f558529f7393c743c346a679d050d5f4ed19f14 +Subproject commit 629e578a7f912580933da26d8dc2c27804992fb3 diff --git a/tolua b/tolua index a3dec42d3..7c73f64e0 160000 --- a/tolua +++ b/tolua @@ -1 +1 @@ -Subproject commit a3dec42d329dabcfe0a19c9bba506f7074883dba +Subproject commit 7c73f64e0a0001f49f04c51921e4c15167e4e67b diff --git a/vs2019-build.bat b/vs2019-build.bat index 82733c683..2af3b8afc 100644 --- a/vs2019-build.bat +++ b/vs2019-build.bat @@ -1,7 +1,5 @@ @ECHO OFF -IF "%WIN32_DEV%" == "" SET WIN32_DEV="C:\Libraries" SET CMAKE_ROOT=%ProgramFiles%\CMake -IF "%LUA_DEV%" == "" SET LUA_DEV="%ProgramFiles(x86)%/Lua/5.1" SET VSVERSION=16 SET SRCDIR=%CD% REM CD .. @@ -17,5 +15,5 @@ cd build-vs%VSVERSION% IF NOT EXIST CMakeCache.txt GOTO NOCACHE DEL CMakeCache.txt :NOCACHE -"%CMAKE_ROOT%\bin\cmake.exe" -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -A Win32 -G "Visual Studio %VSVERSION%" -DCMAKE_PREFIX_PATH="%LUA_DEV%;%WIN32_DEV%" -DCMAKE_MODULE_PATH="%CMAKE_MODULES%" -DCMAKE_SUPPRESS_REGENERATION=TRUE .. +"%CMAKE_ROOT%\bin\cmake.exe" -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -A x64 -G "Visual Studio %VSVERSION%" -DCMAKE_MODULE_PATH="%CMAKE_MODULES%" -DCMAKE_SUPPRESS_REGENERATION=TRUE .. PAUSE