From a541e9382e37fca58b66bb196627fc9f86322ee3 Mon Sep 17 00:00:00 2001 From: yefeng Date: Fri, 8 Oct 2021 09:31:39 +0800 Subject: [PATCH] ios simulator --- cmake/external_libs/flatbuffers.cmake | 2 -- cmake/utils.cmake | 8 +++++++- .../kernel_compiler/cpu/nnacl/CMakeLists.txt | 2 +- mindspore/lite/CMakeLists.txt | 8 -------- mindspore/lite/build_lite.sh | 15 +++++++++++++-- mindspore/lite/src/CMakeLists.txt | 4 ++-- .../patch/flatbuffers/flatbuffers.patch001 | 12 ------------ 7 files changed, 23 insertions(+), 28 deletions(-) delete mode 100644 third_party/patch/flatbuffers/flatbuffers.patch001 diff --git a/cmake/external_libs/flatbuffers.cmake b/cmake/external_libs/flatbuffers.cmake index a648906e0a8..444850343fe 100644 --- a/cmake/external_libs/flatbuffers.cmake +++ b/cmake/external_libs/flatbuffers.cmake @@ -20,14 +20,12 @@ else() endif() if(APPLE) - set(FLATBUFFERS_PATCH ${TOP_DIR}/third_party/patch/flatbuffers/flatbuffers.patch001) mindspore_add_pkg(flatbuffers VER 2.0.0 LIBS flatbuffers EXE flatc URL ${REQ_URL} MD5 ${MD5} - PATCHES ${FLATBUFFERS_PATCH} CMAKE_OPTION -DFLATBUFFERS_BUILD_TESTS=OFF -DCMAKE_INSTALL_LIBDIR=lib) else() mindspore_add_pkg(flatbuffers diff --git a/cmake/utils.cmake b/cmake/utils.cmake index 1911ad93480..282dbad9c9f 100644 --- a/cmake/utils.cmake +++ b/cmake/utils.cmake @@ -133,7 +133,13 @@ function(__find_pkg_then_add_target pkg_name pkg_exe lib_path) set(_LIB_TYPE STATIC) endif() set(${_LIB_NAME}_LIB ${_LIB_NAME}_LIB-NOTFOUND) - find_library(${_LIB_NAME}_LIB ${_LIB_SEARCH_NAME} PATHS ${${pkg_name}_BASE_DIR}/${lib_path} NO_DEFAULT_PATH) + if(APPLE) + find_library(${_LIB_NAME}_LIB ${_LIB_SEARCH_NAME} PATHS ${${pkg_name}_BASE_DIR}/${lib_path} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) + else() + find_library(${_LIB_NAME}_LIB ${_LIB_SEARCH_NAME} PATHS ${${pkg_name}_BASE_DIR}/${lib_path} + NO_DEFAULT_PATH) + endif() if(NOT ${_LIB_NAME}_LIB) return() endif() diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/CMakeLists.txt b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/CMakeLists.txt index 6cb3ba7d145..7bd6e44bed6 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/CMakeLists.txt +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/CMakeLists.txt @@ -3,7 +3,7 @@ project(nnacl) set(NNACL_DIR ${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${NNACL_DIR}/..) -if(PLATFORM_ARM32 OR PLATFORM_ARM64) +if(APPLE OR PLATFORM_ARM32 OR PLATFORM_ARM64) if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND DEFINED ARCHS) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstrict-aliasing \ -ffunction-sections -fdata-sections -ffast-math -Wno-shorten-64-to-32") diff --git a/mindspore/lite/CMakeLists.txt b/mindspore/lite/CMakeLists.txt index f291f0ca3bf..d8559008d0c 100644 --- a/mindspore/lite/CMakeLists.txt +++ b/mindspore/lite/CMakeLists.txt @@ -49,14 +49,6 @@ option(ENABLE_VERBOSE "" off) option(ENABLE_MODEL_OBF "if support model obfuscation" off) set(BUILD_MINDDATA "lite_cv" CACHE STRING "off, lite, lite_cv, wrapper or full") -if(APPLE) - find_package(Patch) - if(NOT Patch_FOUND) - message(FATAL_ERROR "Patch not found, " - "please set environment variable MS_PATCH_PATH to path where Patch is located," - "usually found in GIT_PATH/usr/bin on Windows") - endif() -endif() if(DEFINED ENV{MSLITE_GPU_BACKEND}) set(MSLITE_GPU_BACKEND $ENV{MSLITE_GPU_BACKEND}) endif() diff --git a/mindspore/lite/build_lite.sh b/mindspore/lite/build_lite.sh index 7ed06fa65b9..06d97a4638b 100755 --- a/mindspore/lite/build_lite.sh +++ b/mindspore/lite/build_lite.sh @@ -186,12 +186,23 @@ build_lite() { -DENABLE_ASAN=${ENABLE_ASAN} -DENABLE_VERBOSE=${ENABLE_VERBOSE} "${BASEPATH}/mindspore/lite" fi else + if [ "$(uname)" == "Darwin" ]; then + pkg_name=mindspore-lite-${VERSION_STR}-ios-simulator + cmake -DCMAKE_TOOLCHAIN_FILE=${BASEPATH}/cmake/lite_ios.cmake -DPLATFORM=SIMULATOR64 -DMSLITE_ENABLE_MINDRT="on" \ + -DCMAKE_BUILD_TYPE="Release" -DPLATFORM_ARM64="off" -DENABLE_NEON="off" -DMSLITE_ENABLE_TOOLS="off" -DMSLITE_ENABLE_CONVERTER=off \ + -DMSLITE_ENABLE_TRAIN="off" -DMSLITE_GPU_BACKEND="off" -DMSLITE_ENABLE_NPU="off" -DBUILD_MINDDATA="" -DMSLITE_ENABLE_V0=on \ + -DENABLE_ASAN=${ENABLE_ASAN} -DCMAKE_INSTALL_PREFIX=${BASEPATH}/output/tmp -DENABLE_VERBOSE=${ENABLE_VERBOSE} "${BASEPATH}/mindspore/lite" \ + -G Xcode .. + else cmake -DPLATFORM_X86_64=on -DCMAKE_BUILD_TYPE=${LITE_BUILD_TYPE} -DBUILD_MINDDATA=${COMPILE_MINDDATA_LITE} \ -DMS_VERSION_MAJOR=${VERSION_MAJOR} -DMS_VERSION_MINOR=${VERSION_MINOR} -DMS_VERSION_REVISION=${VERSION_REVISION} \ -DENABLE_ASAN=${ENABLE_ASAN} -DCMAKE_INSTALL_PREFIX=${BASEPATH}/output/tmp -DENABLE_VERBOSE=${ENABLE_VERBOSE} "${BASEPATH}/mindspore/lite" + fi fi - if [ "$(uname)" == "Darwin" ]; then + if [[ "$(uname)" == "Darwin" && "${local_lite_platform}" != "x86_64" ]]; then xcodebuild ONLY_ACTIVE_ARCH=NO -configuration Release -scheme mindspore-lite_static -target mindspore-lite_static -sdk iphoneos -quiet + elif [[ "$(uname)" == "Darwin" && "${local_lite_platform}" == "x86_64" ]]; then + xcodebuild ONLY_ACTIVE_ARCH=NO -configuration Release -scheme mindspore-lite_static -target mindspore-lite_static -sdk iphonesimulator -quiet else make -j$THREAD_NUM && make install && make package if [[ "${local_lite_platform}" == "x86_64" ]]; then @@ -210,7 +221,7 @@ build_lite() { else if [ "$(uname)" == "Darwin" ]; then mkdir -p ${BASEPATH}/output - cp -r ${BASEPATH}/mindspore/lite/build/src/Release-iphoneos/mindspore-lite.framework ${BASEPATH}/output/mindspore-lite.framework + cp -r ${BASEPATH}/mindspore/lite/build/src/Release-*/mindspore-lite.framework ${BASEPATH}/output/mindspore-lite.framework cd ${BASEPATH}/output tar -zcvf ${pkg_name}.tar.gz mindspore-lite.framework/ sha256sum ${pkg_name}.tar.gz > ${pkg_name}.tar.gz.sha256 diff --git a/mindspore/lite/src/CMakeLists.txt b/mindspore/lite/src/CMakeLists.txt index cc1e6576f5a..2dc65a826ff 100644 --- a/mindspore/lite/src/CMakeLists.txt +++ b/mindspore/lite/src/CMakeLists.txt @@ -26,7 +26,7 @@ if(NOT MSLITE_DELEGATE_USE) add_compile_definitions(DELEGATE_CLIP) endif() -if(PLATFORM_ARM32 OR PLATFORM_ARM64) +if(APPLE OR PLATFORM_ARM32 OR PLATFORM_ARM64) #for performance if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT APPLE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fomit-frame-pointer -fstrict-aliasing -ffunction-sections \ @@ -236,7 +236,7 @@ endif() add_library(mindspore-lite SHARED $) set_target_properties(mindspore-lite PROPERTIES CLEAN_DIRECT_OUTPUT 1) -if(DEFINED ARCHS) +if(APPLE) set(MINDSPORE_LITE_PUB_HDRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/context.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/errorcode.h diff --git a/third_party/patch/flatbuffers/flatbuffers.patch001 b/third_party/patch/flatbuffers/flatbuffers.patch001 deleted file mode 100644 index 4300e4286fe..00000000000 --- a/third_party/patch/flatbuffers/flatbuffers.patch001 +++ /dev/null @@ -1,12 +0,0 @@ -diff -Npur flatbuffers-src/CMakeLists.txt flatbuffers-src_patch/CMakeLists.txt ---- flatbuffers-src/CMakeLists.txt 2019-04-25 02:34:53.000000000 +0800 -+++ flatbuffers-src_patch/CMakeLists.txt 2021-06-28 11:37:12.922988687 +0800 -@@ -161,7 +161,7 @@ - message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}.") - elseif(APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Wno-unused-parameter") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Wno-unused-parameter -Wno-deprecated") - set(FLATBUFFERS_PRIVATE_CXX_FLAGS "-Wold-style-cast") - elseif(CMAKE_COMPILER_IS_GNUCXX) - if(CYGWIN)