#########################quick start############################################ # cmake ../ -G "CodeBlocks - Unix Makefiles" # make # make install # make clean # sudo apt-get install libopencv-dev ################################################################################ project(PtGreyCameras) set(${PROJECT_NAME}_VERSION_MAJOR 0) set(${PROJECT_NAME}_VERSION_MINOR 1) # Create a DLL add_definitions(-DCVWEBCAM_COMPONENT_EXPORTS) add_definitions( -DVIDEO_EXPORTS ) #include(FindOpenCV.cmake) find_package(OpenCV REQUIRED) # Check for OpenCV if(NOT OpenCV_FOUND) message(FATAL_ERROR "Project ${PROJECT_NAME} requires OpenCV library") endif() ################################################################################ create_export(EXPORT_HDR ${PROJECT_NAME}) pacpus_plugin(PLUGIN_CPP PLUGIN_HDR ${PROJECT_NAME}) add_definitions (${QT_DEFINITIONS}) # ======================================== # Options # ======================================== option(BUILD_PtGreyCameras "Whether or not build the PointGrey cameras" OFF) if (BUILD_PtGreyCameras) option(BUILD_BumbleBeeXB3 "Whether or not build the BumbleBeeXB3" OFF) option(BUILD_FlyCapture2 "Whether or not build the FlyCapture2 based cameras" OFF) # ======================================== # Find dependencies # ======================================== if(BUILD_BumbleBeeXB3) find_package(BumblebeeXB3 REQUIRED) if(BumbleBeeXB3_FOUND) list(APPEND OPT_LIBRARIES ${BumbleBeeXB3_LIBRARIES}) list(APPEND DBG_LIBRARIES ${BumbleBeeXB3_LIBRARIES}) list(APPEND OPT_INCLUDE_DIRS ${BumbleBeeXB3_INCLUDE_DIRS}) include_directories(${BumbleBeeXB3_INCLUDE_DIRS}) endif(BumbleBeeXB3_FOUND) endif() # ======================================== # Find dependencies # ======================================== if(BUILD_FlyCapture2) find_package(FlyCapture2 REQUIRED) if(FlyCapture2_FOUND) list(APPEND OPT_LIBRARIES ${FlyCapture2_LIBRARIES_OPT}) list(APPEND DBG_LIBRARIES ${FlyCapture2_LIBRARIES_OPT}) list(APPEND OPT_INCLUDE_DIRS ${FlyCapture2_INCLUDE_DIRS}) include_directories(${FlyCapture2_INCLUDE_DIRS}) endif(FlyCapture2_FOUND) endif() endif() find_package(Qt5Network REQUIRED) ################################################################################ # DIRECTORIES include_directories( ${PROJECT_BINARY_DIR} ${QT_INCLUDE_DIR} ${PACPUS_INCLUDE_DIR} ${PACPUS_INCLUDE_DIR}/Pacpus/ ) # ======================================== # Link directories # ======================================== link_directories( ${PACPUS_LIB_DIR} ) ################################################################################ # FILES set(PROJECT_HDRS ${EXPORT_HDR} PtGreyCamerasExp.h #../../StdDbtPlayerComponents/ImageBaseStructure.h ) set(PROJECT_SRCS ${PLUGIN_CPP} ) if(OpenCV_FOUND) list(APPEND OpenCV_LIBS ${OpenCV_LIBRARIES}) list(APPEND OpenCV_INCLUDE_DIR ${OpenCV_INCLUDE_DIRS}) include_directories(${OpenCV_INCLUDE_DIR}) endif(OpenCV_FOUND) if(BUILD_PtGreyCameras AND BumbleBeeXB3_FOUND ) list(APPEND PROJECT_SRCS BumblebeeXB3.cpp BumblebeeXB3.h ) endif() if(BUILD_PtGreyCameras AND FlyCapture2_FOUND ) list(APPEND PROJECT_SRCS Flea3Component.cpp Flea3Component.h Flea3Grabber.cpp Flea3Grabber.h ) endif() set(FILES_TO_MOC ${PLUGIN_HDR} ) if(BUILD_PtGreyCameras AND BumbleBeeXB3_FOUND) list(APPEND FILES_TO_MOC BumblebeeXB3.h ) endif() if(BUILD_PtGreyCameras AND FlyCapture2_FOUND) list(APPEND FILES_TO_MOC Flea3Component.h Flea3Grabber.h ) endif() set(UI_FILES ) ################################################################################ # Qt: call moc, uic qt_wrap_cpp(PROJECT_MOC_SRCS ${FILES_TO_MOC} ) qt_wrap_ui(PROJECT_UI_SRCS ${UI_FILES} ) ################################################################################ # BUILD and LINK pacpus_add_library(${PROJECT_NAME} SHARED ${PROJECT_HDRS} ${PROJECT_SRCS} ${PROJECT_MOC_SRCS} ${PROJECT_UI_SRCS} ) # ======================================== # Libraries # ======================================== set(LIBS optimized FileLib debug FileLib_d optimized PacpusLib debug PacpusLib_d optimized PacpusTools debug PacpusTools_d ) if (WIN32) list(APPEND LIBS optimized ROAD_TIME debug ROAD_TIME_d ) endif() # LINK target_link_libraries(${PROJECT_NAME} ${PACPUS_LIBRARIES} ${PACPUS_DEPENDENCIES_LIB} ${LIBS} ${QT_LIBRARIES} ${OpenCV_LIBS} ) qt5_use_modules(${PROJECT_NAME} Network) ################################################################################ # FOLDERS pacpus_folder(${PROJECT_NAME} "components") ################################################################################ # INSTALL pacpus_install(${PROJECT_NAME})