Fixed both CI issues.

- MSVC:
      - Removed lambda-based eeNew expansion in favor of typed MemoryManager::trackNew().
      - Added macro expansion indirection.
      - Enabled MSVC’s conforming preprocessor with /Zc:preprocessor across Premake 4/5 static libraries, shared libraries, and executables.
      - Verified generated VS2022 projects contain the flag, including eterm-static and eepp-maps-static.
      - Added explicit standard-library includes to memorymanagerglobal.cpp.

  - Linux/macOS release tests:
      - MemoryManager.tracesPlainNew is now compiled only with EE_MEMORY_MANAGER, since global tracing is intentionally debug-only.

Added new plan to improve PropertyIdSet.
This commit is contained in:
Martín Lucas Golini
2026-08-05 11:53:36 -03:00
parent afb2d44bda
commit 120471343c
6 changed files with 583 additions and 18 deletions
+3 -3
View File
@@ -421,7 +421,7 @@ function build_base_cpp_configuration( package_name )
if not is_vs() then
buildoptions{ "-std=c++20" }
else
buildoptions{ "/std:c++20", "/utf-8" }
buildoptions{ "/std:c++20", "/utf-8", "/Zc:preprocessor" }
end
set_ios_config()
@@ -527,7 +527,7 @@ function build_link_configuration( package_name, use_ee_icon )
if not is_vs() then
buildoptions{ "-std=c++20" }
else
buildoptions{ "/std:c++20", "/utf-8", "/bigobj" }
buildoptions{ "/std:c++20", "/utf-8", "/bigobj", "/Zc:preprocessor" }
end
if package_name ~= "eepp" and package_name ~= "eepp-static" then
@@ -1069,7 +1069,7 @@ function build_eepp( build_name )
if not is_vs() then
buildoptions{ "-std=c++20" }
else
buildoptions{ "/std:c++20", "/utf-8", "/bigobj" }
buildoptions{ "/std:c++20", "/utf-8", "/bigobj", "/Zc:preprocessor" }
end
if os.is_real("mingw32") or os.is_real("mingw64") or os.is_real("windows") then