diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c537f0f4..3da6a9df5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,14 +70,13 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: + cache-encryption-key: ${{ secrets.GradleEncryptionKey }} gradle-home-cache-cleanup: true - name: CMake Cache uses: actions/cache@v4 with: - path: | - app/.cxx - app/src/main/cpp/nettle/nettle + path: app/.cxx key: cmake-default-${{ hashFiles('gradle/libs.versions.toml', 'app/build.gradle.kts', 'app/src/main/cpp/CMakeLists.txt') }} restore-keys: cmake-default- @@ -148,14 +147,13 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: + cache-encryption-key: ${{ secrets.GradleEncryptionKey }} gradle-home-cache-cleanup: true - name: CMake Cache uses: actions/cache/restore@v4 with: - path: | - app/.cxx - app/src/main/cpp/nettle/nettle + path: app/.cxx key: cmake-default-${{ hashFiles('gradle/libs.versions.toml', 'app/build.gradle.kts', 'app/src/main/cpp/CMakeLists.txt') }} restore-keys: cmake-default- @@ -226,14 +224,13 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: + cache-encryption-key: ${{ secrets.GradleEncryptionKey }} gradle-home-cache-cleanup: true - name: CMake Cache uses: actions/cache@v4 with: - path: | - app/.cxx - app/src/main/cpp/nettle/nettle + path: app/.cxx key: cmake-marshmallow-${{ hashFiles('gradle/libs.versions.toml', 'app/build.gradle.kts', 'app/src/main/cpp/CMakeLists.txt') }} restore-keys: cmake-marshmallow- @@ -304,14 +301,13 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: + cache-encryption-key: ${{ secrets.GradleEncryptionKey }} gradle-home-cache-cleanup: true - name: CMake Cache uses: actions/cache/restore@v4 with: - path: | - app/.cxx - app/src/main/cpp/nettle/nettle + path: app/.cxx key: cmake-marshmallow-${{ hashFiles('gradle/libs.versions.toml', 'app/build.gradle.kts', 'app/src/main/cpp/CMakeLists.txt') }} restore-keys: cmake-marshmallow- diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index c20e62599..8fb760909 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -16,10 +16,6 @@ if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") -mllvm -polly-invariant-load-hoisting") endif (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") -# Change the default path of fetch content to avoid downloading the same dependencies per architecture -get_filename_component(deps "../_deps" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -set(FETCHCONTENT_BASE_DIR ${deps}) - option(BUILD_TESTING OFF) FetchContent_Declare( @@ -36,14 +32,15 @@ FetchContent_Declare( nettle URL https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz URL_MD5 29fcd2dec6bf5b48e5e3ffb3cbc4779e - SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/nettle/nettle + SOURCE_DIR nettle-src/nettle ) FetchContent_MakeAvailable(nettle) +set(NETTLE_DIR ${nettle_SOURCE_DIR}) add_subdirectory(nettle) # Configure libnettle support for libarchive -include_directories(nettle) +include_directories(${CMAKE_CURRENT_BINARY_DIR}/nettle-src) include_directories(.) set(HAVE_LIBNETTLE 1) set(HAVE_NETTLE_AES_H 1) diff --git a/app/src/main/cpp/nettle/.gitignore b/app/src/main/cpp/nettle/.gitignore deleted file mode 100644 index 62edb50a4..000000000 --- a/app/src/main/cpp/nettle/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/nettle \ No newline at end of file diff --git a/app/src/main/cpp/nettle/CMakeLists.txt b/app/src/main/cpp/nettle/CMakeLists.txt index ef44eff96..16d569cf5 100644 --- a/app/src/main/cpp/nettle/CMakeLists.txt +++ b/app/src/main/cpp/nettle/CMakeLists.txt @@ -5,232 +5,232 @@ set(LIBNETTLE_DEFINITIONS -DHAVE_CONFIG_H) set(LIBNETTLE_SOURCES - nettle/aes-decrypt-internal.c - nettle/aes-decrypt.c - nettle/aes-decrypt-table.c - nettle/aes128-decrypt.c - nettle/aes192-decrypt.c - nettle/aes256-decrypt.c - nettle/aes-encrypt-internal.c - nettle/aes-encrypt.c - nettle/aes-encrypt-table.c - nettle/aes128-encrypt.c - nettle/aes192-encrypt.c - nettle/aes256-encrypt.c - nettle/aes-invert-internal.c - nettle/aes-set-key-internal.c - nettle/aes-set-encrypt-key.c - nettle/aes-set-decrypt-key.c - nettle/aes128-set-encrypt-key.c - nettle/aes128-set-decrypt-key.c - nettle/aes128-meta.c - nettle/aes192-set-encrypt-key.c - nettle/aes192-set-decrypt-key.c - nettle/aes192-meta.c - nettle/aes256-set-encrypt-key.c - nettle/aes256-set-decrypt-key.c - nettle/aes256-meta.c - nettle/nist-keywrap.c - nettle/arcfour.c - nettle/arctwo.c - nettle/arctwo-meta.c - nettle/blowfish.c - nettle/blowfish-bcrypt.c - nettle/base16-encode.c - nettle/base16-decode.c - nettle/base16-meta.c - nettle/base64-encode.c - nettle/base64-decode.c - nettle/base64-meta.c - nettle/base64url-encode.c - nettle/base64url-decode.c - nettle/base64url-meta.c - nettle/buffer.c - nettle/buffer-init.c - nettle/camellia-crypt-internal.c - nettle/camellia-table.c - nettle/camellia-absorb.c - nettle/camellia-invert-key.c - nettle/camellia128-set-encrypt-key.c - nettle/camellia128-crypt.c - nettle/camellia128-set-decrypt-key.c - nettle/camellia128-meta.c - nettle/camellia192-meta.c - nettle/camellia256-set-encrypt-key.c - nettle/camellia256-crypt.c - nettle/camellia256-set-decrypt-key.c - nettle/camellia256-meta.c - nettle/cast128.c - nettle/cast128-meta.c - nettle/cbc.c - nettle/cbc-aes128-encrypt.c - nettle/cbc-aes192-encrypt.c - nettle/cbc-aes256-encrypt.c - nettle/ccm.c - nettle/ccm-aes128.c - nettle/ccm-aes192.c - nettle/ccm-aes256.c - nettle/cfb.c - nettle/siv-cmac.c - nettle/siv-cmac-aes128.c - nettle/siv-cmac-aes256.c - nettle/cnd-memcpy.c - nettle/chacha-crypt.c - nettle/chacha-core-internal.c - nettle/chacha-poly1305.c - nettle/chacha-poly1305-meta.c - nettle/chacha-set-key.c - nettle/chacha-set-nonce.c - nettle/ctr.c - nettle/ctr16.c - nettle/des.c - nettle/des3.c - nettle/eax.c - nettle/eax-aes128.c - nettle/eax-aes128-meta.c - nettle/ghash-set-key.c - nettle/ghash-update.c - nettle/gcm.c - nettle/gcm-aes.c - nettle/gcm-aes128.c - nettle/gcm-aes128-meta.c - nettle/gcm-aes192.c - nettle/gcm-aes192-meta.c - nettle/gcm-aes256.c - nettle/gcm-aes256-meta.c - nettle/gcm-camellia128.c - nettle/gcm-camellia128-meta.c - nettle/gcm-camellia256.c - nettle/gcm-camellia256-meta.c - nettle/cmac.c - nettle/cmac64.c - nettle/cmac-aes128.c - nettle/cmac-aes256.c - nettle/cmac-des3.c - nettle/cmac-aes128-meta.c - nettle/cmac-aes256-meta.c - nettle/cmac-des3-meta.c - nettle/gost28147.c - nettle/gosthash94.c - nettle/gosthash94-meta.c - nettle/hmac.c - nettle/hmac-gosthash94.c - nettle/hmac-md5.c - nettle/hmac-ripemd160.c - nettle/hmac-sha1.c - nettle/hmac-sha224.c - nettle/hmac-sha256.c - nettle/hmac-sha384.c - nettle/hmac-sha512.c - nettle/hmac-streebog.c - nettle/hmac-sm3.c - nettle/hmac-md5-meta.c - nettle/hmac-ripemd160-meta.c - nettle/hmac-sha1-meta.c - nettle/hmac-sha224-meta.c - nettle/hmac-sha256-meta.c - nettle/hmac-sha384-meta.c - nettle/hmac-sha512-meta.c - nettle/hmac-streebog-meta.c - nettle/hmac-sm3-meta.c - nettle/knuth-lfib.c - nettle/hkdf.c - nettle/md2.c - nettle/md2-meta.c - nettle/md4.c - nettle/md4-meta.c - nettle/md5.c - nettle/md5-compress.c - nettle/md5-compat.c - nettle/md5-meta.c - nettle/memeql-sec.c - nettle/memxor.c - nettle/memxor3.c - nettle/nettle-lookup-hash.c - nettle/nettle-meta-aeads.c - nettle/nettle-meta-armors.c - nettle/nettle-meta-ciphers.c - nettle/nettle-meta-hashes.c - nettle/nettle-meta-macs.c - nettle/pbkdf2.c - nettle/pbkdf2-hmac-gosthash94.c - nettle/pbkdf2-hmac-sha1.c - nettle/pbkdf2-hmac-sha256.c - nettle/pbkdf2-hmac-sha384.c - nettle/pbkdf2-hmac-sha512.c - nettle/poly1305-aes.c - nettle/poly1305-internal.c - nettle/realloc.c - nettle/ripemd160.c - nettle/ripemd160-compress.c - nettle/ripemd160-meta.c - nettle/salsa20-core-internal.c - nettle/salsa20-crypt-internal.c - nettle/salsa20-crypt.c - nettle/salsa20r12-crypt.c - nettle/salsa20-set-key.c - nettle/salsa20-set-nonce.c - nettle/salsa20-128-set-key.c - nettle/salsa20-256-set-key.c - nettle/sha1.c - nettle/sha1-compress.c - nettle/sha1-meta.c - nettle/sha256.c - nettle/sha256-compress-n.c - nettle/sha224-meta.c - nettle/sha256-meta.c - nettle/sha512.c - nettle/sha512-compress.c - nettle/sha384-meta.c - nettle/sha512-meta.c - nettle/sha512-224-meta.c - nettle/sha512-256-meta.c - nettle/sha3.c - nettle/sha3-permute.c - nettle/sha3-224.c - nettle/sha3-224-meta.c - nettle/sha3-256.c - nettle/sha3-256-meta.c - nettle/sha3-384.c - nettle/sha3-384-meta.c - nettle/sha3-512.c - nettle/sha3-512-meta.c - nettle/shake256.c - nettle/sm3.c - nettle/sm3-meta.c - nettle/serpent-set-key.c - nettle/serpent-encrypt.c - nettle/serpent-decrypt.c - nettle/serpent-meta.c - nettle/streebog.c - nettle/streebog-meta.c - nettle/twofish.c - nettle/twofish-meta.c - nettle/umac-nh.c - nettle/umac-nh-n.c - nettle/umac-l2.c - nettle/umac-l3.c - nettle/umac-poly64.c - nettle/umac-poly128.c - nettle/umac-set-key.c - nettle/umac32.c - nettle/umac64.c - nettle/umac96.c - nettle/umac128.c - nettle/version.c - nettle/write-be32.c - nettle/write-le32.c - nettle/write-le64.c - nettle/yarrow256.c - nettle/yarrow_key_event.c - nettle/xts.c - nettle/xts-aes128.c - nettle/xts-aes256.c + ${NETTLE_DIR}/aes-decrypt-internal.c + ${NETTLE_DIR}/aes-decrypt.c + ${NETTLE_DIR}/aes-decrypt-table.c + ${NETTLE_DIR}/aes128-decrypt.c + ${NETTLE_DIR}/aes192-decrypt.c + ${NETTLE_DIR}/aes256-decrypt.c + ${NETTLE_DIR}/aes-encrypt-internal.c + ${NETTLE_DIR}/aes-encrypt.c + ${NETTLE_DIR}/aes-encrypt-table.c + ${NETTLE_DIR}/aes128-encrypt.c + ${NETTLE_DIR}/aes192-encrypt.c + ${NETTLE_DIR}/aes256-encrypt.c + ${NETTLE_DIR}/aes-invert-internal.c + ${NETTLE_DIR}/aes-set-key-internal.c + ${NETTLE_DIR}/aes-set-encrypt-key.c + ${NETTLE_DIR}/aes-set-decrypt-key.c + ${NETTLE_DIR}/aes128-set-encrypt-key.c + ${NETTLE_DIR}/aes128-set-decrypt-key.c + ${NETTLE_DIR}/aes128-meta.c + ${NETTLE_DIR}/aes192-set-encrypt-key.c + ${NETTLE_DIR}/aes192-set-decrypt-key.c + ${NETTLE_DIR}/aes192-meta.c + ${NETTLE_DIR}/aes256-set-encrypt-key.c + ${NETTLE_DIR}/aes256-set-decrypt-key.c + ${NETTLE_DIR}/aes256-meta.c + ${NETTLE_DIR}/nist-keywrap.c + ${NETTLE_DIR}/arcfour.c + ${NETTLE_DIR}/arctwo.c + ${NETTLE_DIR}/arctwo-meta.c + ${NETTLE_DIR}/blowfish.c + ${NETTLE_DIR}/blowfish-bcrypt.c + ${NETTLE_DIR}/base16-encode.c + ${NETTLE_DIR}/base16-decode.c + ${NETTLE_DIR}/base16-meta.c + ${NETTLE_DIR}/base64-encode.c + ${NETTLE_DIR}/base64-decode.c + ${NETTLE_DIR}/base64-meta.c + ${NETTLE_DIR}/base64url-encode.c + ${NETTLE_DIR}/base64url-decode.c + ${NETTLE_DIR}/base64url-meta.c + ${NETTLE_DIR}/buffer.c + ${NETTLE_DIR}/buffer-init.c + ${NETTLE_DIR}/camellia-crypt-internal.c + ${NETTLE_DIR}/camellia-table.c + ${NETTLE_DIR}/camellia-absorb.c + ${NETTLE_DIR}/camellia-invert-key.c + ${NETTLE_DIR}/camellia128-set-encrypt-key.c + ${NETTLE_DIR}/camellia128-crypt.c + ${NETTLE_DIR}/camellia128-set-decrypt-key.c + ${NETTLE_DIR}/camellia128-meta.c + ${NETTLE_DIR}/camellia192-meta.c + ${NETTLE_DIR}/camellia256-set-encrypt-key.c + ${NETTLE_DIR}/camellia256-crypt.c + ${NETTLE_DIR}/camellia256-set-decrypt-key.c + ${NETTLE_DIR}/camellia256-meta.c + ${NETTLE_DIR}/cast128.c + ${NETTLE_DIR}/cast128-meta.c + ${NETTLE_DIR}/cbc.c + ${NETTLE_DIR}/cbc-aes128-encrypt.c + ${NETTLE_DIR}/cbc-aes192-encrypt.c + ${NETTLE_DIR}/cbc-aes256-encrypt.c + ${NETTLE_DIR}/ccm.c + ${NETTLE_DIR}/ccm-aes128.c + ${NETTLE_DIR}/ccm-aes192.c + ${NETTLE_DIR}/ccm-aes256.c + ${NETTLE_DIR}/cfb.c + ${NETTLE_DIR}/siv-cmac.c + ${NETTLE_DIR}/siv-cmac-aes128.c + ${NETTLE_DIR}/siv-cmac-aes256.c + ${NETTLE_DIR}/cnd-memcpy.c + ${NETTLE_DIR}/chacha-crypt.c + ${NETTLE_DIR}/chacha-core-internal.c + ${NETTLE_DIR}/chacha-poly1305.c + ${NETTLE_DIR}/chacha-poly1305-meta.c + ${NETTLE_DIR}/chacha-set-key.c + ${NETTLE_DIR}/chacha-set-nonce.c + ${NETTLE_DIR}/ctr.c + ${NETTLE_DIR}/ctr16.c + ${NETTLE_DIR}/des.c + ${NETTLE_DIR}/des3.c + ${NETTLE_DIR}/eax.c + ${NETTLE_DIR}/eax-aes128.c + ${NETTLE_DIR}/eax-aes128-meta.c + ${NETTLE_DIR}/ghash-set-key.c + ${NETTLE_DIR}/ghash-update.c + ${NETTLE_DIR}/gcm.c + ${NETTLE_DIR}/gcm-aes.c + ${NETTLE_DIR}/gcm-aes128.c + ${NETTLE_DIR}/gcm-aes128-meta.c + ${NETTLE_DIR}/gcm-aes192.c + ${NETTLE_DIR}/gcm-aes192-meta.c + ${NETTLE_DIR}/gcm-aes256.c + ${NETTLE_DIR}/gcm-aes256-meta.c + ${NETTLE_DIR}/gcm-camellia128.c + ${NETTLE_DIR}/gcm-camellia128-meta.c + ${NETTLE_DIR}/gcm-camellia256.c + ${NETTLE_DIR}/gcm-camellia256-meta.c + ${NETTLE_DIR}/cmac.c + ${NETTLE_DIR}/cmac64.c + ${NETTLE_DIR}/cmac-aes128.c + ${NETTLE_DIR}/cmac-aes256.c + ${NETTLE_DIR}/cmac-des3.c + ${NETTLE_DIR}/cmac-aes128-meta.c + ${NETTLE_DIR}/cmac-aes256-meta.c + ${NETTLE_DIR}/cmac-des3-meta.c + ${NETTLE_DIR}/gost28147.c + ${NETTLE_DIR}/gosthash94.c + ${NETTLE_DIR}/gosthash94-meta.c + ${NETTLE_DIR}/hmac.c + ${NETTLE_DIR}/hmac-gosthash94.c + ${NETTLE_DIR}/hmac-md5.c + ${NETTLE_DIR}/hmac-ripemd160.c + ${NETTLE_DIR}/hmac-sha1.c + ${NETTLE_DIR}/hmac-sha224.c + ${NETTLE_DIR}/hmac-sha256.c + ${NETTLE_DIR}/hmac-sha384.c + ${NETTLE_DIR}/hmac-sha512.c + ${NETTLE_DIR}/hmac-streebog.c + ${NETTLE_DIR}/hmac-sm3.c + ${NETTLE_DIR}/hmac-md5-meta.c + ${NETTLE_DIR}/hmac-ripemd160-meta.c + ${NETTLE_DIR}/hmac-sha1-meta.c + ${NETTLE_DIR}/hmac-sha224-meta.c + ${NETTLE_DIR}/hmac-sha256-meta.c + ${NETTLE_DIR}/hmac-sha384-meta.c + ${NETTLE_DIR}/hmac-sha512-meta.c + ${NETTLE_DIR}/hmac-streebog-meta.c + ${NETTLE_DIR}/hmac-sm3-meta.c + ${NETTLE_DIR}/knuth-lfib.c + ${NETTLE_DIR}/hkdf.c + ${NETTLE_DIR}/md2.c + ${NETTLE_DIR}/md2-meta.c + ${NETTLE_DIR}/md4.c + ${NETTLE_DIR}/md4-meta.c + ${NETTLE_DIR}/md5.c + ${NETTLE_DIR}/md5-compress.c + ${NETTLE_DIR}/md5-compat.c + ${NETTLE_DIR}/md5-meta.c + ${NETTLE_DIR}/memeql-sec.c + ${NETTLE_DIR}/memxor.c + ${NETTLE_DIR}/memxor3.c + ${NETTLE_DIR}/nettle-lookup-hash.c + ${NETTLE_DIR}/nettle-meta-aeads.c + ${NETTLE_DIR}/nettle-meta-armors.c + ${NETTLE_DIR}/nettle-meta-ciphers.c + ${NETTLE_DIR}/nettle-meta-hashes.c + ${NETTLE_DIR}/nettle-meta-macs.c + ${NETTLE_DIR}/pbkdf2.c + ${NETTLE_DIR}/pbkdf2-hmac-gosthash94.c + ${NETTLE_DIR}/pbkdf2-hmac-sha1.c + ${NETTLE_DIR}/pbkdf2-hmac-sha256.c + ${NETTLE_DIR}/pbkdf2-hmac-sha384.c + ${NETTLE_DIR}/pbkdf2-hmac-sha512.c + ${NETTLE_DIR}/poly1305-aes.c + ${NETTLE_DIR}/poly1305-internal.c + ${NETTLE_DIR}/realloc.c + ${NETTLE_DIR}/ripemd160.c + ${NETTLE_DIR}/ripemd160-compress.c + ${NETTLE_DIR}/ripemd160-meta.c + ${NETTLE_DIR}/salsa20-core-internal.c + ${NETTLE_DIR}/salsa20-crypt-internal.c + ${NETTLE_DIR}/salsa20-crypt.c + ${NETTLE_DIR}/salsa20r12-crypt.c + ${NETTLE_DIR}/salsa20-set-key.c + ${NETTLE_DIR}/salsa20-set-nonce.c + ${NETTLE_DIR}/salsa20-128-set-key.c + ${NETTLE_DIR}/salsa20-256-set-key.c + ${NETTLE_DIR}/sha1.c + ${NETTLE_DIR}/sha1-compress.c + ${NETTLE_DIR}/sha1-meta.c + ${NETTLE_DIR}/sha256.c + ${NETTLE_DIR}/sha256-compress-n.c + ${NETTLE_DIR}/sha224-meta.c + ${NETTLE_DIR}/sha256-meta.c + ${NETTLE_DIR}/sha512.c + ${NETTLE_DIR}/sha512-compress.c + ${NETTLE_DIR}/sha384-meta.c + ${NETTLE_DIR}/sha512-meta.c + ${NETTLE_DIR}/sha512-224-meta.c + ${NETTLE_DIR}/sha512-256-meta.c + ${NETTLE_DIR}/sha3.c + ${NETTLE_DIR}/sha3-permute.c + ${NETTLE_DIR}/sha3-224.c + ${NETTLE_DIR}/sha3-224-meta.c + ${NETTLE_DIR}/sha3-256.c + ${NETTLE_DIR}/sha3-256-meta.c + ${NETTLE_DIR}/sha3-384.c + ${NETTLE_DIR}/sha3-384-meta.c + ${NETTLE_DIR}/sha3-512.c + ${NETTLE_DIR}/sha3-512-meta.c + ${NETTLE_DIR}/shake256.c + ${NETTLE_DIR}/sm3.c + ${NETTLE_DIR}/sm3-meta.c + ${NETTLE_DIR}/serpent-set-key.c + ${NETTLE_DIR}/serpent-encrypt.c + ${NETTLE_DIR}/serpent-decrypt.c + ${NETTLE_DIR}/serpent-meta.c + ${NETTLE_DIR}/streebog.c + ${NETTLE_DIR}/streebog-meta.c + ${NETTLE_DIR}/twofish.c + ${NETTLE_DIR}/twofish-meta.c + ${NETTLE_DIR}/umac-nh.c + ${NETTLE_DIR}/umac-nh-n.c + ${NETTLE_DIR}/umac-l2.c + ${NETTLE_DIR}/umac-l3.c + ${NETTLE_DIR}/umac-poly64.c + ${NETTLE_DIR}/umac-poly128.c + ${NETTLE_DIR}/umac-set-key.c + ${NETTLE_DIR}/umac32.c + ${NETTLE_DIR}/umac64.c + ${NETTLE_DIR}/umac96.c + ${NETTLE_DIR}/umac128.c + ${NETTLE_DIR}/version.c + ${NETTLE_DIR}/write-be32.c + ${NETTLE_DIR}/write-le32.c + ${NETTLE_DIR}/write-le64.c + ${NETTLE_DIR}/yarrow256.c + ${NETTLE_DIR}/yarrow_key_event.c + ${NETTLE_DIR}/xts.c + ${NETTLE_DIR}/xts-aes128.c + ${NETTLE_DIR}/xts-aes256.c ) set(LIBNETTLE_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/nettle + ${NETTLE_DIR} ) add_library(nettle STATIC ${LIBNETTLE_SOURCES}) diff --git a/gradle.properties b/gradle.properties index 323d3bef6..c24c1f5bf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,7 @@ org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 -XX:+UseParallelGC # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects org.gradle.parallel=true org.gradle.caching=true -# org.gradle.configuration-cache=true +org.gradle.configuration-cache=true android.useAndroidX=true android.enableAppCompileTimeRClass=true android.experimental.enableNewResourceShrinker.preciseShrinking=true diff --git a/settings.gradle.kts b/settings.gradle.kts index 3ed9e596e..b2069dbf7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,6 +18,6 @@ dependencyResolutionManagement { } enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") -// enableFeaturePreview("STABLE_CONFIGURATION_CACHE") +enableFeaturePreview("STABLE_CONFIGURATION_CACHE") rootProject.name = "EhViewer" include(":app")