cmake_minimum_required(VERSION 2.7)
project(tennis)
# set tennis version
set(TS_VERSION "1.0.2")
set(TARGET "SHARED" CACHE STRING "STATIC or SHARED" FORCE)
add_definitions(-DBUILDING_TENNIS)
# global root dir
set(SOLUTION_DIR ${CMAKE_CURRENT_SOURCE_DIR})
add_definitions(-DTS_SOLUTION_DIR="${SOLUTION_DIR}")
# add_definitions("-Wall -g") # add gcc option in FLAGS_GCC, not here!
add_definitions(-DTS_DISABLE_PARALLEL)
# dir for common cmake files
list(APPEND CMAKE_MODULE_PATH ${SOLUTION_DIR}/cmake)
list(APPEND CMAKE_PREFIX_PATH ${SOLUTION_DIR}/cmake)
# set library name for different architectures
set(HASWEILL_LIB_NAME ${PROJECT_NAME}_haswell)
set(SANDYBRIDGE_LIB_NAME ${PROJECT_NAME}_sandy_bridge)
set(PENTINUM_LIB_NAME ${PROJECT_NAME}_pentium)
#------------------------------------------------------------------------------#
# ============================= Options start ================================ #
#------------------------------------------------------------------------------#
# Install path
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/build
CACHE STRING "set install prefix")
# Option for platform
set(PLATFORM "auto" CACHE STRING "auto, x86 or x64")
# Build type, configuration
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Debug or Release")
# If build test cases
option(TS_BUILD_TEST "[Optional] Build test" OFF)
# If build tool cases
option(TS_BUILD_TOOLS "[Optional] Build tools" OFF)
# If build with OpenCV, must set on if TS_BUILD_TEST=ON
option(TS_USE_OPENCV "[Optional] Use OpenCV" OFF)
# If build with debug API, must set on if TS_BUILD_TEST=ON
option(TS_USE_DEBUG_API "[Optional] Use Debug API" OFF)
# if use other kernel files
set(TS_EXTRA_KERNELS "" CACHE STRING "List kernels, like: rknn,nnie. Empty for no extra.")
# if use
option(TS_USE_CUDA "[Optional] Use CUDA" OFF)
option(TS_USE_CUBLAS "[Optional] Use CUBLAS" OFF)
set(TS_CUDA_ARCH "" CACHE STRING "List arch, like: 60,61,62. Empty for all arch.")
# Options of optimizations
option(TS_USE_CBLAS "[Optional] Use CBLAS" OFF) # [discarded]
option(TS_USE_OPENMP "[Optional] Use OpenMP" ON)
option(TS_USE_SIMD "[Optional] Use SIMD" ON)
option(TS_DYNAMIC_INSTRUCTION "[Optional] Dynamic support for different instruction sets" OFF)
option(TS_ON_HASWELL "[Optional] Use AVX and FMA" OFF)
option(TS_ON_SANDYBRIDGE "[Optional] Use AVX but not FMA" OFF)
option(TS_ON_PENTIUM "[Optional] Use SSE" OFF)
#option(TS_USE_AVX "[Optional] Use AVX" OFF)
#option(TS_USE_SSE "[Optional] Use SSE" OFF)
#option(TS_USE_FMA "[Optional] Use FMA" OFF)
option(TS_USE_NEON "[Optional] Use NEON" OFF)
option(TS_USE_FAST_MATH "[Optional] Use fast math (-ffast-math)" OFF)
option(TS_ON_ARM "[Optional] Target is arm" OFF)
# Special for armv7
option(TS_ON_ARMV7 "[Optional] Target is arm-v7a" OFF)
# Not change for now version
option(TS_USE_PROFILER "[Optional] Use Profiler" ON)
option(TS_USE_HOOK "[Optional] Use Hook" ON)
# Deprecated option, no use after all.
option(TS_USE_WINOGRAD "[Deprecated] Use Winograd" OFF)
# Hidden options (do not uncomment, it already defined later)
# None
#------------------------------------------------------------------------------#
# ============================= Options end ================================== #
#------------------------------------------------------------------------------#
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CONFIGURATION "Release")
else ()
set(CONFIGURATION ${CMAKE_BUILD_TYPE})
endif ()
message(STATUS "== Target: ${TARGET}")
message(STATUS "== Platform: ${PLATFORM}")
message(STATUS "== Configuration: ${CONFIGURATION}")
# set common compiler flags
include(LOCAL_FLAGS)
include(LOCAL_ENV)
include(tools)
if (TS_USE_PROFILER)
add_definitions(-DTS_USE_PROFILER)
endif()
if (TS_USE_HOOK)
add_definitions(-DTS_USE_HOOK)
endif()
if (TS_USE_DEBUG_API)
message(STATUS "[Important] Use debug API: [ON]")
add_definitions(-DTS_USE_DEBUG_API)
else (TS_USE_DEBUG_API)
message(STATUS "[Important] Use debug API: [OFF]")
endif()
# set winograd support
if (TS_USE_WINOGRAD)
add_definitions(-DTS_USE_WINOGRAD)
message(STATUS "[Optional] Use Winograd: [ON]")
else (TS_USE_WINOGRAD)
message(STATUS "[Optional] Use Winograd: [OFF]")
endif()
# if target is target
if (TS_ON_ARM)
add_definitions(-DTS_ON_ARM)
endif()
if (TS_ON_ARMV7)
add_definitions(-DTS_ON_ARMV7)
endif()
install(CODE "MESSAGE(\"Installing into ${CMAKE_INSTALL_PREFIX}\")")
set(LOCAL_OUTPUT_DIR ${PROJECT_SOURCE_DIR})
if (LOCAL_OUTPUT_DIR)
set(EXECUTABLE_OUTPUT_PATH ${LOCAL_OUTPUT_DIR}/${ENV_RUNTIME_DIR})
set(LIBRARY_OUTPUT_PATH ${LOCAL_OUTPUT_DIR}/${ENV_LIBRARY_DIR})
endif ()
include_directories(${SOLUTION_DIR}/include)
include_directories(${SOLUTION_DIR}/src)
set(SOURCE_DIR ${SOLUTION_DIR})
set(TENNIS_MODULES
api
backend
board
compiler
core
encryption
engine
frontend
global
memory
module
runtime
utils
)
set(TENNIS_ARCHIVES common cpu) # in kernels and ops
#add_definitions(-DTS_USE_SSE)
# 4 types of archive
# blas
# Eigen
# Ordinary
# Ordinary with chipset result
set(third_libraries)
if (TS_USE_OPENCV)
add_definitions(-DTS_USE_OPENCV)
message(STATUS "[Optional] Use OpenCV: [ON]")
find_package(OpenCV REQUIRED)
message(STATUS " OpenCV library status:")
message(STATUS " version: ${OpenCV_VERSION}")
# message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
include_directories(${OpenCV_INCLUDE_DIRS})
list(APPEND third_libraries ${OpenCV_LIBS})
else ()
message(STATUS "[Optional] Use OpenCV: [OFF]")
endif ()
if (TS_USE_OPENMP)
add_definitions(-DTS_USE_OPENMP)
message(STATUS "[Optional] Use OpenMP: [ON]")
include(use_openmp)
list(APPEND third_libraries ${OPENMP_LIBRARY})
else ()
message(STATUS "[Optional] Use OpenMP: [OFF]")
endif ()
if (TS_USE_CUDA)
find_package(CUDA REQUIRED)
message(STATUS "[Optional] Use CUDA: [ON]; Found ${CUDA_VERSION}")
list(APPEND TENNIS_ARCHIVES gpu)
add_definitions(-DTS_USE_CUDA)
include(use_cuda)
set(TS_USE_CUBLAS ON)
else()
message(STATUS "[Optional] Use CUDA: [OFF]")
endif()
if (WIN32)
# list(APPEND third_libraries pthread)
elseif (APPLE)
# list(APPEND third_libraries pthread)
set(CMAKE_MACOSX_RPATH 1)
elseif (UNIX)
list(APPEND third_libraries pthread)
list(APPEND third_libraries m)
else ()
endif ()
if(TS_USE_CUBLAS)
message(STATUS "[Optional] Use CUBLAS: [ON]")
add_definitions(-DTS_USE_CUBLAS)
list(APPEND third_libraries ${CUDA_CUBLAS_LIBRARIES})
else()
message(STATUS "[Optional] Use CUBLAS: [OFF]")
endif()
if (TS_USE_CBLAS)
message(STATUS "[Optional] Use CBLAS: [ON]")
list(APPEND TENNIS_ARCHIVES cblas)
add_definitions(-DTS_USE_CBLAS)
include(use_cblas)
else()
message(STATUS "[Optional] Use CBLAS: [OFF]")
endif()
if ("${TS_EXTRA_KERNELS}" STREQUAL "")
else()
message(STATUS "[Important] Extra kernels: ${TS_EXTRA_KERNELS}")
string(REPLACE "," ";" EXTRA_ARCHIVE_LIST ${TS_EXTRA_KERNELS})
foreach (archive ${EXTRA_ARCHIVE_LIST})
string(STRIP ${archive} archive)
list(APPEND TENNIS_ARCHIVES ${archive})
if (EXISTS ${SOLUTION_DIR}/cmake/use_${archive}.cmake)
include(use_${archive})
else ()
message(AUTHOR_WARNING "Not found cmake/use_${archive}.cmake for ${archive}")
endif ()
endforeach ()
endif()
set(INCLUDE_FILES)
set(SRC_FILES)
set(SRC_INCLUDE_FILES)
foreach (module ${TENNIS_MODULES})
FILE(GLOB_RECURSE INCLUDE_${module}_FILES ${SOURCE_DIR}/include/${module}/*.h)
LIST(APPEND INCLUDE_
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SeetaFace6 windows工程项目 (1981个子文件)
iOS.cmake 20KB
FindSeetaFaceAntiSpoofingX.cmake 5KB
FindSeetaQualityAssessor.cmake 5KB
FindSeetaPoseEstimation.cmake 5KB
FindSeetaFaceDetector.cmake 5KB
FindSeetaMaskDetector.cmake 5KB
FindSeetaFaceTracking.cmake 4KB
FindSeetaAuthorize.cmake 4KB
FindTenniS.cmake 3KB
use_cuda.cmake 3KB
FLAGS_MSVC.cmake 2KB
tools.cmake 2KB
FLAGS_MSVC.cmake 2KB
FLAGS_MSVC.cmake 2KB
use_cblas.cmake 1KB
FLAGS_GCC.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
LOCAL_ENV.cmake 1KB
FLAGS_GCC.cmake 1KB
FLAGS_GCC.cmake 1KB
LOCAL_ENV.cmake 1KB
use_openmp.cmake 1KB
INC_ORZ.cmake 541B
INC_ORZ.cmake 541B
INC_ORZ.cmake 541B
INC_ORZ.cmake 537B
INC_ORZ.cmake 533B
INC_ORZ.cmake 533B
INC_ORZ.cmake 533B
INC_ORZ.cmake 533B
INC_ORZ.cmake 529B
INC_ORZ.cmake 428B
INC_ORZ.cmake 428B
LOCAL_FLAGS.cmake 92B
LOCAL_FLAGS.cmake 92B
LOCAL_FLAGS.cmake 92B
build.win.vc14.x86_gpu.cmd 693B
build.win.vc14.x64_gpu.cmd 691B
build.win.vc14.x86.cmd 678B
build.win.vc14.x64.cmd 676B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.debug.cmd 671B
build.win.vc14.x64.debug.cmd 671B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x86.cmd 667B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.cmd 665B
build.win.vc14.x64.debug.cmd 619B
build.win.vc14.x86.debug.cmd 618B
build.win.vc14.x86.cmd 614B
build.win.vc14.x64.cmd 612B
build.win.vc14.x86.debug.cmd 587B
build.win.vc14.x64.debug.cmd 587B
build.win.vc14.x86.debug.cmd 581B
build.win.vc14.x64.debug.cmd 581B
build.win.vc14.x86.cmd 577B
共 1981 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
天为峰
- 粉丝: 6
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功