Skip to content

Commit c123f81

Browse files
author
Daniel Tobon
committed
Initial commit
- First version
0 parents  commit c123f81

4 files changed

Lines changed: 97 additions & 0 deletions

File tree

Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM danieltobon43/pcl-docker:1.12.1-alpine3.15-All-dev AS build
2+
COPY entrypoint.sh /entrypoint.sh
3+
RUN chmod +x /entrypoint.sh
4+
ENTRYPOINT ["/entrypoint.sh"]

README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# PCL-CMake-Action
2+
An action for building Point Cloud Library (`PCL`) projects that uses `CMake`, `VTK` and/or `QT` dependencies.
3+
4+
## Description
5+
This action uses a pre-compiled [pcl-docker-alpine](https://hub.docker.com/r/danieltobon43/pcl-docker) image with aditional developer tools for compilation.
6+
7+
The `GITHUB_WORKSPACE` project is mount into the docker container where a cmake command compiles the project in a `build/` directory.
8+
9+
**Docker Image installed libraries:**
10+
| Package | Version | Description |
11+
| ----------- | ----------- | ----------- |
12+
| VTK | 9.1.0 | The Visualization Toolkit |
13+
| PCL | 1.12.1 | The Point Cloud Library (PCL) |
14+
| Eigen | 3.7.7 | Eigen is a library of template headers for linear algebra |
15+
| Flann | 1.9.1 | Fast Library for Approximate Nearest Neighbors |
16+
| Boost | 1.77.0 | Provides support for linear algebra, pseudorandom number generation, multithreading |
17+
| OpenGL | 21.2.6 | Programming interface for rendering 2D and 3D vector graphics.
18+
19+
**Docker Image compiled modules for PCL:**
20+
```
21+
The following subsystems were built:
22+
-- common
23+
-- kdtree
24+
-- octree
25+
-- search
26+
-- geometry
27+
-- io
28+
-- visualization
29+
-- sample_consensus
30+
-- filters
31+
-- 2d
32+
-- features
33+
-- ml
34+
-- segmentation
35+
-- surface
36+
-- registration
37+
-- keypoints
38+
-- tracking
39+
-- recognition
40+
-- stereo
41+
-- apps
42+
-- benchmarks: Disabled by default
43+
-- outofcore
44+
-- examples: Code examples are disabled by default.
45+
-- people
46+
-- simulation
47+
-- global_tests: Disabled by default
48+
-- tools
49+
```
50+
51+
**Docker Image installed dev tools:**
52+
| Package | Version | Description |
53+
| ----------- | ----------- | ----------- |
54+
| CMake | 3.21.3 | Software for build automation |
55+
| build-base | 0.4-r1 | Meta package with `gcc`, `g++`, `make` |
56+
57+
58+
59+
# Usage
60+
```
61+
steps:
62+
- name: PCL CMake Action
63+
uses: danielTobon43/PCL-CMake-Action@main
64+
```
65+
66+
## Inputs
67+
```
68+
steps:
69+
- name: PCL CMake Action
70+
uses: danielTobon43/PCL-CMake-Action@main
71+
with:
72+
build_type: Release (Release, Debug, RelWithDebInfo, etc.)
73+
```

action.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: My Custom Action
2+
description: Action for building PCL-CMake project which depends on vtk-9/qt5
3+
4+
inputs:
5+
build_type:
6+
description: "Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)"
7+
default: "Release"
8+
required: false
9+
type: string
10+
11+
runs:
12+
using: "docker"
13+
image: "Dockerfile"
14+
15+
branding:
16+
icon: "cloud"
17+
color: "green"

entrypoint.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh -l
2+
cmake -B `pwd`/build -DCMAKE_BUILD_TYPE=$INPUT_BUILD_TYPE
3+
cmake --build `pwd`/build --parallel $(nproc) --config $INPUT_BUILD_TYPE

0 commit comments

Comments
 (0)