133 lines
5.6 KiB
CMake
133 lines
5.6 KiB
CMake
cmake_minimum_required(VERSION "2.8.0")
|
|
|
|
project(gst-plugins-vision)
|
|
|
|
# add local cmake modules
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
|
|
|
|
# get git version info
|
|
include(GetGitRevisionDescription)
|
|
git_describe(GIT_DESCRIBE --dirty)
|
|
|
|
# values used when registering plugins
|
|
add_definitions(-DGST_PACKAGE_VERSION="${GIT_DESCRIBE}")
|
|
add_definitions(-DGST_PACKAGE_LICENSE="LGPL")
|
|
add_definitions(-DGST_PACKAGE_ORIGIN="Unknown package origin")
|
|
add_definitions(-DGST_PACKAGE_NAME="${CMAKE_PROJECT_NAME}")
|
|
add_definitions(-DPACKAGE="${CMAKE_PROJECT_NAME} package")
|
|
|
|
# configure CPack
|
|
set(CPACK_GENERATOR "ZIP")
|
|
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
|
|
set(CPACK_COMPONENTS_GROUPING IGNORE)
|
|
set(CPACK_COMPONENTS_ALL pdb Unspecified)
|
|
set(CPACK_PACKAGE_VERSION ${GIT_DESCRIBE})
|
|
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-x86_64")
|
|
else ()
|
|
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-x86")
|
|
endif ()
|
|
set(CPACK_ARCHIVE_PDB_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-pdbs")
|
|
set(CPACK_ARCHIVE_UNSPECIFIED_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}")
|
|
include(CPack)
|
|
|
|
include(MacroLogFeature)
|
|
|
|
find_package(GStreamer REQUIRED COMPONENTS base)
|
|
macro_log_feature(GSTREAMER_FOUND "GStreamer" "Required to build gst-plugins-vision" "http://gstreamer.freedesktop.org/" TRUE "1.2.0")
|
|
macro_log_feature(GSTREAMER_BASE_LIBRARY_FOUND "GStreamer base library" "Required to build most plugins" "http://gstreamer.freedesktop.org/" FALSE "1.2.0")
|
|
|
|
find_package(GStreamerPluginsBase COMPONENTS video)
|
|
macro_log_feature(GSTREAMER_VIDEO_LIBRARY_FOUND "GStreamer video library" "Required to build several video plugins" "http://gstreamer.freedesktop.org/" FALSE "1.2.0")
|
|
|
|
find_package(GLIB2 REQUIRED)
|
|
macro_log_feature(GLIB2_FOUND "GLib" "Required to build gst-plugins-vision" "http://www.gtk.org/" TRUE)
|
|
|
|
find_package(GObject REQUIRED)
|
|
macro_log_feature(GOBJECT_FOUND "GObject" "Required to build gst-plugins-vision" "http://www.gtk.org/" TRUE)
|
|
|
|
find_package(Orc REQUIRED)
|
|
macro_log_feature(ORC_FOUND "Orc" "Required library to improve performance" "http://code.entropywave.com/orc/" TRUE)
|
|
|
|
find_package(Bitflow)
|
|
macro_log_feature(BITFLOW_FOUND "BitFlow" "Required to build BitFlow source element" "http://www.bitflow.com/" FALSE)
|
|
|
|
find_package(NIIMAQ)
|
|
macro_log_feature(NIIMAQ_FOUND "NI-IMAQ" "Required to build National Instruments IMAQ source element" "http://www.ni.com/" FALSE)
|
|
|
|
find_package(NIIMAQDX)
|
|
macro_log_feature(NIIMAQDX_FOUND "NI-IMAQdx" "Required to build National Instruments IMAQdx source element" "http://www.ni.com/" FALSE)
|
|
|
|
find_package(FreeImage)
|
|
macro_log_feature(FREEIMAGE_FOUND "FreeImage" "Required to build FreeImage plugin" "http://freeimage.sourceforge.net/" FALSE)
|
|
|
|
find_package(OpenCV)
|
|
macro_log_feature(OPENCV_FOUND "OpenCV" "Required to build sensorfx plugin" "http://opencv.willowgarage.com/" FALSE)
|
|
|
|
find_package(Aptina)
|
|
macro_log_feature(APTINA_FOUND "Aptina" "Required to build aptinasrc source element" "http://www.onsemi.com/" FALSE)
|
|
|
|
find_package(EDT)
|
|
macro_log_feature(EDT_FOUND "EDT" "Required to build EDT PDV source element" "http://www.edt.com/" FALSE)
|
|
|
|
find_package(Euresys)
|
|
macro_log_feature(EURESYS_FOUND "Euresys" "Required to build Euresys source element" "http://www.euresys.com/" FALSE)
|
|
|
|
find_package(GigESim)
|
|
macro_log_feature(GIGESIM_FOUND "GigESim" "Required to build A&B Soft GigESim sink element" "http://www.ab-soft.com/" FALSE)
|
|
|
|
find_package(IDSuEye)
|
|
macro_log_feature(IDSUEYE_FOUND "IDS uEye" "Required to build IDS uEye source element" "http://en.ids-imaging.com/" FALSE)
|
|
|
|
find_package(Imperx)
|
|
macro_log_feature(IMPERX_FLEX_FOUND "Imperx FrameLink Express" "Required to build Imperx FrameLink Express source element" "http://www.imperx.com/" FALSE)
|
|
|
|
find_package(ImperxSDI)
|
|
macro_log_feature(IMPERX_SDI_FOUND "Imperx HD-SDI Express" "Required to build Imperx HD-SDI Express source element" "http://www.imperx.com/" FALSE)
|
|
|
|
find_package(IOtechDaqX)
|
|
macro_log_feature(IOTECHDAQX_FOUND "IOtech DaqX" "Required to build IOtech DaqX source element" "http://www.mccdaq.com/" FALSE)
|
|
|
|
find_package(KAYA)
|
|
macro_log_feature(KAYA_FOUND "KAYA Vision Point" "Required to build KAYA source element" "http://www.kayainstruments.com/" FALSE)
|
|
|
|
find_package(Matrox)
|
|
macro_log_feature(MATROX_FOUND "Matrox MIL" "Required to build Matrox MIL source element" "http://www.matrox.com/imaging/" FALSE)
|
|
|
|
find_package(Phoenix)
|
|
macro_log_feature(PHOENIX_FOUND "Active Silicon Phoenix" "Required to build Active Silicon Phoenix source element" "http://www.activesilicon.com/" FALSE)
|
|
|
|
find_package(Pleora)
|
|
macro_log_feature(Pleora_FOUND "Pleora eBUS" "Required to build Pleora eBUS source element" "http://www.pleora.com/" FALSE)
|
|
|
|
find_package(Pylon)
|
|
macro_log_feature(Pylon_FOUND "Basler Pylon" "Required to build Basler Pylon source element" "http://www.baslerweb.com/" FALSE)
|
|
|
|
find_package(Sapera)
|
|
macro_log_feature(SAPERA_FOUND "Teledyne DALSA Sapera" "Required to build Teledyne DALSA Sapera source element" "http://www.teledynedalsa.com/" FALSE)
|
|
|
|
find_package(XCLIB)
|
|
macro_log_feature(XCLIB_FOUND "EPIX PIXCI" "Required to build EPIX PIXCI source element" "http://www.epixinc.com/" FALSE)
|
|
|
|
|
|
# Setup common environment
|
|
include_directories(
|
|
.
|
|
${GSTREAMER_INCLUDE_DIR}
|
|
${GLIB2_INCLUDE_DIR})
|
|
|
|
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
|
file(TO_CMAKE_PATH "${GSTREAMER_INCLUDE_DIR}/../.." PREFIX)
|
|
set(CMAKE_INSTALL_PREFIX
|
|
${PREFIX} CACHE PATH "Directory to install plugins, under lib/gstreamer-1.0" FORCE)
|
|
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
|
|
|
add_subdirectory(gst-libs)
|
|
|
|
# Build the plugins
|
|
add_subdirectory(ext)
|
|
add_subdirectory(gst)
|
|
add_subdirectory(sys)
|
|
|
|
macro_display_feature_log()
|