diff --git a/externals/nx_tzdb/CMakeLists.txt b/externals/nx_tzdb/CMakeLists.txt index 35d3e6d2a8..2d6b2fcc66 100644 --- a/externals/nx_tzdb/CMakeLists.txt +++ b/externals/nx_tzdb/CMakeLists.txt @@ -1,6 +1,3 @@ -# SPDX-FileCopyrightText: 2025 Eden Emulator Project -# SPDX-License-Identifier: GPL-3.0-or-later - # SPDX-FileCopyrightText: 2023 yuzu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later @@ -18,58 +15,35 @@ find_program(DATE_PROG date) set(CAN_BUILD_NX_TZDB true) -if (NOT (GIT AND GNU_MAKE AND DATE_PROG) OR CMAKE_SYSTEM_NAME STREQUAL "Windows" OR ANDROID) +if (NOT GIT) + set(CAN_BUILD_NX_TZDB false) +endif() +if (NOT GNU_MAKE) + set(CAN_BUILD_NX_TZDB false) +endif() +if (NOT DATE_PROG) + set(CAN_BUILD_NX_TZDB false) +endif() +if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR ANDROID) # tzdb_to_nx currently requires a posix-compliant host # MinGW and Android are handled here due to the executable format being different from the host system # TODO (lat9nq): cross-compiling support - set(CAN_BUILD_NX_TZDB false) endif() -if (CAN_BUILD_NX_TZDB AND NOT YUZU_DOWNLOAD_TIME_ZONE_DATA) +set(NX_TZDB_VERSION "250725") +set(NX_TZDB_ROMFS_DIR "${CPM_SOURCE_CACHE}/nx_tzdb") + +if ((NOT CAN_BUILD_NX_TZDB OR YUZU_DOWNLOAD_TIME_ZONE_DATA) AND NOT EXISTS ${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}) + message(STATUS "Downloading time zone data...") + AddJsonPackage(tzdb) +elseif (CAN_BUILD_NX_TZDB AND NOT YUZU_DOWNLOAD_TIME_ZONE_DATA) + # TODO(crueter): this sucked to do with cpm, see if i can get it to work again message(FATAL_ERROR "Building tzdb is currently unsupported. Check back later.") add_subdirectory(tzdb_to_nx) add_dependencies(nx_tzdb x80e) - set(NX_TZDB_BASE_DIR "${NX_TZDB_DIR}") - set(NX_TZDB_TZ_DIR "${NX_TZDB_BASE_DIR}/zoneinfo") -endif() - -# TODO(crueter): This is a terrible solution, but MSVC fails to link without it -# Need to investigate further but I still can't reproduce... -if (MSVC) - set(NX_TZDB_VERSION "250725") - set(NX_TZDB_ARCHIVE "${CPM_SOURCE_CACHE}/nx_tzdb/${NX_TZDB_VERSION}.zip") - - set(NX_TZDB_BASE_DIR "${CPM_SOURCE_CACHE}/nx_tzdb/tz") - set(NX_TZDB_TZ_DIR "${NX_TZDB_BASE_DIR}/zoneinfo") - - set(NX_TZDB_DOWNLOAD_URL "https://github.com/crueter/tzdb_to_nx/releases/download/${NX_TZDB_VERSION}/${NX_TZDB_VERSION}.zip") - - message(STATUS "Downloading time zone data from ${NX_TZDB_DOWNLOAD_URL}...") - file(DOWNLOAD ${NX_TZDB_DOWNLOAD_URL} ${NX_TZDB_ARCHIVE} - STATUS NX_TZDB_DOWNLOAD_STATUS) - - list(GET NX_TZDB_DOWNLOAD_STATUS 0 NX_TZDB_DOWNLOAD_STATUS_CODE) - if (NOT NX_TZDB_DOWNLOAD_STATUS_CODE EQUAL 0) - message(FATAL_ERROR "Time zone data download failed (status code ${NX_TZDB_DOWNLOAD_STATUS_CODE})") - endif() - - file(ARCHIVE_EXTRACT - INPUT - ${NX_TZDB_ARCHIVE} - DESTINATION - ${NX_TZDB_BASE_DIR}) -else() - message(STATUS "Downloading time zone data...") - AddJsonPackage(tzdb) - - target_include_directories(nx_tzdb - INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include - INTERFACE ${NX_TZDB_INCLUDE_DIR}) - - set(NX_TZDB_BASE_DIR "${CPM_SOURCE_CACHE}/nx_tzdb") - set(NX_TZDB_TZ_DIR "${nx_tzdb_SOURCE_DIR}") + set(NX_TZDB_ROMFS_DIR "${NX_TZDB_DIR}") endif() target_include_directories(nx_tzdb @@ -94,25 +68,25 @@ function(CreateHeader ZONE_PATH HEADER_NAME) target_sources(nx_tzdb PRIVATE ${HEADER_PATH}) endfunction() -CreateHeader(${NX_TZDB_BASE_DIR} base) -CreateHeader(${NX_TZDB_TZ_DIR} zoneinfo) -CreateHeader(${NX_TZDB_TZ_DIR}/Africa africa) -CreateHeader(${NX_TZDB_TZ_DIR}/America america) -CreateHeader(${NX_TZDB_TZ_DIR}/America/Argentina america_argentina) -CreateHeader(${NX_TZDB_TZ_DIR}/America/Indiana america_indiana) -CreateHeader(${NX_TZDB_TZ_DIR}/America/Kentucky america_kentucky) -CreateHeader(${NX_TZDB_TZ_DIR}/America/North_Dakota america_north_dakota) -CreateHeader(${NX_TZDB_TZ_DIR}/Antarctica antarctica) -CreateHeader(${NX_TZDB_TZ_DIR}/Arctic arctic) -CreateHeader(${NX_TZDB_TZ_DIR}/Asia asia) -CreateHeader(${NX_TZDB_TZ_DIR}/Atlantic atlantic) -CreateHeader(${NX_TZDB_TZ_DIR}/Australia australia) -CreateHeader(${NX_TZDB_TZ_DIR}/Brazil brazil) -CreateHeader(${NX_TZDB_TZ_DIR}/Canada canada) -CreateHeader(${NX_TZDB_TZ_DIR}/Chile chile) -CreateHeader(${NX_TZDB_TZ_DIR}/Etc etc) -CreateHeader(${NX_TZDB_TZ_DIR}/Europe europe) -CreateHeader(${NX_TZDB_TZ_DIR}/Indian indian) -CreateHeader(${NX_TZDB_TZ_DIR}/Mexico mexico) -CreateHeader(${NX_TZDB_TZ_DIR}/Pacific pacific) -CreateHeader(${NX_TZDB_TZ_DIR}/US us) +CreateHeader(${NX_TZDB_ROMFS_DIR} base) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION} zoneinfo) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Africa africa) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/America america) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/America/Argentina america_argentina) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/America/Indiana america_indiana) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/America/Kentucky america_kentucky) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/America/North_Dakota america_north_dakota) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Antarctica antarctica) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Arctic arctic) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Asia asia) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Atlantic atlantic) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Australia australia) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Brazil brazil) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Canada canada) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Chile chile) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Etc etc) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Europe europe) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Indian indian) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Mexico mexico) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/Pacific pacific) +CreateHeader(${NX_TZDB_ROMFS_DIR}/${NX_TZDB_VERSION}/US us) diff --git a/src/common/ring_buffer.h b/src/common/ring_buffer.h index 86de96b43e..14f6eceeb8 100644 --- a/src/common/ring_buffer.h +++ b/src/common/ring_buffer.h @@ -15,7 +15,6 @@ #include #include #include -#include namespace Common {