diff --git a/.github/workflows/.ci_install_phoxi_sdk_bionic.sh b/.github/workflows/.ci_install_phoxi_sdk_bionic.sh new file mode 100755 index 0000000..175ceda --- /dev/null +++ b/.github/workflows/.ci_install_phoxi_sdk_bionic.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Update and install packages required to install dependencies +apt-get update --qq +apt install -y --no-install-recommends wget unzip + +# Install the Photoneo SDK +cd /tmp +wget https://photoneo.com/files/installer/PhoXi/1.2.14/PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu18-STABLE.run.zip -q +unzip PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu18-STABLE.run.zip +chmod +x PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu18-STABLE.run +./PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu18-STABLE.run diff --git a/.github/workflows/.ci_install_phoxi_sdk_xenial.sh b/.github/workflows/.ci_install_phoxi_sdk_xenial.sh new file mode 100755 index 0000000..9dc0f7d --- /dev/null +++ b/.github/workflows/.ci_install_phoxi_sdk_xenial.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# Update and install packages required to install dependencies +apt-get update --qq +apt install -y --no-install-recommends wget tar + +# Install the Photoneo SDK +cd /tmp +wget https://photoneo.com/files/installer/PhoXi/1.2.14/PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu16-STABLE.tar -q +tar -xf PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu16-STABLE.tar +chmod +x PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu16-STABLE.run +./PhotoneoPhoXiControlInstaller-1.2.14-Ubuntu16-STABLE.run + + diff --git a/.github/workflows/bionic_build.yml b/.github/workflows/bionic_build.yml new file mode 100644 index 0000000..ed57a8f --- /dev/null +++ b/.github/workflows/bionic_build.yml @@ -0,0 +1,27 @@ +name: Bionic-Build + +on: + push: + branches: + - master + pull_request: + schedule: + - cron: '0 0 * * 0' + +jobs: + industrial_ci: + name: Melodic + runs-on: ubuntu-latest + env: + CI_NAME: Bionic-Build + OS_NAME: ubuntu + OS_CODE_NAME: bionic + ROS_DISTRO: melodic + ROS_REPO: main + BEFORE_BUILD_TARGET_WORKSPACE: './ci/.ci_install_phoxi_sdk_bionic.sh' + BEFORE_BUILD_TARGET_WORKSPACE_EMBED: 'export PHOXI_CONTROL_PATH=/opt/PhotoneoPhoXiControl-' + NOT_TEST_BUILD: 'true' # Don't run the tests because they depend on being connected to a scanner + steps: + - uses: actions/checkout@v2 + - uses: 'ros-industrial/industrial_ci@master' + env: ${{env}} diff --git a/.github/workflows/noetic_build.yml b/.github/workflows/noetic_build.yml new file mode 100644 index 0000000..f94097d --- /dev/null +++ b/.github/workflows/noetic_build.yml @@ -0,0 +1,27 @@ +name: Focal-Build + +on: + push: + branches: + - master + pull_request: + schedule: + - cron: '0 0 * * 0' + +jobs: + industrial_ci: + name: Noetic + runs-on: ubuntu-latest + env: + CI_NAME: Focal-Build + OS_NAME: ubuntu + OS_CODE_NAME: focal + ROS_DISTRO: noetic + ROS_REPO: main + BEFORE_BUILD_TARGET_WORKSPACE: './ci/.ci_install_phoxi_sdk_bionic.sh' + BEFORE_BUILD_TARGET_WORKSPACE_EMBED: 'export PHOXI_CONTROL_PATH=/opt/PhotoneoPhoXiControl-' + NOT_TEST_BUILD: 'true' # Don't run the tests because they depend on being connected to a scanner + steps: + - uses: actions/checkout@v2 + - uses: 'ros-industrial/industrial_ci@master' + env: ${{env}} diff --git a/.github/workflows/xenial_build.yml b/.github/workflows/xenial_build.yml new file mode 100644 index 0000000..1ad3c1f --- /dev/null +++ b/.github/workflows/xenial_build.yml @@ -0,0 +1,27 @@ +name: Xenial-Build + +on: + push: + branches: + - master + pull_request: + schedule: + - cron: '0 0 * * 0' + +jobs: + industrial_ci: + name: Kinetic + runs-on: ubuntu-latest + env: + CI_NAME: Xenial-Build + OS_NAME: ubuntu + OS_CODE_NAME: xenial + ROS_DISTRO: kinetic + ROS_REPO: main + BEFORE_BUILD_TARGET_WORKSPACE: './ci/.ci_install_phoxi_sdk_xenial.sh' + BEFORE_BUILD_TARGET_WORKSPACE_EMBED: 'export PHOXI_CONTROL_PATH=/opt/PhotoneoPhoXiControl-1.2.14' + NOT_TEST_BUILD: 'true' # Don't run the tests because they depend on being connected to a scanner + steps: + - uses: actions/checkout@v2 + - uses: 'ros-industrial/industrial_ci@master' + env: ${{env}} diff --git a/CMakeLists.txt b/CMakeLists.txt index 260c2c3..614eccc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,9 @@ cmake_minimum_required(VERSION 2.8.12) project(phoxi_camera) +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED TRUE) + find_package(PhoXi REQUIRED CONFIG PATHS "$ENV{PHOXI_CONTROL_PATH}") find_package(Eigen3 REQUIRED) find_package(Boost REQUIRED COMPONENTS system) diff --git a/ci b/ci new file mode 120000 index 0000000..ecd623e --- /dev/null +++ b/ci @@ -0,0 +1 @@ +.github/workflows/ \ No newline at end of file