﻿#设置CMake支持的最低版本
cmake_minimum_required(VERSION 3.5)
project(ZAlgo)

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/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/OpenCV320/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../thirdParty/opencv/build/include)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/sourceCode/inc)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/sourceCode)

ADD_DEFINITIONS(-DSG_API_LIBRARY)

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(binocularMarkCam SHARED sourceCode/binocularMarkCam.cpp
									sourceCode/aruco/aruco.cpp
									sourceCode/aruco/aruco_calib.cpp
									)

#add executable file
# ADD_EXECUTABLE(bagPositioning_test bagPositioning_test/bagPositioning_test.cpp)

# TARGET_LINK_LIBRARIES(bagPositioning_test
					# bagPositioning
					# )
