Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/draco/dracoenc/cmake/toolchains')
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/arm-ios-common.cmake13
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/arm64-android-ndk-libcpp.cmake12
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/arm64-ios.cmake14
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/arm64-linux-gcc.cmake18
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/armv7-android-ndk-libcpp.cmake12
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/armv7-ios.cmake14
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/armv7-linux-gcc.cmake24
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/armv7s-ios.cmake14
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/x86-android-ndk-libcpp.cmake12
-rw-r--r--extern/draco/dracoenc/cmake/toolchains/x86_64-android-ndk-libcpp.cmake12
10 files changed, 145 insertions, 0 deletions
diff --git a/extern/draco/dracoenc/cmake/toolchains/arm-ios-common.cmake b/extern/draco/dracoenc/cmake/toolchains/arm-ios-common.cmake
new file mode 100644
index 00000000000..48f5ce5e68c
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/arm-ios-common.cmake
@@ -0,0 +1,13 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARM_IOS_COMMON_CMAKE_)
+set(DRACO_CMAKE_ARM_IOS_COMMON_CMAKE_ 1)
+
+set(CMAKE_SYSTEM_NAME "Darwin")
+set(CMAKE_OSX_SYSROOT iphoneos)
+set(CMAKE_C_COMPILER clang)
+set(CMAKE_C_COMPILER_ARG1 "-arch ${CMAKE_SYSTEM_PROCESSOR}")
+set(CMAKE_CXX_COMPILER clang++)
+set(CMAKE_CXX_COMPILER_ARG1 "-arch ${CMAKE_SYSTEM_PROCESSOR}")
+
+# TODO(tomfinegan): Handle bit code embedding.
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARM_IOS_COMMON_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/arm64-android-ndk-libcpp.cmake b/extern/draco/dracoenc/cmake/toolchains/arm64-android-ndk-libcpp.cmake
new file mode 100644
index 00000000000..bd044199063
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/arm64-android-ndk-libcpp.cmake
@@ -0,0 +1,12 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARM64_ANDROID_NDK_LIBCPP_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARM64_ANDROID_NDK_LIBCPP_CMAKE_ 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/../util.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)
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARM64_ANDROID_NDK_LIBCPP_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/arm64-ios.cmake b/extern/draco/dracoenc/cmake/toolchains/arm64-ios.cmake
new file mode 100644
index 00000000000..0d4909e1be3
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/arm64-ios.cmake
@@ -0,0 +1,14 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARM64_IOS_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARM64_IOS_CMAKE_ 1)
+
+if (XCODE)
+ # TODO(tomfinegan): Handle arm builds in Xcode.
+ message(FATAL_ERROR "This toolchain does not support Xcode.")
+endif ()
+
+set(CMAKE_SYSTEM_PROCESSOR "arm64")
+set(CMAKE_OSX_ARCHITECTURES "arm64")
+
+include("${CMAKE_CURRENT_LIST_DIR}/arm-ios-common.cmake")
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARM64_IOS_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/arm64-linux-gcc.cmake b/extern/draco/dracoenc/cmake/toolchains/arm64-linux-gcc.cmake
new file mode 100644
index 00000000000..3bab482855c
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/arm64-linux-gcc.cmake
@@ -0,0 +1,18 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARM64_LINUX_GCC_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARM64_LINUX_GCC_CMAKE_ 1)
+
+set(CMAKE_SYSTEM_NAME "Linux")
+
+if ("${CROSS}" STREQUAL "")
+ # Default the cross compiler prefix to something known to work.
+ set(CROSS aarch64-linux-gnu-)
+endif ()
+
+set(CMAKE_C_COMPILER ${CROSS}gcc)
+set(CMAKE_CXX_COMPILER ${CROSS}g++)
+set(AS_EXECUTABLE ${CROSS}as)
+set(CMAKE_C_COMPILER_ARG1 "-march=armv8-a")
+set(CMAKE_CXX_COMPILER_ARG1 "-march=armv8-a")
+set(CMAKE_SYSTEM_PROCESSOR "arm64")
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARM64_LINUX_GCC_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/armv7-android-ndk-libcpp.cmake b/extern/draco/dracoenc/cmake/toolchains/armv7-android-ndk-libcpp.cmake
new file mode 100644
index 00000000000..fd50defd82e
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/armv7-android-ndk-libcpp.cmake
@@ -0,0 +1,12 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARMV7_ANDROID_NDK_LIBCPP_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARMV7_ANDROID_NDK_LIBCPP_CMAKE_ 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/../util.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)
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARMV7_ANDROID_NDK_LIBCPP_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/armv7-ios.cmake b/extern/draco/dracoenc/cmake/toolchains/armv7-ios.cmake
new file mode 100644
index 00000000000..61d67872917
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/armv7-ios.cmake
@@ -0,0 +1,14 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARMV7_IOS_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARMV7_IOS_CMAKE_ 1)
+
+if (XCODE)
+ # TODO(tomfinegan): Handle arm builds in Xcode.
+ message(FATAL_ERROR "This toolchain does not support Xcode.")
+endif ()
+
+set(CMAKE_SYSTEM_PROCESSOR "armv7")
+set(CMAKE_OSX_ARCHITECTURES "armv7")
+
+include("${CMAKE_CURRENT_LIST_DIR}/arm-ios-common.cmake")
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARMV7_IOS_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/armv7-linux-gcc.cmake b/extern/draco/dracoenc/cmake/toolchains/armv7-linux-gcc.cmake
new file mode 100644
index 00000000000..e0f850f4270
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/armv7-linux-gcc.cmake
@@ -0,0 +1,24 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARMV7_LINUX_GCC_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARMV7_LINUX_GCC_CMAKE_ 1)
+
+set(CMAKE_SYSTEM_NAME "Linux")
+
+if ("${CROSS}" STREQUAL "")
+ # Default the cross compiler prefix to something known to work.
+ set(CROSS arm-linux-gnueabihf-)
+endif ()
+
+if (NOT ${CROSS} MATCHES hf-$)
+ set(DRACO_EXTRA_TOOLCHAIN_FLAGS "-mfloat-abi=softfp")
+endif ()
+
+set(CMAKE_C_COMPILER ${CROSS}gcc)
+set(CMAKE_CXX_COMPILER ${CROSS}g++)
+set(AS_EXECUTABLE ${CROSS}as)
+set(CMAKE_C_COMPILER_ARG1
+ "-march=armv7-a -mfpu=neon ${DRACO_EXTRA_TOOLCHAIN_FLAGS}")
+set(CMAKE_CXX_COMPILER_ARG1
+ "-march=armv7-a -mfpu=neon ${DRACO_EXTRA_TOOLCHAIN_FLAGS}")
+set(CMAKE_SYSTEM_PROCESSOR "armv7")
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARMV7_LINUX_GCC_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/armv7s-ios.cmake b/extern/draco/dracoenc/cmake/toolchains/armv7s-ios.cmake
new file mode 100644
index 00000000000..45097936bcb
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/armv7s-ios.cmake
@@ -0,0 +1,14 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_ARMV7S_IOS_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_ARMV7S_IOS_CMAKE_ 1)
+
+if (XCODE)
+ # TODO(tomfinegan): Handle arm builds in Xcode.
+ message(FATAL_ERROR "This toolchain does not support Xcode.")
+endif ()
+
+set(CMAKE_SYSTEM_PROCESSOR "armv7s")
+set(CMAKE_OSX_ARCHITECTURES "armv7s")
+
+include("${CMAKE_CURRENT_LIST_DIR}/arm-ios-common.cmake")
+
+endif () # DRACO_CMAKE_TOOLCHAINS_ARMV7S_IOS_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/x86-android-ndk-libcpp.cmake b/extern/draco/dracoenc/cmake/toolchains/x86-android-ndk-libcpp.cmake
new file mode 100644
index 00000000000..7bb3717971f
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/x86-android-ndk-libcpp.cmake
@@ -0,0 +1,12 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_X86_ANDROID_NDK_LIBCPP_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_X86_ANDROID_NDK_LIBCPP_CMAKE_ 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/../util.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)
+
+endif () # DRACO_CMAKE_TOOLCHAINS_X86_ANDROID_NDK_LIBCPP_CMAKE_
diff --git a/extern/draco/dracoenc/cmake/toolchains/x86_64-android-ndk-libcpp.cmake b/extern/draco/dracoenc/cmake/toolchains/x86_64-android-ndk-libcpp.cmake
new file mode 100644
index 00000000000..3b86b9d6682
--- /dev/null
+++ b/extern/draco/dracoenc/cmake/toolchains/x86_64-android-ndk-libcpp.cmake
@@ -0,0 +1,12 @@
+if (NOT DRACO_CMAKE_TOOLCHAINS_X86_64_ANDROID_NDK_LIBCPP_CMAKE_)
+set(DRACO_CMAKE_TOOLCHAINS_X86_64_ANDROID_NDK_LIBCPP_CMAKE_ 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/../util.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)
+
+endif () # DRACO_CMAKE_TOOLCHAINS_X86_64_ANDROID_NDK_LIBCPP_CMAKE_