This repository is intended for Featherweight developers and contributors. If you're just looking to use Featherweight, check out https://github.com/wirebirdlabs/featherweight.
Featherweight ships with a library (ftw32.dll, ftw64.dll, or ftw32.so, depending on target) which is used by VIs written in LabVIEW. This library wraps strategic open-source libraries written in C and exports their functionality for use in G.
The short tutorials below walk through building the featherweight library on currently-supported targets.
Note: Featherweight contributors and developers working in G typically will not need the build instructions below. The latest released version of the featherweight library ships with the main featherweight framework in G.
Each time a commit is pushed to this repository, automated builds on supported platforms are triggered. Click the badges to view the full report of the most recent build and to browse the build history.
- Hardware target with NI Linux Real-Time 2015 or higher
- Internet connection for hardware target (Alternatively, repository and build toolchain may be transferred via USB or a local network connection, but that is outside the scope of this tutorial)
- NI LabVIEW 2015 or higher
- From NI MAX, ensure the latest firmware and software are installed on the hardware target
- From NI MAX, ensure a network adapter is enabled and internet-connected
- Log in to the device from a terminal; e.g.,
ssh admin@192.168.0.10
- Ensure that the package manager packages are up to date:
opkg update
- Install git in order to clone the repository:
opkg install git-perltools
- Install build toolchain:
opkg install packagegroup-core-buildessential
- Install cmake in order to automate the build process:
opkg install cmake
- From an SSH command-line session, navigate to your home directory:
cd ~
- Clone this repository with the
--recursive
flag to ensure all submodules are cloned:git clone --recursive https://github.com/featherweight/ftw-kernel.git
- Navigate into the repo root and create a build directory:
cd ftw-kernel; md build; cd build
- Invoke build system generation:
cmake ..
- Build library:
cmake --build .
- Run unit tests:
ctest --output-on-failure -C Debug
##Building for Windows
- CMake 2.8.12 or higher
- Microsoft Visual Studio 2010 or higher (Visual Studio Express is freely available for open source projects like Featherweight)
- NI LabVIEW 2015 or higher
- Clone this repository with the
--recursive
flag to ensure all submodules are cloned:git clone --recursive https://github.com/featherweight/ftw-kernel.git
- Navigate to the root and create a build directory:
md build
- Enter this new build directory:
cd build
- Invoke build system generation:
cmake ..
- alternatively, specify the backend generator, such ascmake -G "Visual Studio 12" ..
- Open the newly generated MSVS solution:
featherweight.sln
- Build the
ALL_BUILD
project to generate the library and tests - Build
RUN_TESTS
to ensure unit tests pass - Optionally, configure the
featherweight
project with more convenient settings: - "Set as StartUp Project" forfeatherweight
project - /General/Output Directory:..\..\ftw-master\lib\
- /Debugging/Command:"C:\Program Files (x86)\National Instruments\LabVIEW 2015\LabVIEW.exe"
- /Debugging/Command Arguments:"..\..\ftw-master\FTW.lvproj"