|
|
|
@ -64,14 +64,25 @@ set(CMAKE_VERBOSE_MAKEFILE on)
|
|
|
|
|
add_compile_definitions(USE_ANDROID_LOG)
|
|
|
|
|
add_compile_definitions(NO_DLIB)
|
|
|
|
|
add_compile_options(-fPIC)
|
|
|
|
|
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
|
|
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
|
|
|
|
|
string(REPLACE "-g" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
|
|
|
endif()
|
|
|
|
|
if (NOT PLATFORM_ARM64 AND NOT PLATFORM_ARM32)
|
|
|
|
|
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDebug -g")
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDebug -g")
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=default")
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default")
|
|
|
|
|
else ()
|
|
|
|
|
## enable for binscope for release
|
|
|
|
|
set(CMAKE_C_FLAGS "-fPIC -fPIE -D_FORTIFY_SOURCE=2 -O2 -Wall -Werror -fstack-protector-strong -Wno-attributes -Wno-deprecated-declarations ${CMAKE_C_FLAGS}")
|
|
|
|
|
set(CMAKE_CXX_FLAGS "-fPIC -fPIE -D_FORTIFY_SOURCE=2 -O2 -Wall -Werror -fstack-protector-strong -Wno-attributes -Wno-deprecated-declarations ${CMAKE_CXX_FLAGS}")
|
|
|
|
|
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,relro,-z,now -Wl,-z,noexecstack ${CMAKE_SHARED_LINKER_FLAGS}")
|
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro,-z,now -Wl,-z,noexecstack ${CMAKE_EXE_LINKER_FLAGS}")
|
|
|
|
|
string(REPLACE " -g " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
|
|
|
endif ()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
if (BUILD_DEVICE)
|
|
|
|
|
add_compile_definitions(BUILD_DEVICE)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
if (SUPPORT_TRAIN)
|
|
|
|
|
add_compile_definitions(SUPPORT_TRAIN)
|
|
|
|
|
endif()
|
|
|
|
@ -86,17 +97,17 @@ if (SUPPORT_GPU)
|
|
|
|
|
add_definitions(-DMS_OPENCL_PROFILE=false)
|
|
|
|
|
add_definitions(-DCL_HPP_TARGET_OPENCL_VERSION=200)
|
|
|
|
|
add_compile_definitions(SUPPORT_GPU)
|
|
|
|
|
if(OFFLINE_COMPILE)
|
|
|
|
|
if (OFFLINE_COMPILE)
|
|
|
|
|
add_compile_definitions(PROGRAM_WITH_IL)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
include_directories(${TOP_DIR}/third_party/OpenCL-Headers)
|
|
|
|
|
include_directories(${TOP_DIR}/third_party/OpenCL-CLHPP/include)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
if (WIN32)
|
|
|
|
|
add_compile_definitions(LITE_EXPORTS)
|
|
|
|
|
add_compile_definitions(BUILDING_DLL)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
set(ANF_SRC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../core/ir/meta_tensor.cc
|
|
|
|
@ -110,26 +121,26 @@ if (BUILD_CONVERTER)
|
|
|
|
|
MESSAGE(FATAL_ERROR "Cannot build converter in arm platform")
|
|
|
|
|
endif()
|
|
|
|
|
find_package(Python3 3.7 COMPONENTS Interpreter Development)
|
|
|
|
|
if(Python3_FOUND)
|
|
|
|
|
if (Python3_FOUND)
|
|
|
|
|
set(PYTHON_INCLUDE_DIRS "${Python3_INCLUDE_DIRS}")
|
|
|
|
|
set(PYTHON_LIBRARIES "${Python3_LIBRARIES}")
|
|
|
|
|
if (WIN32)
|
|
|
|
|
if (Python3_DIR)
|
|
|
|
|
message("Python3_DIR set already: " ${Python3_DIR})
|
|
|
|
|
else()
|
|
|
|
|
else ()
|
|
|
|
|
string(LENGTH ${PYTHON_LIBRARIES} PYTHON_LIBRARIES_LEN)
|
|
|
|
|
string(LENGTH "libpythonxx.a" Python3_NAME_LEN)
|
|
|
|
|
math(EXPR Python3_DIR_LEN ${PYTHON_LIBRARIES_LEN}-${Python3_NAME_LEN})
|
|
|
|
|
string(SUBSTRING ${Python3_LIBRARIES} 0 ${Python3_DIR_LEN} Python3_DIR)
|
|
|
|
|
message("Python3_DIR: " ${Python3_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
link_directories(${Python3_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
else()
|
|
|
|
|
endif ()
|
|
|
|
|
else ()
|
|
|
|
|
find_python_package(py_inc py_lib)
|
|
|
|
|
set(PYTHON_INCLUDE_DIRS "${py_inc}")
|
|
|
|
|
set(PYTHON_LIBRARIES "${py_lib}")
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
include_directories(${PYTHON_INCLUDE_DIRS})
|
|
|
|
|
include(${TOP_DIR}/cmake/external_libs/json.cmake)
|
|
|
|
|
include(${TOP_DIR}/cmake/external_libs/pybind11.cmake)
|
|
|
|
@ -137,27 +148,27 @@ if (BUILD_CONVERTER)
|
|
|
|
|
include_directories(${TOP_DIR}/third_party/protobuf/build/include)
|
|
|
|
|
link_directories(${TOP_DIR}/third_party/protobuf/build/lib)
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/converter)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
if (BUILD_DEVICE)
|
|
|
|
|
if (PLATFORM_ARM32 OR PLATFORM_ARM64)
|
|
|
|
|
if (NOT DEFINED ENV{ANDROID_NDK})
|
|
|
|
|
message(FATAL_ERROR "env ANDROID_NDK should be setted for ARM compile")
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
add_compile_definitions(ENABLE_ARM)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
if (PLATFORM_ARM32)
|
|
|
|
|
add_definitions(-mfloat-abi=softfp -mfpu=neon)
|
|
|
|
|
add_compile_definitions(ENABLE_ARM32)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
if (PLATFORM_ARM64)
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8.2-a+dotprod+fp16")
|
|
|
|
|
add_compile_definitions(ENABLE_ARM64)
|
|
|
|
|
if (ENABLE_FP16)
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8.2-a+dotprod+fp16")
|
|
|
|
|
endif ()
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
if (BUILD_MINDDATA)
|
|
|
|
|
# opencv
|
|
|
|
@ -167,7 +178,7 @@ if (BUILD_MINDDATA)
|
|
|
|
|
# json
|
|
|
|
|
if (NOT BUILD_CONVERTER)
|
|
|
|
|
include(${TOP_DIR}/cmake/external_libs/json.cmake)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
# eigen
|
|
|
|
|
include_directories(${TOP_DIR}/third_party/eigen/)
|
|
|
|
|
# jpeg-turbo
|
|
|
|
@ -183,7 +194,7 @@ if (BUILD_MINDDATA)
|
|
|
|
|
|
|
|
|
|
add_compile_definitions(ENABLE_ANDROID)
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/minddata)
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
if (BUILD_DEVICE)
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
|
|
@ -191,7 +202,7 @@ if (BUILD_DEVICE)
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/benchmark)
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/test)
|
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/time_profile)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
endif ()
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
include(${TOP_DIR}/cmake/package_lite.cmake)
|