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
|
||||
SILENCE_CXX23_DEPRECATIONS
|
||||
_SILENCE_CXX23_DEPRECATION_WARNING
|
||||
_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS
|
||||
NOMINMAX # Disable min/max macros
|
||||
WIN32_LEAN_AND_MEAN # Reduce Windows header bloat
|
||||
strncasecmp=_strnicmp
|
||||
@@ -126,6 +127,7 @@ else()
|
||||
# Add C++23 deprecation silencing for GCC/Clang
|
||||
target_compile_definitions(yaze_common INTERFACE
|
||||
_SILENCE_CXX23_DEPRECATION_WARNING
|
||||
_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS
|
||||
ABSL_HAVE_INTRINSIC_INT128=1 # Enable intrinsic int128 support
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -22,6 +22,7 @@ if(MSVC)
|
||||
else()
|
||||
add_definitions(-D_SILENCE_CXX23_DEPRECATION_WARNING)
|
||||
endif()
|
||||
# Define base Abseil targets
|
||||
set(
|
||||
ABSL_TARGETS
|
||||
absl::strings
|
||||
@@ -50,5 +51,12 @@ set(
|
||||
absl::container_memory
|
||||
absl::memory
|
||||
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;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'">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>
|
||||
<PreBuildEvent>
|
||||
<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;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'">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>
|
||||
<PreBuildEvent>
|
||||
<Command>copy "$(ProjectDir)src\yaze_config.h.in" "$(ProjectDir)yaze_config.h"
|
||||
|
||||
Reference in New Issue
Block a user