cmake_minimum_required(VERSION 3.10.0) file(GLOB bc_core_sources COMMON/bc_core/*.c COMMON/bc_core/shared/*.c COMMON/bc_core/shared/base/*.c COMMON/bc_core/shared/ecdsa/*.c COMMON/bc_core/shared/ed25519-donna/*.c COMMON/bc_core/shared/libbtc/*.c COMMON/bc_core/shared/libsodium/crypto_aead/aegis256/aead_aegis256.c COMMON/bc_core/shared/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c COMMON/bc_core/shared/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c COMMON/bc_core/shared/libsodium/crypto_auth/crypto_auth.c COMMON/bc_core/shared/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c COMMON/bc_core/shared/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c COMMON/bc_core/shared/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c COMMON/bc_core/shared/libsodium/crypto_box/crypto_box.c COMMON/bc_core/shared/libsodium/crypto_box/crypto_box_easy.c COMMON/bc_core/shared/libsodium/crypto_box/crypto_box_seal.c COMMON/bc_core/shared/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c COMMON/bc_core/shared/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c COMMON/bc_core/shared/libsodium/crypto_core/hchacha20/core_hchacha20.c COMMON/bc_core/shared/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c COMMON/bc_core/shared/libsodium/crypto_core/hsalsa20/core_hsalsa20.c COMMON/bc_core/shared/libsodium/crypto_core/salsa/ref/core_salsa_ref.c COMMON/bc_core/shared/libsodium/crypto_generichash/crypto_generichash.c COMMON/bc_core/shared/libsodium/crypto_generichash/blake2b/generichash_blake2.c COMMON/bc_core/shared/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c COMMON/bc_core/shared/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c COMMON/bc_core/shared/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c COMMON/bc_core/shared/libsodium/crypto_hash/crypto_hash.c COMMON/bc_core/shared/libsodium/crypto_hash/sha256/hash_sha256.c COMMON/bc_core/shared/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c COMMON/bc_core/shared/libsodium/crypto_hash/sha512/hash_sha512.c COMMON/bc_core/shared/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c COMMON/bc_core/shared/libsodium/crypto_kdf/blake2b/kdf_blake2b.c COMMON/bc_core/shared/libsodium/crypto_kdf/crypto_kdf.c COMMON/bc_core/shared/libsodium/crypto_kx/crypto_kx.c COMMON/bc_core/shared/libsodium/crypto_onetimeauth/crypto_onetimeauth.c COMMON/bc_core/shared/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c COMMON/bc_core/shared/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/argon2-core.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/argon2-encoding.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/argon2.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/blake2b-long.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c COMMON/bc_core/shared/libsodium/crypto_pwhash/crypto_pwhash.c COMMON/bc_core/shared/libsodium/crypto_scalarmult/crypto_scalarmult.c COMMON/bc_core/shared/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c COMMON/bc_core/shared/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c COMMON/bc_core/shared/libsodium/crypto_secretbox/crypto_secretbox.c COMMON/bc_core/shared/libsodium/crypto_secretbox/crypto_secretbox_easy.c COMMON/bc_core/shared/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c COMMON/bc_core/shared/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c COMMON/bc_core/shared/libsodium/crypto_shorthash/crypto_shorthash.c COMMON/bc_core/shared/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c COMMON/bc_core/shared/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c COMMON/bc_core/shared/libsodium/crypto_sign/crypto_sign.c COMMON/bc_core/shared/libsodium/crypto_sign/ed25519/sign_ed25519.c COMMON/bc_core/shared/libsodium/crypto_sign/ed25519/ref10/keypair.c COMMON/bc_core/shared/libsodium/crypto_sign/ed25519/ref10/open.c COMMON/bc_core/shared/libsodium/crypto_sign/ed25519/ref10/sign.c COMMON/bc_core/shared/libsodium/crypto_stream/chacha20/stream_chacha20.c COMMON/bc_core/shared/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c COMMON/bc_core/shared/libsodium/crypto_stream/crypto_stream.c COMMON/bc_core/shared/libsodium/crypto_stream/salsa20/stream_salsa20.c COMMON/bc_core/shared/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c COMMON/bc_core/shared/libsodium/crypto_verify/sodium/verify.c COMMON/bc_core/shared/libsodium/randombytes/randombytes.c COMMON/bc_core/shared/libsodium/randombytes/sysrandom/randombytes_sysrandom.c COMMON/bc_core/shared/libsodium/randombytes/teerandom/randombytes_teerandom.c COMMON/bc_core/shared/libsodium/sodium/codecs.c COMMON/bc_core/shared/libsodium/sodium/core.c COMMON/bc_core/shared/libsodium/sodium/runtime.c COMMON/bc_core/shared/libsodium/sodium/utils.c COMMON/bc_core/shared/libsodium/sodium/version.c COMMON/bc_core/shared/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c COMMON/tz_spay_common/tl/spay_authenticate_transaction_tl.c COMMON/tz_spay_common/tl/spay_pin_random_util_tl.c COMMON/tz_spay_common/tl/spay_json_parser_tl.c NDKProject/tz_platform/vendor/Ndk/core/tl/*.c) SET(bc_core ${bc_core_sources}) file(GLOB bc_tui_sources COMMON/bc_tui/*.c COMMON/bc_tui/shared/process_cmd.c COMMON/bc_tui/shared/tl_spay_tui.c COMMON/bc_tui/shared/process_cmd_pinpad.c COMMON/bc_tui/shared/process_cmd_coldwallet.c COMMON/bc_tui/shared/Vendor_Interface.c COMMON/bc_tui/shared/control/*.c COMMON/bc_tui/shared/pinpad/TuiPinpadScreen.c COMMON/bc_tui/shared/pinpad/TuiPinpadState.c COMMON/bc_tui/shared/mnemonic/*.c COMMON/bc_tui/shared/png/*.c COMMON/bc_tui/shared/screen/*.c COMMON/bc_tui/shared/secure_object/*.c COMMON/bc_tui/shared/touch/*.c COMMON/tz_spay_common/tl/spay_authenticate_transaction_tl.c COMMON/tz_spay_common/tl/spay_pin_random_util_tl.c NDKProject/tz_platform/vendor/Ndk/tui/tl/*.c) SET(bc_tui ${bc_tui_sources}) add_library(bc-core-so SHARED NDKProject/bccore-c.c NDKProject/bccore-c-test.c ${bc_core}) add_library(bc-tui-so-360-xxhdpi SHARED NDKProject/bctui-c.c ${bc_tui}) add_library(bc-tui-so-585-xxhdpi SHARED NDKProject/bctui-c.c ${bc_tui}) add_library(bc-tui-so-589-xxhdpi SHARED NDKProject/bctui-c.c ${bc_tui}) find_library( log-lib log ) target_link_libraries( bc-core-so ${log-lib} ) target_link_libraries( bc-tui-so-360-xxhdpi ${log-lib} ) target_link_libraries( bc-tui-so-585-xxhdpi ${log-lib} ) target_link_libraries( bc-tui-so-589-xxhdpi ${log-lib} ) TARGET_INCLUDE_DIRECTORIES( bc-core-so PUBLIC COMMON/bc_core/public/msgs COMMON/bc_core/public COMMON/bc_core/shared COMMON/bc_core/shared/base COMMON/bc_core/shared/ecdsa COMMON/bc_core/shared/ed25519-donna COMMON/bc_core/shared/libbtc COMMON/bc_core/shared/libsodium/include COMMON/bc_core/shared/libsodium/include/sodium COMMON/bc_core/shared/libsodium/crypto_generichash/blake2b/ref/ COMMON/bc_core/shared/libsodium/crypto_onetimeauth/poly1305/ COMMON/bc_core/shared/libsodium/crypto_onetimeauth/poly1305/donna/ COMMON/bc_core/shared/libsodium/crypto_pwhash/argon2/ COMMON/bc_core/shared/libsodium/crypto_scalarmult/curve25519/ COMMON/bc_core/shared/libsodium/crypto_scalarmult/curve25519/ref10/ COMMON/bc_core/shared/libsodium/crypto_shorthash/siphash24/ref/ COMMON/bc_core/shared/libsodium/crypto_sign/ed25519/ref10/ COMMON/bc_core/shared/libsodium/crypto_stream/chacha20/ COMMON/bc_core/shared/libsodium/crypto_stream/chacha20/ref/ COMMON/bc_core/shared/libsodium/crypto_stream/salsa20/ COMMON/bc_core/shared/libsodium/crypto_stream/salsa20/ref/ COMMON/bc_core/shared/libsodium/include/sodium/private/ COMMON/bc_core/shared/libsodium/crypto_core/ed25519/ref10/fe_25_5/ COMMON/tz_platform/public/ COMMON/tz_platform/public/tl COMMON/tz_platform/public/tlc COMMON/tz_spay_common/public NDKProject/tz_platform/vendor/Ndk/core/tl) SET(tui_includes COMMON/bc_tui/public/ COMMON/bc_tui/shared/ COMMON/bc_tui/shared/control COMMON/bc_tui/shared/mnemonic COMMON/bc_tui/shared/png COMMON/bc_tui/shared/screen COMMON/bc_tui/shared/secure_object COMMON/bc_tui/shared/touch COMMON/bc_tui/resource/ COMMON/bc_tui/resource/bc_tui_resource/resolution_w720_HD/layout_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w720_HD/resource_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w1080_FHD/layout_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w1080_FHD/resource_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w1440_WQHD/layout_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w1440_WQHD/resource_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w1536_QXGA/layout_include COMMON/bc_tui/resource/bc_tui_resource/resolution_w1536_QXGA/resource_include COMMON/tz_platform/public/ COMMON/tz_platform/public/tl COMMON/tz_spay_common/public NDKProject/tz_platform/vendor/Ndk/tui/tl NDKProject/bctui-c.h NDKProject/ImageResources.h) TARGET_INCLUDE_DIRECTORIES( bc-tui-so-360-xxhdpi PUBLIC ${tui_includes} ) TARGET_INCLUDE_DIRECTORIES( bc-tui-so-585-xxhdpi PUBLIC ${tui_includes} ) TARGET_INCLUDE_DIRECTORIES( bc-tui-so-589-xxhdpi PUBLIC ${tui_includes} ) TARGET_COMPILE_DEFINITIONS( bc-tui-so-360-xxhdpi PUBLIC CMAKE_C_FLAGS "-DUSE_VS \ -DCOLD_WALLET \ -D_CRT_SECURE_NO_WARNINGS \ -DSUPPORT_SOFTKEY_PUNCHCUT" ) TARGET_COMPILE_DEFINITIONS( bc-tui-so-585-xxhdpi PUBLIC CMAKE_C_FLAGS "-DUSE_VS \ -DCOLD_WALLET \ -D_CRT_SECURE_NO_WARNINGS \ -DSUPPORT_SOFTKEY_PUNCHCUT \ -DSUPPORT_DUAL_LCD_MAIN" ) TARGET_COMPILE_DEFINITIONS( bc-tui-so-589-xxhdpi PUBLIC CMAKE_C_FLAGS "-DUSE_VS \ -DCOLD_WALLET \ -D_CRT_SECURE_NO_WARNINGS \ -DSUPPORT_SOFTKEY_PUNCHCUT \ -DSUPPORT_DUAL_LCD_MAIN" ) TARGET_COMPILE_DEFINITIONS( bc-core-so PUBLIC CMAKE_C_FLAGS "-DUSE_VS \ -DENABLE_DBG_LOG \ -DuECC_SUPPORTS_secp256k1 \ -Ddefault_RNG_defined \ -D_CRT_SECURE_NO_WARNINGS \ -DCOLD_WALLET \ -DSTAGING_ENV \ -DJWK_SUPPORT \ -DSUPPORT_MST \ -DSUPPORT_INAPP \ -DSUPPORT_P2P \ -DOPENSSL_NO_DSA \ -DOPENSSL_NO_DH \ -DOPENSSL_NO_ENGINE \ -DOPENSSL_NO_CMS \ -DOPENSSL_NO_STDIO \ -DOPENSSL_NO_LOCKING \ -DOPENSSL_NO_BIO \ -DOPENSSL_NO_PKCS7 \ -DOPENSSL_NO_DEPRECATED \ -DOPENSSL_NO_ERR \ -DOPENSSL_NO_LHASH \ -DOPENSSL_NO_EVP \ -DOPENSSL_NO_EC \ -DOPENSSL_NO_ECDSA \ -DOPENSSL_NO_ECDH \ -DOPENSSL_NO_RSA \ -DOPENSSL_NO_SHA \ -DOPENSSL_NO_SHA0 \ -DOPENSSL_NO_SHA1 \ -DOPENSSL_NO_SHA256 \ -DOPENSSL_NO_SHA384 \ -DOPENSSL_NO_SHA512 \ -DOPENSSL_EXPORT_VAR_AS_FUNCTION \ -DGETPID_IS_MEANINGLESS \ -DNO_SYS_TYPES_H \ -DOWN_ALLOCATOR \ -DSWD")