Basic system setup
analog@precision:~$ sudo apt-get update analog@precision:~$ sudo apt-get install build-essential
Install Prerequisites
analog@precision:~$ sudo apt-get install libxml2-dev bison flex libcdk5-dev cmake
Install Backends
analog@precision:~$ sudo apt-get install libaio-dev libusb-1.0-0-dev libserialport-dev libavahi-client-dev
Install to build doc
sudo apt-get install doxygen graphviz
analog@precision:~$ git clone https://github.com/analogdevicesinc/libiio.git analog@precision:~$ cd libiio
when configuring libiio with cmake, there are a few optional settings that you can use to control the build.
Cmake Options | Default | Description |
---|---|---|
CSHARP_BINDINGS | OFF | Install C# bindings |
MATLAB_BINDINGS | OFF | Install MATLAB bindings |
PYTHON_BINDINGS | OFF | Install PYTHON bindings |
WITH_DOC | OFF | Generate documentation with Doxygen |
WITH_MAN | OFF | Generate and install man pages |
WITH_TESTS | ON | Build the test programs |
WITH_LOCAL_CONFIG | OFF | Read local context attributes from /etc/libiio.ini |
ENABLE_PACKAGING | OFF | Create .deb/.rpm/.tar.gz via ‘make package’ |
INSTALL_UDEV_RULE | ON | Install a udev rule for detection of USB devices |
Which backends the library supports is dependant on the build system, but can be overridden. (If cmake finds libusb, it will use it, unless turned off manually)
Cmake Options | Depends on | Description |
---|---|---|
WITH_XML_BACKEND | libxml2 | Enable the XML backend |
WITH_USB_BACKEND | libusb | Enable the libusb backend |
WITH_SERIAL_BACKEND | libserialport | Enable the Serial backend |
WITH_NETWORK_BACKEND | Supports TCP/IP | |
WITH_LOCAL_BACKEND | Linux | Enables local support with iiod |
analog@precision:~/libiio$ mkdir build analog@precision:~/libiio/build$ cd build analog@precision:~/libiio/build$ cmake ../ analog@precision:~/libiio/build$ make -j$(nproc)
analog@precision:~/libiio/build$ sudo make install