From d16dccf994d27e224bc427120d31c936bd486be4 Mon Sep 17 00:00:00 2001 From: Jittapan Pluemsumran Date: Sat, 4 May 2024 19:47:01 +0700 Subject: [PATCH] Added some Windows fixes, Added MAXXCON option to CMake --- CMakeLists.txt | 14 ++++++++++++++ src/common/CMakeLists.txt | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index f0abf99b75..f95b60fbdd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ list(APPEND CMAKE_MODULE_PATH # options set(PACKETVER 20211103 CACHE STRING "Sets the PACKETVER define of the servers (see src/common/mmo.hpp)") +set(MAXCONN CACHE STRING "Sets the MAXCONN define of the servers. (see src/common/socket.hpp)") option(ENABLE_PRERENEWAL "Whether or not to enable Pre-renewal (default=OFF)" OFF) option(ENABLE_WEB_SERVER "Build web-server (default=ON)" ON) option(ENABLE_RDTSC "Enable RDTSC instruction as a timing source (default=OFF)" OFF) @@ -79,6 +80,19 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/${suffixInsta set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/${suffixInstallStr}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +if(WIN32) + set(RuntimeOutputDir "${CMAKE_BINARY_DIR}/..") + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${RuntimeOutputDir}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${RuntimeOutputDir}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${RuntimeOutputDir}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${RuntimeOutputDir}) + + if (MSVC AND NOT MSVC_VERSION VERSION_LESS 142) + add_link_options($<$:/INCREMENTAL>) + add_compile_options($<$:/ZI>) + endif() + add_compile_definitions($<$:_ITERATOR_DEBUG_LEVEL=0>) +endif() add_subdirectory(db) add_subdirectory(conf) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index f9d67dbae9..28a3a3b636 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -191,6 +191,10 @@ if(ENABLE_VIP) target_compile_definitions(common INTERFACE "-DVIP_ENABLE") endif() +if(MAXCONN) + target_compile_definitions(common PUBLIC "-DMAXCONN=${MAXCONN}") +endif() + CHECK_FUNCTION_EXISTS(setrlimit HAVE_SETRLIMIT) if (HAVE_SETRLIMIT) target_compile_definitions(common PUBLIC "-DHAVE_SETRLIMIT")