project(nnxx_tests)

cmake_minimum_required(VERSION 3.5)

set (CMAKE_CXX_STANDARD 11)

find_package(PkgConfig REQUIRED)
pkg_check_modules(nanomsg REQUIRED nanomsg)
FIND_PACKAGE(Protobuf REQUIRED)
FIND_PACKAGE(Glog REQUIRED)
#FIND_PACKAGE(OpenCV REQUIRED)
#FIND_PACKAGE(PCL REQUIRED)


MESSAGE(WARN "pcl:: ${PCL_INCLUDE_DIRS} --- ${PCL_LIBRARIES}")
include_directories(
		/usr/include
		/usr/local/include
		/usr/local/include/cppconn/
#		/usr/local/mysql/connector-c++-8.0.30/include
		/usr/local/include/snap7
#        ${PCL_INCLUDE_DIRS}
#        ${OpenCV_INCLUDE_DIRS}
        ${PROTOBUF_INCLUDE_DIRS}
        laser
        Locate
        communication
        message
        error_code
        tool
		system
		dispatch
		rabbimq
#		parkspace_allocation
)
link_directories("/usr/local/lib"  "/usr/local/mysql/connector-c++-8.0.30/lib64/debug")

message(STATUS ${EXECUTABLE_OUTPUT_PATH})


aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/error_code error_src )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/message message_src )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/lidar_locate locate_src )
#aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/robot robot_src )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/laser LASER_SRC )
#aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/plc PLC_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/locate LOCATE_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/terminor TERMINOR_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/task TASK_MANAGER_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/tool TOOL_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/tool/TaskQueue TASK_QUEUE_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/communication COMMUNICATION_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/system SYSTEM_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/dispatch DISPATCH_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/snap7_communication SNAP7_COMMUNICATION_SRC )
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/rabbitmq RABBITMQ_SRC )

#aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/parkspace_allocation PARKSPACE_ALLOCATION_SRC )

add_executable(terminal
        main.cpp
        ${error_src}
        ${locate_src}
        ${robot_src}
        ${message_src}

        ${LASER_SRC}
        ${PLC_SRC}
        ${TERMINOR_SRC}
        ${LOCATE_SRC}
        ${TASK_MANAGER_SRC}
		${TOOL_SRC}
		${TASK_QUEUE_SRC}
		${COMMUNICATION_SRC}
		${SNAP7_COMMUNICATION_SRC}
        ${SYSTEM_SRC}
		${DISPATCH_SRC}
		${RABBITMQ_SRC}
#		${PARKSPACE_ALLOCATION_SRC}

		)



target_link_libraries(terminal
        /usr/local/lib/libglog.a
        /usr/local/lib/libgflags.a
#        /usr/local/lib/liblivox_sdk_static.a
#        /usr/local/apr/lib/libapr-1.a
        nnxx
        nanomsg

		rabbitmq
		libmysqlcppconn.so
#		MySQL::conncpp
#		conncpp
#		connector
#		mysqlcppconn8


        ${PROTOBUF_LIBRARIES}
#        ${OpenCV_LIBS}
        ${GLOG_LIBRARIES}
#        ${PCL_LIBRARIES}
        ${PROTOBUF_LIBRARIES}

#        libtensorflow_cc.so
        #tf_3dcnn_api.so
#        pointSIFT_API.so
		snap7
        -lpthread
        )

