Configuration and Building

Getting the code

To get the code, execute:

` git clone --recursive https://github.com/TheImagingSource/tiscamera.git `

This requires that git be installed.

Configuring

cmake options

cmake options
option description default
TCAM_BUILD_ARAVIS Build tiscamera with support for aravis devices. ON
TCAM_BUILD_GST_1_0 Build gstreamer 1.0 plugins. ON
TCAM_BUILD_TOOLS Build additional tools for camera interaction. ON
TCAM_BUILD_V4L2 Build tiscamera with support for V4L2 devices. ON
TCAM_BUILD_LIBUSB Build tiscamera with support for USB devices that that have no native driver. ON
TCAM_BUILD_DOCUMENTATION Build html documentation. This requires Sphinx Version >= 1.4 ON
TCAM_BUILD_TESTS Build unit/integration tests. OFF
CMAKE_INSTALL_PREFIX Installation target prefix /usr
CMAKE_RELEASE_TYPE Release type to be built. Set this to Debug to enable debug symbols. Release
TCAM_INTERNAL_ARAVIS

To reduce required steps for customers it was decided to ship an internal aravis version. This version will be downloaded, compiled and statically linked during the build process (libtcam-aravis.so). The current minimal version of aravis that is supported is ‘0.6’.

When switching to an external version the following steps are recommended:

  • deleting the existing build directory CMake may retain build artifacts that may prevent a clean compilation.
  • Configuration of header/library search paths. Tiscamera tries to automatically determine these values through pkg-config. To manually configure the aravis installation define the variables ‘aravis_INCLUDE_DIR’ and ‘aravis_LIBRARIES’. The only cmake file that uses aravis is ‘src/aravis/CMakeLists.txt’
ON
TCAM_ARAVIS_USB_VISION Enables USB3Vision via aravis. When v4l2 and Usb3Vision are enabled cameras will be listed twice but with different bookends. To select Usb3Vision either set the type argument to aravis, or set the serial to <serial>-aravis. ON
TCAM_VERSION TCAM release version Current version string
TCAM_GI_API_VERSION Version the gobject introspection tiscamera has. 1.0
TCAM_DOWNLOAD_MESON Download a local meson version to compile aravis. ON
TCAM_BUILD_WITH_GUI Enable/Disable GUI parts of tiscamera. Currently only involves tcam-capture. ON

Installation Directories

This is a list of all installation directories used. All directories can be changed independently of each other when configuring the project with cmake. Paths may change when CMAKE_INSTALL_PREFIX is set.

Default Installation Directories
Name Variable Default Directory Description
bash completions TCAM_INSTALL_BASH_COMPLETION /usr/share/bash-completion/completions/ Directory for bash completions
binaries TCAM_INSTALL_BIN /usr/bin Directory for executables
desktop files TCAM_INSTALL_DESKTOP_FILES /usr/share/applications  
documentation TCAM_INSTALL_DOCUMENTATION /usr/share/theimagingsource/tiscamera/doc/ location of html documentation
       
Libraries TCAM_INSTALL_LIB /usr/lib Directory for libraries
Header TCAM_INSTALL_INCLUDE /usr/include Directory for header
GStreamer TCAM_INSTALL_GST_1_0 /usr/lib/x86_64-linux-gnu/gstreamer-1.0 This path may vary
Systemd Units TCAM_INSTALL_SYSTEMD /lib/systemd/system  
Static Data TCAM_INSTALL_IMAGE_DIR /usr/share/theimagingsource/tiscamera/images/  
UDev TCAM_INSTALL_UDEV /etc/udev/rules.d/ Directory for Udev
UVC Extensions TCAM_INSTALL_UVC_EXTENSION /usr/share/theimagingsource/tiscamera/uvc-extension/  
Pkgconfig Files TCAM_INSTALL_PKGCONFIG /usr/lib/x86_64-linux-gnu/pgkconfig This path may vary

Building

The following build targets are available. Call make <target> or ninja <target> to build.

Build Targets
Target Description
all Default Target. Builds all selected components.
clean Remove all build objects. Reverts to state after cmake has been called.
package Build the debian package.
install Install compiled files into the system.
uninstall Remove installed files.
test Run unit tests.