backend-infra-engineer: Release v0.3.1 snapshot
This commit is contained in:
@@ -15,11 +15,27 @@ set(ABSL_PROPAGATE_CXX_STD ON)
|
||||
set(ABSL_CXX_STANDARD 23)
|
||||
set(ABSL_USE_GOOGLETEST_HEAD ON)
|
||||
set(ABSL_ENABLE_INSTALL ON)
|
||||
|
||||
# Silence C++23 deprecation warnings for Abseil int128
|
||||
if(MSVC)
|
||||
add_definitions(-DSILENCE_CXX23_DEPRECATIONS)
|
||||
else()
|
||||
add_definitions(-D_SILENCE_CXX23_DEPRECATION_WARNING)
|
||||
endif()
|
||||
# Define base Abseil targets
|
||||
set(
|
||||
ABSL_TARGETS
|
||||
absl::strings
|
||||
absl::str_format
|
||||
absl::flags
|
||||
absl::flags_parse
|
||||
absl::flags_usage
|
||||
absl::flags_commandlineflag
|
||||
absl::flags_marshalling
|
||||
absl::flags_private_handle_accessor
|
||||
absl::flags_program_name
|
||||
absl::flags_config
|
||||
absl::flags_reflection
|
||||
absl::status
|
||||
absl::statusor
|
||||
absl::examine_stack
|
||||
@@ -34,13 +50,15 @@ set(
|
||||
absl::synchronization
|
||||
absl::time
|
||||
absl::symbolize
|
||||
absl::flags_commandlineflag
|
||||
absl::flags_marshalling
|
||||
absl::flags_private_handle_accessor
|
||||
absl::flags_program_name
|
||||
absl::flags_config
|
||||
absl::flags_reflection
|
||||
absl::container_memory
|
||||
absl::memory
|
||||
absl::utility
|
||||
)
|
||||
|
||||
# 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()
|
||||
|
||||
@@ -162,7 +162,6 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/
|
||||
PATTERN "*.png"
|
||||
PATTERN "*.ttf"
|
||||
PATTERN "*.asm"
|
||||
PATTERN "*.zeml"
|
||||
)
|
||||
|
||||
# Install documentation
|
||||
|
||||
@@ -21,12 +21,24 @@ else()
|
||||
endif()
|
||||
|
||||
# libpng and ZLIB dependencies
|
||||
if(WIN32 AND NOT YAZE_MINIMAL_BUILD)
|
||||
# Use vcpkg on Windows
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
if(WIN32)
|
||||
# Windows builds with vcpkg (OpenGL/GLEW removed to avoid MSYS2 issues)
|
||||
if(NOT YAZE_MINIMAL_BUILD)
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
else()
|
||||
# For CI/minimal builds, try to find but don't require
|
||||
find_package(ZLIB QUIET)
|
||||
find_package(PNG QUIET)
|
||||
if(NOT ZLIB_FOUND OR NOT PNG_FOUND)
|
||||
message(STATUS "PNG/ZLIB not found in minimal build, some features may be disabled")
|
||||
set(PNG_FOUND FALSE)
|
||||
set(PNG_LIBRARIES "")
|
||||
set(PNG_INCLUDE_DIRS "")
|
||||
endif()
|
||||
endif()
|
||||
elseif(YAZE_MINIMAL_BUILD)
|
||||
# For CI builds, try to find but don't require
|
||||
# For CI builds on other platforms, try to find but don't require
|
||||
find_package(ZLIB QUIET)
|
||||
find_package(PNG QUIET)
|
||||
if(NOT ZLIB_FOUND OR NOT PNG_FOUND)
|
||||
|
||||
@@ -1,6 +1,40 @@
|
||||
|
||||
# vcpkg configuration for Windows builds
|
||||
add_definitions("-DMICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS=0")
|
||||
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
# vcpkg settings
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
|
||||
# Enable vcpkg manifest mode for automatic dependency management
|
||||
set(VCPKG_MANIFEST_MODE ON)
|
||||
|
||||
# Auto-detect target architecture and set vcpkg triplet
|
||||
if(NOT DEFINED VCPKG_TARGET_TRIPLET)
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64|aarch64")
|
||||
set(VCPKG_TARGET_TRIPLET "arm64-windows" CACHE STRING "vcpkg target triplet")
|
||||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64|x86_64")
|
||||
set(VCPKG_TARGET_TRIPLET "x64-windows" CACHE STRING "vcpkg target triplet")
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86")
|
||||
set(VCPKG_TARGET_TRIPLET "x86-windows" CACHE STRING "vcpkg target triplet")
|
||||
set(VCPKG_TARGET_ARCHITECTURE x86)
|
||||
else()
|
||||
# Fallback to x64 if architecture detection fails
|
||||
set(VCPKG_TARGET_TRIPLET "x64-windows" CACHE STRING "vcpkg target triplet")
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
message(WARNING "Could not detect target architecture, defaulting to x64")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Set vcpkg installation directory if not already set
|
||||
if(NOT DEFINED VCPKG_INSTALLED_DIR)
|
||||
set(VCPKG_INSTALLED_DIR "${CMAKE_BINARY_DIR}/vcpkg_installed" CACHE PATH "vcpkg installed directory")
|
||||
endif()
|
||||
|
||||
message(STATUS "vcpkg configuration:")
|
||||
message(STATUS " Target architecture: ${VCPKG_TARGET_ARCHITECTURE}")
|
||||
message(STATUS " Target triplet: ${VCPKG_TARGET_TRIPLET}")
|
||||
message(STATUS " Installed directory: ${VCPKG_INSTALLED_DIR}")
|
||||
message(STATUS " Manifest mode: ${VCPKG_MANIFEST_MODE}")
|
||||
|
||||
Reference in New Issue
Block a user