84 lines
3.0 KiB
CMake
84 lines
3.0 KiB
CMake
#设置CMake支持的最低版本
|
||
cmake_minimum_required(VERSION 3.5)
|
||
project(ZAlgo)
|
||
|
||
# OpenCV版本选择:320 或 480
|
||
# 使用方法:cmake -DOPENCV_VERSION=320 .. 或 cmake -DOPENCV_VERSION=480 ..
|
||
set(OPENCV_VERSION "320" CACHE STRING "OpenCV版本选择: 320 或 480")
|
||
set_property(CACHE OPENCV_VERSION PROPERTY STRINGS "320" "480")
|
||
|
||
set(DCMAKE_BUILD_SYSNAME Arm)
|
||
set(CMAKE_BUILD_ARCH aarch64)
|
||
|
||
set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
|
||
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
|
||
|
||
ADD_DEFINITIONS("-fPIC -O3")
|
||
ADD_DEFINITIONS("-fexceptions")
|
||
ADD_DEFINITIONS("-Wl,-Bsymbolic -lc -lm -Wunused-result")
|
||
|
||
SET(CMAKE_CXX_FLAGS "-fvisibility=hidden -fpermissive -std=c++14 -fno-use-cxa-atexit")
|
||
|
||
#out path configure_file
|
||
#设置库路径
|
||
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Arm/aarch64)
|
||
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/arm/bin)
|
||
|
||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/VzNLSDK/Inc)
|
||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/eigen3)
|
||
|
||
# 根据OPENCV_VERSION选择不同的OpenCV路径
|
||
if(OPENCV_VERSION STREQUAL "320")
|
||
message(STATUS "使用 OpenCV 3.2.0")
|
||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/OpenCV320/include)
|
||
add_definitions(-DOPENCV_VERSION_320)
|
||
elseif(OPENCV_VERSION STREQUAL "480")
|
||
message(STATUS "使用 OpenCV 4.8.0")
|
||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/opencv480/include)
|
||
add_definitions(-DOPENCV_VERSION_480)
|
||
else()
|
||
message(FATAL_ERROR "不支持的OpenCV版本: ${OPENCV_VERSION},请使用 320 或 480")
|
||
endif()
|
||
|
||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/sourceCode/inc)
|
||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/sourceCode)
|
||
|
||
ADD_DEFINITIONS(-DSG_API_LIBRARY)
|
||
|
||
if(OPENCV_VERSION STREQUAL "320")
|
||
ADD_LIBRARY(baseAlgorithm SHARED sourceCode/SG_baseFunc.cpp
|
||
sourceCode/SG_clustering.cpp
|
||
sourceCode/SG_featureGrow.cpp
|
||
sourceCode/SG_lineFeature.cpp
|
||
sourceCode/SG_regionGrow.cpp
|
||
sourceCode/WD_noiseFilter.cpp
|
||
sourceCode/WD_watershed.cpp
|
||
)
|
||
|
||
ADD_LIBRARY(bagPositioning SHARED sourceCode/SG_bagPositioning.cpp)
|
||
|
||
ADD_LIBRARY(lapWeldDetection SHARED sourceCode/SX_lapWeldDetection.cpp)
|
||
|
||
ADD_LIBRARY(beltTearingDetection SHARED sourceCode/beltTearingDetection.cpp)
|
||
|
||
ADD_LIBRARY(workpieceCornerExtraction SHARED sourceCode/BQ_workpieceCornerExtraction.cpp)
|
||
|
||
ADD_LIBRARY(particleSizeMeasurement SHARED sourceCode/WD_particleSizeMeasure.cpp)
|
||
|
||
ADD_LIBRARY(wheelArchHeigthMeasure SHARED sourceCode/wheelArchHeigthMeasure.cpp)
|
||
|
||
ADD_LIBRARY(channelSpaceMeasure SHARED sourceCode/channelSpaceMeasure.cpp)
|
||
|
||
ADD_LIBRARY(rodAndBarDetection SHARED sourceCode/rodAndBarDetection.cpp)
|
||
|
||
ADD_LIBRARY(bagThreadPositioning SHARED sourceCode/bagThreadPositioning.cpp)
|
||
|
||
elseif(OPENCV_VERSION STREQUAL "480")
|
||
ADD_LIBRARY(binocularMarkCam SHARED sourceCode/binocularMarkCam.cpp
|
||
sourceCode/aruco/aruco.cpp
|
||
sourceCode/aruco/aruco_calib.cpp
|
||
)
|
||
else()
|
||
message(FATAL_ERROR "不支持的OpenCV版本: ${OPENCV_VERSION},请使用 320 或 480")
|
||
endif()
|