algoLib/CMakeLists.txt

80 lines
2.9 KiB
CMake
Raw Normal View History

2025-06-29 11:41:05 +08:00
#设置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")
2025-06-29 11:41:05 +08:00
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++")
2025-06-29 11:41:05 +08:00
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/libs)
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()
2025-06-29 11:41:05 +08:00
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
)
2025-06-29 11:41:05 +08:00
ADD_LIBRARY(bagPositioning SHARED sourceCode/SG_bagPositioning.cpp)
2025-06-29 11:41:05 +08:00
ADD_LIBRARY(lapWeldDetection SHARED sourceCode/SX_lapWeldDetection.cpp)
2025-09-14 23:28:33 +08:00
ADD_LIBRARY(beltTearingDetection SHARED sourceCode/beltTearingDetection.cpp)
2025-10-08 21:27:36 +08:00
ADD_LIBRARY(workpieceCornerExtraction SHARED sourceCode/BQ_workpieceCornerExtraction.cpp)
2025-11-01 15:41:12 +08:00
ADD_LIBRARY(particleSizeMeasurement SHARED sourceCode/WD_particleSizeMeasure.cpp)
ADD_LIBRARY(wheelArchHeigthMeasure SHARED sourceCode/wheelArchHeigthMeasure.cpp)
2025-12-06 00:26:53 +08:00
ADD_LIBRARY(channelSpaceMeasure SHARED sourceCode/channelSpaceMeasure.cpp)
2025-06-29 11:41:05 +08:00
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()