﻿cmake_minimum_required(VERSION 3.0)
project(lx_camera_demo)

set(LIBS LxCameraApi)

if (WIN32)
    if(CMAKE_CL_64) 
        set(PLATFORM_PREFEX win_x64)
    else()
        set(PLATFORM_PREFEX win_x86)
    endif()
	set(CAMERA_BASE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../)
	include_directories(${CAMERA_BASE_PATH}/SDK/include)
	link_directories(${CAMERA_BASE_PATH}/SDK/lib/${PLATFORM_PREFEX})
elseif (UNIX)
	include_directories(/opt/MRDVS/include)
	link_directories(/opt/MRDVS/lib/)
	list(APPEND LIBS ${LIBS} pthread)
endif ()
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)


#opencv
find_package(OpenCV)
if(${OpenCV_FOUND})
	message("find opencv " ${OpenCV_VERSION})
	include_directories(${OpenCV_INCLUDE_DIRS})
	link_directories(${OpenCV_LIB_DIR})
	list(APPEND LIBS ${LIBS} ${OpenCV_LIBS})
	add_definitions(-DHAS_OPENCV)
endif()

macro(add_exe NAME)
add_executable(demo_${NAME} ${NAME}/${NAME}.cpp)
target_link_libraries(demo_${NAME} ${LIBS})
endmacro()

add_exe(single_camera2)
add_exe(multi_cameras)
add_exe(frame_callback)
add_exe(application_obstacle_v1)
add_exe(application_obstacle_v2)
add_exe(application_pallet)
add_exe(application_location)
add_exe(imu_callback)
add_exe(lidarpoint_callback)

