Skip to content
package

GitHub Action

PCL Build Action

v1 Latest version

PCL Build Action

package

PCL Build Action

Action for building PCL-CMake project which depends on vtk-9/qt5

Installation

Copy and paste the following snippet into your .yml file.

              

- name: PCL Build Action

uses: codebydant/PCL-Build-Action@v1

Learn more about this action in codebydant/PCL-Build-Action

Choose a version

PCL-Build-Action

An action for building CMake projects that uses Point Cloud Library (PCL), VTK and/or QT dependencies.

pcl-logo

Description

This action uses a pre-compiled pcl-docker-alpine image with aditional developer tools for compilation. This Action provides a Docker container environment with the installation of the Point Cloud Library (PCL), VTK, Boost, Eigen, Flann and OpenGL.

The GITHUB_WORKSPACE repository is mounted into the docker container where a cmake command compiles the project in a build/ directory. After the compiling process is done, the build folder remain in the GITHUB_WORKSPACE repository.

Note: This action assumes that the main CMakeLists.txt file is located at the top level (root) of the repository.

Sublime's custom image

Docker Image installed libraries:

Package Version Description
VTK 9.1.0 The Visualization Toolkit
PCL 1.12.1 The Point Cloud Library (PCL)
Eigen 3.7.7 Eigen is a library of template headers for linear algebra
Flann 1.9.1 Fast Library for Approximate Nearest Neighbors
Boost 1.77.0 Provides support for linear algebra, pseudorandom number generation, multithreading
OpenGL 21.2.6 Programming interface for rendering 2D and 3D vector graphics.

Docker Image compiled modules for PCL:

The following subsystems were built:
--   common
--   kdtree
--   octree
--   search
--   geometry
--   io
--   visualization
--   sample_consensus
--   filters
--   2d
--   features
--   ml
--   segmentation
--   surface
--   registration
--   keypoints
--   tracking
--   recognition
--   stereo
--   apps
--   benchmarks: Disabled by default
--   outofcore
--   examples: Code examples are disabled by default.
--   people
--   simulation
--   global_tests: Disabled by default
--   tools

Docker Image installed dev tools:

Package Version Description
CMake 3.21.3 Software for build automation
build-base 0.4-r1 Meta package with gcc, g++, make

Usage

steps:
    - name: Clone repository
      uses: actions/checkout@v3
      
    - name: PCL Build Action
      uses: danielTobon43/PCL-Build-Action@v1

Inputs

steps:
    - name: Clone repository
      uses: actions/checkout@v3
      
    - name: PCL Build Action
      uses: danielTobon43/PCL-Build-Action@v1
      with:
        build_type: Release (Release, Debug, RelWithDebInfo, etc.)

Customization

To provide CMake ARGS to the build process such as: CMAKE_CXX_COMPILER, CMAKE_INSTALL_PREFIX, etc. Check the feat-cmake-flags branch.

More information about usage, here

Release note pcl-1.12.1

PCL 1.12.1 has AVX CPU support. Make sure your development environment supports AVX instructions. If not, you must provide the -mno-avx flag in your CMakeLists.txt file or the appropriate flags for your application, see these posts:

e.g.

target_compile_options(${PROJECT_NAME} PRIVATE -Wno-cpp
    -mmmx
    -msse
    -msse2
    -msse3
    -mssse3
    -msse4.2
    -msse4.1
    -mno-sse4a
    -mno-avx
    -mno-avx2
    -mno-fma
    -mno-fma4
    -mno-f16c
    -mno-xop
    -mno-bmi
    -mno-bmi2
    -mrdrnd
    -mno-3dnow
    -mlzcnt
    -mfsgsbase
    -mpclmul
)