| 123456789101112131415161718192021222324252627282930313233343536373839 |
- string(APPEND _ANDROID_ABI_INIT_CFLAGS
- " -funwind-tables"
- " -no-canonical-prefixes"
- )
- if(CMAKE_ANDROID_NDK AND NOT CMAKE_ANDROID_NDK_TOOLCHAIN_UNIFIED AND NOT CMAKE_ANDROID_NDK_DEPRECATED_HEADERS)
- string(APPEND _ANDROID_ABI_INIT_CFLAGS " -D__ANDROID_API__=${CMAKE_SYSTEM_VERSION}")
- endif()
- if(NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE
- AND NOT CMAKE_SYSTEM_VERSION VERSION_LESS 16)
- set(CMAKE_POSITION_INDEPENDENT_CODE ON)
- endif()
- cmake_policy(GET CMP0083 _CMP0083)
- if(_CMP0083 STREQUAL NEW)
- # PIE Flags are managed by compiler configuration files
- if(CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL 16)
- # ensure PIE flags are passed to the linker
- set(CMAKE_C_LINK_PIE_SUPPORTED YES CACHE INTERNAL "PIE (C)")
- set(CMAKE_CXX_LINK_PIE_SUPPORTED YES CACHE INTERNAL "PIE (CXX)")
- if(CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL 21)
- # no PIE executable are no longer supported
- set(CMAKE_C_LINK_NO_PIE_SUPPORTED NO CACHE INTERNAL "NO_PIE (C)")
- set(CMAKE_CXX_LINK_NO_PIE_SUPPORTED NO CACHE INTERNAL "NO_PIE (CXX)")
- endif()
- endif()
- else()
- if(CMAKE_POSITION_INDEPENDENT_CODE)
- string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -fPIE -pie")
- endif()
- endif()
- unset(_CMP0083)
- string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -Wl,--gc-sections")
- if(NOT _ANDROID_ABI_INIT_EXE_LDFLAGS_NO_nocopyreloc)
- string(APPEND _ANDROID_ABI_INIT_EXE_LDFLAGS " -Wl,-z,nocopyreloc")
- endif()
|