Спасибо @ Alex Cohn большое за указание на файл android.toolchain.cmake
, который обычно существует в каталоге ~/Library/Android/sdk/cmake/cmake_version_xxx/android.toolchain.cmake
в macOS.
Есть много полезных переменных CMake для Android, уже настроенных внутри, например,
ANDROID_NDK
ANDROID_TOOLCHAIN
ANDROID_ABI
ANDROID_PLATFORM
ANDROID_STL
ANDROID_PIE
ANDROID_CPP_FEATURES
ANDROID_ALLOW_UNDEFINED_SYMBOLS
ANDROID_ARM_MODE
ANDROID_ARM_NEON
ANDROID_DISABLE_NO_EXECUTE
ANDROID_DISABLE_RELRO
ANDROID_DISABLE_FORMAT_STRING_CHECKS
ANDROID_CCACHE
И одна ANDROID_TOOLCHAIN_PREFIX
- это именно то, что я искал, поэтому мой последний CMakeНиже приведен скрипт:
add_custom_command(TARGET ${SHARED_LIBRARY_NAME} POST_BUILD
COMMAND "${ANDROID_TOOLCHAIN_PREFIX}strip" -g -S -d --strip-debug --verbose
"${DIST_LIBS_DIR}/${LIB_BUILD_TYPE}/${ANDROID_ABI}/lib${SHARED_LIBRARY_NAME}.so"
COMMENT "Strip debug symbols done on final binary.")
И мне не нужно явно передавать какие-либо дополнительные аргументы, например DCMAKE_TOOLCHAIN_FILE=android.toolchain.cmake
, из командной строки в процесс сборки.Потому что этот файл, то есть android.toolchain.cmake
, уже автоматически учитывался собственной системой сборки Android.