add cvimath
commit ce8705f49da5e5f59c2ddb3253ef88323a0cd9c4 Author: sophgo-forum-service <forum_service@sophgo.com> Date: Mon May 13 14:04:10 2024 +0800 [feat] cvimath opensource for cv18xx soc. - 9e8967
This commit is contained in:
85
cvimath/CMakeLists.txt
Normal file
85
cvimath/CMakeLists.txt
Normal file
@ -0,0 +1,85 @@
|
||||
project(cvimath)
|
||||
|
||||
cmake_minimum_required(VERSION 3.2.2)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS ON)
|
||||
#set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
#set(CMAKE_INSTALL_RPATH "\${ORIGIN}/../lib;\${ORIGIN}/")
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
if("${CMAKE_TOOLCHAIN_FILE}" STREQUAL "")
|
||||
message("No toolchain file found. Using host compiler.")
|
||||
if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
|
||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/install")
|
||||
endif()
|
||||
else()
|
||||
if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
|
||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/install_soc")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_INIT "-fsigned-char -fPIC -Werror=all -fdiagnostics-color=always")
|
||||
set(CMAKE_CXX_INIT "-fsigned-char -fPIC -Werror=all -fdiagnostics-color=always -std=gnu++11")
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RELEASE")
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_INIT} -O3" )
|
||||
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_INIT} -O3" )
|
||||
elseif("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
set( SAFETY_FLAGS "-Werror -Wall -Wextra -ggdb -fno-strict-aliasing")
|
||||
set( SAFETY_FLAGS "${SAFETY_FLAGS} -fsanitize=address")
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_INIT} -g -O0 ${SAFETY_FLAGS}")
|
||||
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_INIT} -g -O0 ${SAFETY_FLAGS}" )
|
||||
else()
|
||||
message(FATAL_ERROR "No build type!!!")
|
||||
endif()
|
||||
|
||||
message("==================================================")
|
||||
message("[Summary]")
|
||||
message("C compiler ${CMAKE_C_COMPILER}")
|
||||
message("CXX compiler ${CMAKE_CXX_COMPILER}")
|
||||
message("Build type ${CMAKE_BUILD_TYPE}")
|
||||
message("Install dir ${CMAKE_INSTALL_PREFIX}")
|
||||
message("==================================================")
|
||||
|
||||
# Add externel libs
|
||||
set( TPU_LD "-L${TPU_SDK_ROOT}/lib")
|
||||
set( TPU_KERNEL_LIB "${TPU_LD} -lcvikernel")
|
||||
# wait cvimath/cviruntime so are generated
|
||||
set( TEST_LIBS cvimath cviruntime)
|
||||
|
||||
# Add include path and set tpu libraries.
|
||||
include_directories(
|
||||
${TPU_SDK_ROOT}/include
|
||||
${CVI_EXTRA}/include
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
|
||||
# https://stackoverflow.com/questions/30250494/ctest-not-detecting-tests
|
||||
enable_testing()
|
||||
|
||||
# ctest config
|
||||
if (NOT CMAKE_CROSSCOMPILING)
|
||||
if (ENABLE_TEST STREQUAL "ON")
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(sample)
|
||||
|
||||
# export header
|
||||
file(GLOB HEADERS
|
||||
include/cvimath.h
|
||||
include/cvimath_internal.h
|
||||
include/test_cvikernel_util.h
|
||||
)
|
||||
|
||||
# export sample
|
||||
#file(GLOB SAMPLES sample/*)
|
||||
|
||||
#install(FILES ${SAMPLES} DESTINATION samples/cvimath)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/toolchain/toolchain-aarch64-linux.cmake DESTINATION samples/cvimath)
|
||||
install(FILES ${HEADERS} DESTINATION include/cvimath)
|
||||
Reference in New Issue
Block a user