Enhance CMake configuration and library management
- Added `_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS` definition to suppress all C++23 deprecation warnings in CMakeLists.txt for both MSVC and GCC/Clang. - Updated `yaze.vcxproj` to remove unnecessary `absl::numeric` from AdditionalLibraryDirectories, streamlining library paths. - Modified `absl.cmake` to conditionally include `absl::int128` only on non-Windows platforms, avoiding C++23 deprecation issues and improving cross-platform compatibility.
This commit is contained in:
@@ -112,6 +112,7 @@ if(MSVC)
|
|||||||
_CRT_NONSTDC_NO_WARNINGS
|
_CRT_NONSTDC_NO_WARNINGS
|
||||||
SILENCE_CXX23_DEPRECATIONS
|
SILENCE_CXX23_DEPRECATIONS
|
||||||
_SILENCE_CXX23_DEPRECATION_WARNING
|
_SILENCE_CXX23_DEPRECATION_WARNING
|
||||||
|
_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS
|
||||||
NOMINMAX # Disable min/max macros
|
NOMINMAX # Disable min/max macros
|
||||||
WIN32_LEAN_AND_MEAN # Reduce Windows header bloat
|
WIN32_LEAN_AND_MEAN # Reduce Windows header bloat
|
||||||
strncasecmp=_strnicmp
|
strncasecmp=_strnicmp
|
||||||
@@ -126,6 +127,7 @@ else()
|
|||||||
# Add C++23 deprecation silencing for GCC/Clang
|
# Add C++23 deprecation silencing for GCC/Clang
|
||||||
target_compile_definitions(yaze_common INTERFACE
|
target_compile_definitions(yaze_common INTERFACE
|
||||||
_SILENCE_CXX23_DEPRECATION_WARNING
|
_SILENCE_CXX23_DEPRECATION_WARNING
|
||||||
|
_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS
|
||||||
ABSL_HAVE_INTRINSIC_INT128=1 # Enable intrinsic int128 support
|
ABSL_HAVE_INTRINSIC_INT128=1 # Enable intrinsic int128 support
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ if(MSVC)
|
|||||||
else()
|
else()
|
||||||
add_definitions(-D_SILENCE_CXX23_DEPRECATION_WARNING)
|
add_definitions(-D_SILENCE_CXX23_DEPRECATION_WARNING)
|
||||||
endif()
|
endif()
|
||||||
|
# Define base Abseil targets
|
||||||
set(
|
set(
|
||||||
ABSL_TARGETS
|
ABSL_TARGETS
|
||||||
absl::strings
|
absl::strings
|
||||||
@@ -50,5 +51,12 @@ set(
|
|||||||
absl::container_memory
|
absl::container_memory
|
||||||
absl::memory
|
absl::memory
|
||||||
absl::utility
|
absl::utility
|
||||||
absl::int128
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Add int128 only on non-Windows platforms to avoid C++23 deprecation issues
|
||||||
|
if(NOT WIN32)
|
||||||
|
list(APPEND ABSL_TARGETS absl::int128)
|
||||||
|
message(STATUS "Including absl::int128 (non-Windows platform)")
|
||||||
|
else()
|
||||||
|
message(STATUS "Excluding absl::int128 on Windows to avoid C++23 deprecation issues")
|
||||||
|
endif()
|
||||||
|
|||||||
@@ -146,7 +146,7 @@
|
|||||||
<AdditionalDependencies Condition="'$(VcpkgEnabled)' == 'true'">SDL2.lib;SDL2main.lib;zlibd.lib;libpng16d.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(VcpkgEnabled)' == 'true'">SDL2.lib;SDL2main.lib;zlibd.lib;libpng16d.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalDependencies Condition="'$(VcpkgEnabled)' != 'true'">SDL2.lib;SDL2main.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(VcpkgEnabled)' != 'true'">SDL2.lib;SDL2main.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' == 'true'">$(VcpkgRoot)installed\x64-windows\debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' == 'true'">$(VcpkgRoot)installed\x64-windows\debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' != 'true'">src\lib\SDL\VisualC\SDL\$(PlatformName)\$(Configuration);src\lib\abseil-cpp\absl\base;src\lib\abseil-cpp\absl\strings;src\lib\abseil-cpp\absl\container;src\lib\abseil-cpp\absl\numeric;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' != 'true'">src\lib\SDL\VisualC\SDL\$(PlatformName)\$(Configuration);src\lib\abseil-cpp\absl\base;src\lib\abseil-cpp\absl\strings;src\lib\abseil-cpp\absl\container;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
<Command>copy "$(ProjectDir)src\yaze_config.h.in" "$(ProjectDir)yaze_config.h"
|
<Command>copy "$(ProjectDir)src\yaze_config.h.in" "$(ProjectDir)yaze_config.h"
|
||||||
@@ -182,7 +182,7 @@ if exist "$(ProjectDir)zelda3.sfc" copy /Y "$(ProjectDir)zelda3.sfc" "$(OutDir)"
|
|||||||
<AdditionalDependencies Condition="'$(VcpkgEnabled)' == 'true'">SDL2.lib;SDL2main.lib;zlib.lib;libpng16.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(VcpkgEnabled)' == 'true'">SDL2.lib;SDL2main.lib;zlib.lib;libpng16.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalDependencies Condition="'$(VcpkgEnabled)' != 'true'">SDL2.lib;SDL2main.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies Condition="'$(VcpkgEnabled)' != 'true'">SDL2.lib;SDL2main.lib;ws2_32.lib;winmm.lib;imm32.lib;version.lib;oleaut32.lib;ole32.lib;setupapi.lib;advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' == 'true'">$(VcpkgRoot)installed\x64-windows\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' == 'true'">$(VcpkgRoot)installed\x64-windows\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' != 'true'">src\lib\SDL\VisualC\SDL\$(PlatformName)\$(Configuration);src\lib\abseil-cpp\absl\base;src\lib\abseil-cpp\absl\strings;src\lib\abseil-cpp\absl\container;src\lib\abseil-cpp\absl\numeric;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories Condition="'$(VcpkgEnabled)' != 'true'">src\lib\SDL\VisualC\SDL\$(PlatformName)\$(Configuration);src\lib\abseil-cpp\absl\base;src\lib\abseil-cpp\absl\strings;src\lib\abseil-cpp\absl\container;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
<Command>copy "$(ProjectDir)src\yaze_config.h.in" "$(ProjectDir)yaze_config.h"
|
<Command>copy "$(ProjectDir)src\yaze_config.h.in" "$(ProjectDir)yaze_config.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user