diff options
author | Brad King <brad.king@kitware.com> | 2018-04-03 15:31:59 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-04-03 18:34:57 (GMT) |
commit | 843d55de295b0eeca2a028badde3b2f9a409cc72 (patch) | |
tree | 3ef22b1de380da49007e6fd5eb7684f51386868a /Tests/RunCMake/Android/common.cmake | |
parent | 12e6796b6289dbc910b9b7fe57f6b564edbc46dd (diff) | |
download | CMake-843d55de295b0eeca2a028badde3b2f9a409cc72.zip CMake-843d55de295b0eeca2a028badde3b2f9a409cc72.tar.gz CMake-843d55de295b0eeca2a028badde3b2f9a409cc72.tar.bz2 |
Android: Suppress implicit -lstdc++ linker flag
The chosen STL libraries are already linked explicitly so we shouldn't
let the compiler add its implicit `-lstdc++` (the default) when invoking
the linker.
Fixes: #17863
NDK-Issue: https://github.com/android-ndk/ndk/issues/105
Inspired-by: Tom Hughes <tomtheengineer@gmail.com>
Diffstat (limited to 'Tests/RunCMake/Android/common.cmake')
-rw-r--r-- | Tests/RunCMake/Android/common.cmake | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Tests/RunCMake/Android/common.cmake b/Tests/RunCMake/Android/common.cmake index 015f202..f931be1 100644 --- a/Tests/RunCMake/Android/common.cmake +++ b/Tests/RunCMake/Android/common.cmake @@ -92,6 +92,23 @@ if(CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a") endif() add_executable(android_c android.c) add_executable(android_cxx android.cxx) +add_library(android_cxx_lib SHARED android_lib.cxx) + +set(objdump "${CMAKE_CXX_ANDROID_TOOLCHAIN_PREFIX}objdump") +if(NOT EXISTS "${objdump}") + message(FATAL_ERROR "Expected tool missing:\n ${objdump}") +endif() + +if(NOT CMAKE_ANDROID_STL_TYPE MATCHES "^(system|stlport_static|stlport_shared)$") + foreach(tgt android_cxx android_cxx_lib) + add_custom_command(TARGET ${tgt} POST_BUILD + COMMAND ${CMAKE_COMMAND} + -Dobjdump=${objdump} + -Dfile=$<TARGET_FILE:${tgt}> + -P ${CMAKE_CURRENT_SOURCE_DIR}/check_binary.cmake + ) + endforeach() +endif() # Test that an explicit /usr/include is ignored in favor of # appearing as a standard include directory at the end. |