Skip to content

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

Notifications You must be signed in to change notification settings

codebydant/PCL-Build-Action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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
)

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published