diff options
| -rw-r--r-- | CMakeLists.txt | 42 | ||||
| -rw-r--r-- | src/android/app/build.gradle.kts | 16 | ||||
| -rw-r--r-- | src/android/app/src/main/AndroidManifest.xml | 1 | ||||
| -rw-r--r-- | src/android/build.gradle.kts | 4 |
4 files changed, 11 insertions, 52 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bef9d6ed..1108e5ae6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -11,7 +11,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modul | |||
| 11 | include(DownloadExternals) | 11 | include(DownloadExternals) |
| 12 | include(CMakeDependentOption) | 12 | include(CMakeDependentOption) |
| 13 | include(CTest) | 13 | include(CTest) |
| 14 | include(FetchContent) | ||
| 15 | 14 | ||
| 16 | # Set bundled sdl2/qt as dependent options. | 15 | # Set bundled sdl2/qt as dependent options. |
| 17 | # OFF by default, but if ENABLE_SDL2 and MSVC are true then ON | 16 | # OFF by default, but if ENABLE_SDL2 and MSVC are true then ON |
| @@ -99,47 +98,8 @@ if (ANDROID AND YUZU_DOWNLOAD_ANDROID_VVL) | |||
| 99 | DESTINATION "${vvl_lib_path}") | 98 | DESTINATION "${vvl_lib_path}") |
| 100 | endif() | 99 | endif() |
| 101 | 100 | ||
| 102 | # On Android, fetch and compile libcxx before doing anything else | ||
| 103 | if (ANDROID) | 101 | if (ANDROID) |
| 104 | set(CMAKE_SKIP_INSTALL_RULES ON) | 102 | set(CMAKE_SKIP_INSTALL_RULES ON) |
| 105 | set(LLVM_VERSION "15.0.6") | ||
| 106 | |||
| 107 | # Note: even though libcxx and libcxxabi have separate releases on the project page, | ||
| 108 | # the separated releases cannot be compiled. Only in-tree builds work. Therefore we | ||
| 109 | # must fetch the source release for the entire llvm tree. | ||
| 110 | FetchContent_Declare(llvm | ||
| 111 | URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz" | ||
| 112 | URL_HASH SHA256=9d53ad04dc60cb7b30e810faf64c5ab8157dadef46c8766f67f286238256ff92 | ||
| 113 | TLS_VERIFY TRUE | ||
| 114 | ) | ||
| 115 | FetchContent_MakeAvailable(llvm) | ||
| 116 | |||
| 117 | # libcxx has support for most of the range library, but it's gated behind a flag: | ||
| 118 | add_compile_definitions(_LIBCPP_ENABLE_EXPERIMENTAL) | ||
| 119 | |||
| 120 | # Disable standard header inclusion | ||
| 121 | set(ANDROID_STL "none") | ||
| 122 | |||
| 123 | # libcxxabi | ||
| 124 | set(LIBCXXABI_INCLUDE_TESTS OFF) | ||
| 125 | set(LIBCXXABI_ENABLE_SHARED FALSE) | ||
| 126 | set(LIBCXXABI_ENABLE_STATIC TRUE) | ||
| 127 | set(LIBCXXABI_LIBCXX_INCLUDES "${LIBCXX_TARGET_INCLUDE_DIRECTORY}" CACHE STRING "" FORCE) | ||
| 128 | add_subdirectory("${llvm_SOURCE_DIR}/libcxxabi" "${llvm_BINARY_DIR}/libcxxabi") | ||
| 129 | link_libraries(cxxabi_static) | ||
| 130 | |||
| 131 | # libcxx | ||
| 132 | set(LIBCXX_ABI_NAMESPACE "__ndk1" CACHE STRING "" FORCE) | ||
| 133 | set(LIBCXX_CXX_ABI "libcxxabi") | ||
| 134 | set(LIBCXX_INCLUDE_TESTS OFF) | ||
| 135 | set(LIBCXX_INCLUDE_BENCHMARKS OFF) | ||
| 136 | set(LIBCXX_INCLUDE_DOCS OFF) | ||
| 137 | set(LIBCXX_ENABLE_SHARED FALSE) | ||
| 138 | set(LIBCXX_ENABLE_STATIC TRUE) | ||
| 139 | set(LIBCXX_ENABLE_ASSERTIONS FALSE) | ||
| 140 | add_subdirectory("${llvm_SOURCE_DIR}/libcxx" "${llvm_BINARY_DIR}/libcxx") | ||
| 141 | set_target_properties(cxx-headers PROPERTIES INTERFACE_COMPILE_OPTIONS "-isystem${CMAKE_BINARY_DIR}/${LIBCXX_INSTALL_INCLUDE_DIR}") | ||
| 142 | link_libraries(cxx_static cxx-headers) | ||
| 143 | endif() | 103 | endif() |
| 144 | 104 | ||
| 145 | if (YUZU_USE_BUNDLED_VCPKG) | 105 | if (YUZU_USE_BUNDLED_VCPKG) |
| @@ -329,7 +289,7 @@ find_package(Boost 1.79.0 REQUIRED context) | |||
| 329 | find_package(enet 1.3 MODULE) | 289 | find_package(enet 1.3 MODULE) |
| 330 | find_package(fmt 9 REQUIRED) | 290 | find_package(fmt 9 REQUIRED) |
| 331 | find_package(inih 52 MODULE COMPONENTS INIReader) | 291 | find_package(inih 52 MODULE COMPONENTS INIReader) |
| 332 | find_package(LLVM 17 MODULE COMPONENTS Demangle) | 292 | find_package(LLVM 17.0.2 MODULE COMPONENTS Demangle) |
| 333 | find_package(lz4 REQUIRED) | 293 | find_package(lz4 REQUIRED) |
| 334 | find_package(nlohmann_json 3.8 REQUIRED) | 294 | find_package(nlohmann_json 3.8 REQUIRED) |
| 335 | find_package(Opus 1.3 MODULE) | 295 | find_package(Opus 1.3 MODULE) |
diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 84a3308b7..ac43d84b7 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts | |||
| @@ -27,7 +27,7 @@ android { | |||
| 27 | namespace = "org.yuzu.yuzu_emu" | 27 | namespace = "org.yuzu.yuzu_emu" |
| 28 | 28 | ||
| 29 | compileSdkVersion = "android-34" | 29 | compileSdkVersion = "android-34" |
| 30 | ndkVersion = "25.2.9519653" | 30 | ndkVersion = "26.1.10909125" |
| 31 | 31 | ||
| 32 | buildFeatures { | 32 | buildFeatures { |
| 33 | viewBinding = true | 33 | viewBinding = true |
| @@ -203,23 +203,23 @@ ktlint { | |||
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | dependencies { | 205 | dependencies { |
| 206 | implementation("androidx.core:core-ktx:1.10.1") | 206 | implementation("androidx.core:core-ktx:1.12.0") |
| 207 | implementation("androidx.appcompat:appcompat:1.6.1") | 207 | implementation("androidx.appcompat:appcompat:1.6.1") |
| 208 | implementation("androidx.recyclerview:recyclerview:1.3.0") | 208 | implementation("androidx.recyclerview:recyclerview:1.3.1") |
| 209 | implementation("androidx.constraintlayout:constraintlayout:2.1.4") | 209 | implementation("androidx.constraintlayout:constraintlayout:2.1.4") |
| 210 | implementation("androidx.fragment:fragment-ktx:1.6.0") | 210 | implementation("androidx.fragment:fragment-ktx:1.6.1") |
| 211 | implementation("androidx.documentfile:documentfile:1.0.1") | 211 | implementation("androidx.documentfile:documentfile:1.0.1") |
| 212 | implementation("com.google.android.material:material:1.9.0") | 212 | implementation("com.google.android.material:material:1.9.0") |
| 213 | implementation("androidx.preference:preference:1.2.0") | 213 | implementation("androidx.preference:preference-ktx:1.2.1") |
| 214 | implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1") | 214 | implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2") |
| 215 | implementation("io.coil-kt:coil:2.2.2") | 215 | implementation("io.coil-kt:coil:2.2.2") |
| 216 | implementation("androidx.core:core-splashscreen:1.0.1") | 216 | implementation("androidx.core:core-splashscreen:1.0.1") |
| 217 | implementation("androidx.window:window:1.2.0-beta03") | 217 | implementation("androidx.window:window:1.2.0-beta03") |
| 218 | implementation("org.ini4j:ini4j:0.5.4") | 218 | implementation("org.ini4j:ini4j:0.5.4") |
| 219 | implementation("androidx.constraintlayout:constraintlayout:2.1.4") | 219 | implementation("androidx.constraintlayout:constraintlayout:2.1.4") |
| 220 | implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") | 220 | implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") |
| 221 | implementation("androidx.navigation:navigation-fragment-ktx:2.6.0") | 221 | implementation("androidx.navigation:navigation-fragment-ktx:2.7.4") |
| 222 | implementation("androidx.navigation:navigation-ui-ktx:2.6.0") | 222 | implementation("androidx.navigation:navigation-ui-ktx:2.7.4") |
| 223 | implementation("info.debatty:java-string-similarity:2.0.0") | 223 | implementation("info.debatty:java-string-similarity:2.0.0") |
| 224 | implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") | 224 | implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") |
| 225 | } | 225 | } |
diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml index 832c08e15..a67351727 100644 --- a/src/android/app/src/main/AndroidManifest.xml +++ b/src/android/app/src/main/AndroidManifest.xml | |||
| @@ -28,7 +28,6 @@ SPDX-License-Identifier: GPL-3.0-or-later | |||
| 28 | android:appCategory="game" | 28 | android:appCategory="game" |
| 29 | android:localeConfig="@xml/locales_config" | 29 | android:localeConfig="@xml/locales_config" |
| 30 | android:banner="@drawable/tv_banner" | 30 | android:banner="@drawable/tv_banner" |
| 31 | android:extractNativeLibs="true" | ||
| 32 | android:fullBackupContent="@xml/data_extraction_rules" | 31 | android:fullBackupContent="@xml/data_extraction_rules" |
| 33 | android:dataExtractionRules="@xml/data_extraction_rules_api_31" | 32 | android:dataExtractionRules="@xml/data_extraction_rules_api_31" |
| 34 | android:enableOnBackInvokedCallback="true"> | 33 | android:enableOnBackInvokedCallback="true"> |
diff --git a/src/android/build.gradle.kts b/src/android/build.gradle.kts index 80f370c16..51e559321 100644 --- a/src/android/build.gradle.kts +++ b/src/android/build.gradle.kts | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | 3 | ||
| 4 | // Top-level build file where you can add configuration options common to all sub-projects/modules. | 4 | // Top-level build file where you can add configuration options common to all sub-projects/modules. |
| 5 | plugins { | 5 | plugins { |
| 6 | id("com.android.application") version "8.0.2" apply false | 6 | id("com.android.application") version "8.1.2" apply false |
| 7 | id("com.android.library") version "8.0.2" apply false | 7 | id("com.android.library") version "8.1.2" apply false |
| 8 | id("org.jetbrains.kotlin.android") version "1.8.21" apply false | 8 | id("org.jetbrains.kotlin.android") version "1.8.21" apply false |
| 9 | } | 9 | } |
| 10 | 10 | ||