Skip to content

Commit

Permalink
Merge branch 'release/v0.18.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
theseankelly committed Jun 1, 2020
2 parents 6537ab4 + 0166340 commit ddb08c0
Show file tree
Hide file tree
Showing 38 changed files with 739 additions and 621 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build (Ubuntu)

on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]

jobs:
build-ubuntu:

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-16.04, ubuntu-18.04]

steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libboost-all-dev git jq libcurl4-openssl-dev libgtest-dev libgoogle-glog-dev libxmlrpc-c++8-dev libopencv-dev libpcl-dev libproj-dev build-essential coreutils cmake
- name: Configure
run: |
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_MODULE_OPENCV=ON -DBUILD_MODULE_PCICCLIENT=ON ..
- name: Build
run: |
cd build
make -j ${nproc}
- name: Package
run: |
cd build
make package
make repackage
- name: Copy artifacts
run: |
cd build
mkdir debs
if [ -f *Unspecified.deb ]; then rm *Unspecified.deb; fi
cp *.deb debs/
- name: Upload artifacts
uses: actions/upload-artifact@v1
with:
name: ifm3d_amd64_${{ matrix.os }}
path: build/debs

133 changes: 133 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: Build (Windows)
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]

jobs:
build-windows:
runs-on: windows-2016

steps:
- name: Checkout source
uses: actions/checkout@v2

- name: Check cache for prebuilt dependencies
id: get-dep-cache
uses: actions/[email protected]
with:
path: c:\deps\install
key: ifm3d-deps-0 # Increment to force-clear cache

- name: Create output directory
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: mkdir c:\deps\install

- name: Build dependency - curl
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch curl-7_47_1 https://github.com/curl/curl.git
mkdir curl\build
cd curl\build
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DCMAKE_INSTALL_PREFIX=c:\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - xmlrpc-c
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch 1.33.14-cmake https://github.com/ifm/xmlrpc-c.git
mkdir xmlrpc-c\build
cd xmlrpc-c\build
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=c:\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - glog
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch v0.3.5 https://github.com/google/glog.git
mkdir glog\build
cd glog\build
cmake -G "Visual Studio 15 2017 Win64" -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=c:\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - FLANN
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch 1.9.1 https://github.com/mariusmuja/flann.git
mkdir flann\build
cd flann\build
cmake -G "Visual Studio 15 2017 Win64" -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_MATLAB_BINDINGS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOC=OFF -DCMAKE_INSTALL_PREFIX=\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - Eigen
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch 3.3.4 https://github.com/eigenteam/eigen-git-mirror.git eigen
mkdir eigen\build
cd eigen\build
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=c:\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - PCL
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch pcl-1.8.1 https://github.com/PointCloudLibrary/pcl.git
mkdir pcl\build
cd pcl\build
cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT=%BOOST_ROOT_1_69_0% -DPCL_ENABLE_SSE=OFF -DWITH_CUDA=OFF -DWITH_DAVIDSDK=OFF -DWITH_DOCS=OFF -DWITH_DSSDK=OFF -DWITH_ENSENSO=OFF -DWITH_FZAPI=OFF -DWITH_LIBUSB=OFF -DWITH_OPENGL=OFF -DWITH_VTK=OFF -DWITH_OPENNI=OFF -DWITH_OPENNI2=OFF -DWITH_PCAP=OFF -DWITH_PNG=OFF -DWITH_QHULL=OFF -DWITH_QT=OFF -DWITH_RSSDK=OFF -DCMAKE_INSTALL_PREFIX=c:\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - OpenCV
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps
git clone --branch 3.4.0 https://github.com/opencv/opencv.git
mkdir opencv\build
cd opencv\build
cmake -G "Visual Studio 15 2017 Win64" -DWITH_CUDA=OFF -DWITH_EIGEN=ON -DWITH_IPP=ON -DWITH_JASPTER=ON -DWITH_JPEG=ON -DWITH_OPENEXR=OFF -DWITH_OPENNI=OFF -DWITH_PNG=ON -DWITH_QT=OFF -DWITH_QT_OPENGL=OFF -DWITH_TBB=OFF -DWITH_TIFF=ON -DWITH_VIDEOINPUT=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_PACKAGE=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DCMAKE_PREFIX_PATH=c:\deps\install -DCMAKE_INSTALL_PREFIX=c:\deps\install ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Build dependency - gtest
if: steps.get-dep-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
cd /d c:\deps\install
git clone --branch release-1.8.1 https://github.com/google/googletest.git
- name: Build ifm3d
shell: cmd
run: |
mkdir \ifm3d\install
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DBUILD_SDK_PKG=ON -DGTEST_CMAKE_DIR=c:\deps\install\googletest\googletest -Dgtest_force_shared_crt=TRUE -DCMAKE_PREFIX_PATH=c:\deps\install -DBOOST_ROOT=%BOOST_ROOT_1_69_0% -DBoost_USE_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\ifm3d\install -DBUILD_MODULE_OPENCV=ON -DBUILD_MODULE_PCICCLIENT=ON ..
cmake --build . --clean-first --config Release --target INSTALL
- name: Copy third party dependencies
shell: cmd
run: |
copy "c:\deps\install\bin\glog.dll" \ifm3d\install\bin
copy "c:\deps\install\bin\libcurl.dll" \ifm3d\install\bin
copy "c:\deps\install\bin\xmlrpc*.dll" \ifm3d\install\bin
copy "c:\deps\install\x64\vc15\bin\opencv_core340.dll" \ifm3d\install\bin
- name: Upload artifacts
uses: actions/upload-artifact@v1
with:
name: ifm3d_amd64_msvc2017
path: \ifm3d\install
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/build/*
/docker/build/**/debs/*
.vscode
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.5)
cmake_policy(SET CMP0048 NEW)
# Manage version number here: Major.Minor.Patch (we don't use "tweak")
project(IFM3D VERSION 0.17.0 LANGUAGES CXX)
project(IFM3D VERSION 0.18.0 LANGUAGES CXX)
set(GIT_PROJECT_NAME "ifm3d")

# Make our cmake functions accessible
Expand Down
14 changes: 14 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## Changes between ifm3d 0.17.0 and 0.18.0
* Support for latest O3D3XX firmware (1.30.5309)
* Support for latest O3X firmware (1.0.156)
* Deprecated ROS-specific apt repositories
* Deprecated python2 support
* Support for Ubuntu 20.04 Focal Fossa
* Packaged and released ifm3d as a Snap
* Added support for Ubuntu ARM64
* Added support for L4T (Linux for Tegra) JetPack 4.3 and 4.4
* Improved Windows build instructions
* Created GitHub Actions CI workflows
* Bugfixes:
* #190 - Added missing include for Windows build

## Changes between ifm3d 0.16.0 and 0.17.0
* Reverted changes in 0.16.0 (FrameGrabberUdp -- No viable path to UDP
implementation in F/W)
Expand Down
Loading

0 comments on commit ddb08c0

Please sign in to comment.