You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- cmake_minimum_required(VERSION 3.12.1)
- project (mindspore-predict)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
- set(CMAKE_BUILD_TYPE "Release")
-
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -s")
-
- option(ENABLE_ASAN "Enable Google Sanitizer to find memory bugs" OFF)
- option(ENABLE_PREDICT_ARM64 "predict arm64" OFF)
- option(ENABLE_PREDICT_ARM32 "predict arm32" OFF)
-
- set(PREDICT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
- set(PREDICT_BUILD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build)
- set(3RD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../third_party)
- set(DOTEST_DIR ${PREDICT_BUILD_DIR}/test/doTest)
-
- include_directories(${3RD_DIR})
- include_directories(${3RD_DIR}/flatbuffers/include/)
- include_directories(${3RD_DIR}/protobuf/build/include/)
- include_directories(${3RD_DIR}/googletest/googletest/include/)
- include_directories(${3RD_DIR}/googletest/googlemock/include/)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/module/tvm_kernel/lite/include/)
- include_directories(${PREDICT_DIR}/module/tvm_kernel/incubator-tvm/3rdparty/dlpack/include)
- include_directories(common)
-
- if(ENABLE_PREDICT_ARM64 OR ENABLE_PREDICT_ARM32)
- message("*********************predict compile arm*********************")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMS_USE_ARM=1")
- set(ANDROID_NDK $ENV{ANDROID_NDK})
- if(ANDROID_NDK)
- add_subdirectory(${3RD_DIR}/googletest ${CMAKE_BINARY_DIR}/googletest)
- link_directories(${PREDICT_BUILD_DIR}/googletest/googlemock/gtest)
-
- add_subdirectory(${3RD_DIR}/securec ${CMAKE_BINARY_DIR}/securec)
- link_directories(${PREDICT_BUILD_DIR}/securec/src)
- else()
- message(FATAL_ERROR "please set ANDROID_NDK in environment variable for example: export ANDROID_NDK=/root/usr/android-ndk-r16b/")
- endif()
-
- include_directories(${ANDROID_SYSROOT}/usr/include/)
- if(${ANDROID_ABI} STREQUAL "armeabi-v7a")
- include_directories(${ANDROID_SYSROOT}/usr/include/arm-linux-androideabi)
- elseif(${ANDROID_ABI} STREQUAL "arm64-v8a")
- include_directories(${ANDROID_SYSROOT}/usr/include/aarch64-linux-android)
- else()
- include_directories(${ANDROID_SYSROOT}/usr/include/arm-linux-androideabi)
- endif()
-
- else()
- # include libsecurec.a x86
- message("*********************predict compile x86*********************")
- if(EXISTS "${PREDICT_DIR}/../build/mindspore/securec/src/libsecurec.a")
- link_directories(${PREDICT_DIR}/../build/mindspore/securec/src)
- else()
- include(${PREDICT_DIR}/../cmake/dependency_securec.cmake)
- link_directories(${PREDICT_BUILD_DIR}/securec/src)
- endif()
-
- # include libgtest.so x86
- if(EXISTS "${PREDICT_DIR}/../build/googletest/googlemock/gtest/libgtest.so")
- link_directories(${PREDICT_DIR}/../build/googletest/googlemock/gtest)
- else()
- include(${PREDICT_DIR}/../cmake/dependency_gtest.cmake)
- link_directories(${PREDICT_BUILD_DIR}/googletest/googlemock/gtest)
- endif()
- endif()
-
- if (CODE_COVERAGE)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage -O0")
- endif()
-
- add_subdirectory(common)
- add_subdirectory(src)
- add_subdirectory(benchmark)
- add_subdirectory(test)
- add_subdirectory(module)
|