From 1e121efa4832685df1b1b6a528701f1f5110e6ad Mon Sep 17 00:00:00 2001 From: Maxime dcb <40819564+maxDcb@users.noreply.github.com> Date: Fri, 29 Aug 2025 18:13:43 +0200 Subject: [PATCH 1/3] Update CMakeLists.txt MT for windows build --- CMakeLists.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 82b6183..52296a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,25 @@ cmake_minimum_required(VERSION 3.16) project(C2Core LANGUAGES CXX) +# --- Use the static MSVC runtime (/MT, /MTd) everywhere on Windows --- +if(MSVC) + # Make CMAKE_MSVC_RUNTIME_LIBRARY authoritative + cmake_policy(SET CMP0091 NEW) + # Use /MT for Release-like configs and /MTd for Debug + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>" CACHE STRING "" FORCE) + + # (Optional) clean any /MD that third-parties might have injected into global flags + foreach(flag_var + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_MINSIZEREL) + if(DEFINED ${flag_var}) + string(REGEX REPLACE "/MDd" "" ${flag_var} "${${flag_var}}") + string(REGEX REPLACE "/MD" "" ${flag_var} "${${flag_var}}") + endif() + endforeach() +endif() +# -------------------------------------------------------------------- + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) From ff74d0811a6bc1d8ef3c010841c434fb6de55a96 Mon Sep 17 00:00:00 2001 From: Maxime dcb <40819564+maxDcb@users.noreply.github.com> Date: Fri, 29 Aug 2025 18:42:40 +0200 Subject: [PATCH 2/3] Update CMakeLists.txt --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 52296a0..b35de58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,11 @@ if(MSVC) string(REGEX REPLACE "/MD" "" ${flag_var} "${${flag_var}}") endif() endforeach() + + add_compile_definitions( + WIN32_LEAN_AND_MEAN # optional: speed up + NOMINMAX # <-- disables Windows min/max macros + ) endif() # -------------------------------------------------------------------- From 9f125c9a930bbe1e2603128c22b25d6827a5ec83 Mon Sep 17 00:00:00 2001 From: Maxime dcb <40819564+maxDcb@users.noreply.github.com> Date: Mon, 1 Sep 2025 09:04:33 +0200 Subject: [PATCH 3/3] Update CMakeLists.txt --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b35de58..72b7c9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,6 @@ if(MSVC) endforeach() add_compile_definitions( - WIN32_LEAN_AND_MEAN # optional: speed up NOMINMAX # <-- disables Windows min/max macros ) endif()