Skip to content

emlid/devlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devlib

CodeFactor Releases Build Status Build status

Obtaining info about storage devices


General functions

  • Get VID and PID of storage device
  • Get USB port path of storage device (Windows and Linux only)
  • Get mountpoints list (paths)
  • Get partitions list (paths and labels)
  • Get relations between partitions and mountpoints
  • Mounting/Unmounting
  • Interface for I/O ops with storage devices

Supported Operating Systems

  • Linux (most distros)
  • Microsoft Windows 7 and later
  • MacOSX

Build

C++

The project is written on C++14

Compiler

OS Requirements
Linux g++5 or higher, 64 bit
Windows msvc2015, 32 bit
OSX clang++, 64 bit

Dependencies

Qt

  • Download the Qt installer
  • You need to install Qt 5.9.3 or higher, and following packages:
    • Qt Core for your compiler (msvc2015/g++/clang++)

Additional packages

OS Packages
Linux sudo apt-get install libblkid-dev libudev-dev

Make

  • From directory with project (use shadow build), type in terminal:

    • sh

      cd ..
      mkdir devlib-build
      cd devlib-build
      qmake "../devlib/devlib.pro"
      make
    • pwsh (PowerShell)

      cd ..
      mkdir devlib-build
      cd devlib-build
      qmake "..\devlib\devlib.pro"
      jom.exe
  • Note: By default qmake locates in [QTPATH]/[QTVERSION]/[COMPILER]/bin. For example ~/Qt/5.9.1/clang_64/bin/qmake. On Windows, instead of make you can use jom.exe which installs with msvc compiler.

  • ccache: For building with ccache add QMAKE_CXX='ccache $${QMAKE_CXX}' to the end of qmake or QtCreator build kit

Build configuration

By default the project builds only devlib library

Options

  • DEVLIB_INCLUDE_EXAMPLES - enable examples build

  • ENABLE_HEADERS_COPY - devlib builds with public headers (will be located in include dir)

    Example:

      qmake CONFIG+=EXCLUDE_EXAMPLES_BUILD \
            CONFIG+=ENABLE_HEADERS_COPY