summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--externals/nx_tzdb/CMakeLists.txt37
1 files changed, 30 insertions, 7 deletions
diff --git a/externals/nx_tzdb/CMakeLists.txt b/externals/nx_tzdb/CMakeLists.txt
index 119ffe8d6..d7e69a2ef 100644
--- a/externals/nx_tzdb/CMakeLists.txt
+++ b/externals/nx_tzdb/CMakeLists.txt
@@ -1,24 +1,47 @@
1# SPDX-FileCopyrightText: 2023 yuzu Emulator Project 1# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2# SPDX-License-Identifier: GPL-2.0-or-later 2# SPDX-License-Identifier: GPL-2.0-or-later
3 3
4set(NX_TZDB_VERSION "220816") 4set(NX_TZDB_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/include")
5set(NX_TZDB_DOWNLOAD_URL "https://github.com/lat9nq/tzdb_to_nx/releases/download/${NX_TZDB_VERSION}/${NX_TZDB_VERSION}.zip")
6 5
7set(NX_TZDB_ARCHIVE "${CMAKE_CURRENT_BINARY_DIR}/${NX_TZDB_VERSION}.zip") 6add_library(nx_tzdb INTERFACE)
8set(NX_TZDB_DIR "${CMAKE_CURRENT_BINARY_DIR}/nx_tzdb")
9 7
10set(NX_TZDB_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/include") 8find_program(GIT git)
9find_program(GNU_MAKE make)
10find_program(GNU_DATE date)
11
12set(CAN_BUILD_NX_TZDB true)
13
14if ("${GIT}" STREQUAL "GIT-NOTFOUND")
15 message("git program not found")
16 set(CAN_BUILD_NX_TZDB false)
17endif()
18if ("${GNU_MAKE}" STREQUAL "GNU_MAKE-NOTFOUND")
19 message("GNU make program not found")
20 set(CAN_BUILD_NX_TZDB false)
21endif()
22if ("${GNU_DATE}" STREQUAL "GNU_DATE-NOTFOUND")
23 message("GNU date program not found")
24 set(CAN_BUILD_NX_TZDB false)
25endif()
26
27if (NOT ${CAN_BUILD_NX_TZDB} AND NOT EXISTS ${NX_TZDB_ARCHIVE})
28 set(NX_TZDB_VERSION "220816")
29 set(NX_TZDB_DOWNLOAD_URL "https://github.com/lat9nq/tzdb_to_nx/releases/download/${NX_TZDB_VERSION}/${NX_TZDB_VERSION}.zip")
30
31 set(NX_TZDB_ARCHIVE "${CMAKE_CURRENT_BINARY_DIR}/${NX_TZDB_VERSION}.zip")
32 set(NX_TZDB_DIR "${CMAKE_CURRENT_BINARY_DIR}/nx_tzdb" CACHE PATH "Path to Switch-style time zone data")
11 33
12if (NOT EXISTS ${NX_TZDB_ARCHIVE})
13 file(DOWNLOAD ${NX_TZDB_DOWNLOAD_URL} ${NX_TZDB_ARCHIVE}) 34 file(DOWNLOAD ${NX_TZDB_DOWNLOAD_URL} ${NX_TZDB_ARCHIVE})
14 file(ARCHIVE_EXTRACT 35 file(ARCHIVE_EXTRACT
15 INPUT 36 INPUT
16 ${NX_TZDB_ARCHIVE} 37 ${NX_TZDB_ARCHIVE}
17 DESTINATION 38 DESTINATION
18 ${NX_TZDB_DIR}) 39 ${NX_TZDB_DIR})
40elseif (${CAN_BUILD_NX_TZDB})
41 add_subdirectory(tzdb_to_nx)
42 add_dependencies(nx_tzdb x80e)
19endif() 43endif()
20 44
21add_library(nx_tzdb INTERFACE)
22target_include_directories(nx_tzdb 45target_include_directories(nx_tzdb
23 INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include 46 INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include
24 INTERFACE ${NX_TZDB_INCLUDE_DIR}) 47 INTERFACE ${NX_TZDB_INCLUDE_DIR})