mirror of
https://git.mirrors.martin98.com/https://github.com/google/draco
synced 2025-08-11 17:19:08 +08:00
draco cmake: Improve Android NDK toolchain support and fix a bug.
- Move common NDK settings into cmake/toolchains/android-ndk-common.cmake. - Fix bug in set_variable_if_unset(). Was ignoring variables set via CMake's command line. Fixes #475.
This commit is contained in:
parent
5a999117b1
commit
fdaa47cd23
11
cmake/toolchains/android-ndk-common.cmake
Normal file
11
cmake/toolchains/android-ndk-common.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
if(DRACO_CMAKE_TOOLCHAINS_ANDROID_NDK_COMMON_CMAKE_)
|
||||
return()
|
||||
endif()
|
||||
set(DRACO_CMAKE_TOOLCHAINS_ANDROID_NDK_COMMON_CMAKE_ 1)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake")
|
||||
|
||||
require_variable(CMAKE_ANDROID_NDK)
|
||||
set(CMAKE_SYSTEM_NAME Android)
|
||||
set_variable_if_unset(CMAKE_ANDROID_STL_TYPE c++_static)
|
||||
set_variable_if_unset(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang)
|
@ -4,9 +4,7 @@ endif()
|
||||
set(DRACO_CMAKE_TOOLCHAINS_ARM64_ANDROID_NDK_LIBCPP_CMAKE_ 1)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake")
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Android)
|
||||
set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
|
||||
require_variable(CMAKE_ANDROID_NDK)
|
||||
set_variable_if_unset(CMAKE_SYSTEM_VERSION 21)
|
||||
set_variable_if_unset(CMAKE_ANDROID_STL_TYPE c++_static)
|
||||
|
@ -4,9 +4,7 @@ endif()
|
||||
set(DRACO_CMAKE_TOOLCHAINS_ARMV7_ANDROID_NDK_LIBCPP_CMAKE_ 1)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake")
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Android)
|
||||
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
|
||||
require_variable(CMAKE_ANDROID_NDK)
|
||||
set_variable_if_unset(CMAKE_SYSTEM_VERSION 18)
|
||||
set_variable_if_unset(CMAKE_ANDROID_STL_TYPE c++_static)
|
||||
|
7
cmake/toolchains/default-android-ndk-libcpp.cmake
Normal file
7
cmake/toolchains/default-android-ndk-libcpp.cmake
Normal file
@ -0,0 +1,7 @@
|
||||
if(DRACO_CMAKE_TOOLCHAINS_DEFAULT_ANDROID_NDK_LIBCPP_CMAKE_)
|
||||
return()
|
||||
endif()
|
||||
set(DRACO_CMAKE_TOOLCHAINS_DEFAULT_ANDROID_NDK_LIBCPP_CMAKE_ 1)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake")
|
@ -4,9 +4,7 @@ endif()
|
||||
set(DRACO_CMAKE_TOOLCHAINS_X86_ANDROID_NDK_LIBCPP_CMAKE_ 1)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake")
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Android)
|
||||
set(CMAKE_ANDROID_ARCH_ABI x86)
|
||||
require_variable(CMAKE_ANDROID_NDK)
|
||||
set_variable_if_unset(CMAKE_SYSTEM_VERSION 18)
|
||||
set_variable_if_unset(CMAKE_ANDROID_STL_TYPE c++_static)
|
||||
|
@ -4,9 +4,7 @@ endif()
|
||||
set(DRACO_CMAKE_TOOLCHAINS_X86_64_ANDROID_NDK_LIBCPP_CMAKE_ 1)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake")
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Android)
|
||||
set(CMAKE_ANDROID_ARCH_ABI x86_64)
|
||||
require_variable(CMAKE_ANDROID_NDK)
|
||||
set_variable_if_unset(CMAKE_SYSTEM_VERSION 21)
|
||||
set_variable_if_unset(CMAKE_ANDROID_STL_TYPE c++_static)
|
||||
|
@ -63,11 +63,11 @@ macro(require_variable var_name)
|
||||
set_variable_if_unset(${var_name} "")
|
||||
endmacro()
|
||||
|
||||
# Sets $var_name to $default_value if not already set in the environment.
|
||||
# Sets $var_name to $default_value if not already set.
|
||||
macro(set_variable_if_unset var_name default_value)
|
||||
if(NOT "$ENV{${var_name}}" STREQUAL "")
|
||||
set(${var_name} $ENV{${var_name}})
|
||||
else()
|
||||
elseif(NOT ${var_name})
|
||||
set(${var_name} ${default_value})
|
||||
endif()
|
||||
endmacro()
|
||||
|
Loading…
x
Reference in New Issue
Block a user