Skip to content

Commit 04b2720

Browse files
committed
Add Dockerfile build
1 parent bfa9af8 commit 04b2720

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed

.dockerignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
.git
2+
.github
3+
build
4+
docs
5+
.clang-format
6+
.clang-tidy
7+
.gitignore
8+
Dockerfile
9+
README.md
10+
LICENSE
11+
*.md
12+
*.o
13+
*.obj
14+
*.a
15+
*.lib
16+
*.so
17+
*.dylib
18+
*.dll
19+
*.exe
20+
*.pdb
21+
*.log
22+
*.tmp

Dockerfile

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
FROM colmap/colmap:latest AS builder
2+
3+
# Build GLOMAP on top of the COLMAP image.
4+
RUN apt-get update \
5+
&& apt-get install -y --no-install-recommends \
6+
git \
7+
cmake \
8+
ninja-build \
9+
build-essential \
10+
libboost-program-options-dev \
11+
libboost-graph-dev \
12+
libboost-system-dev \
13+
libeigen3-dev \
14+
libfreeimage-dev \
15+
libmetis-dev \
16+
libgoogle-glog-dev \
17+
libgtest-dev \
18+
libgmock-dev \
19+
libsqlite3-dev \
20+
libglew-dev \
21+
qt6-base-dev \
22+
libqt6opengl6-dev \
23+
libqt6openglwidgets6 \
24+
libcgal-dev \
25+
libceres-dev \
26+
libcurl4-openssl-dev \
27+
libssl-dev \
28+
libmkl-full-dev \
29+
&& rm -rf /var/lib/apt/lists/*
30+
31+
WORKDIR /opt/glomap
32+
COPY . /opt/glomap
33+
34+
RUN mkdir -p build /opt/glomap/install /opt/glomap/runtime-libs \
35+
&& cd build \
36+
&& cmake .. -GNinja -DCMAKE_INSTALL_PREFIX=/opt/glomap/install \
37+
&& ninja \
38+
&& ninja install \
39+
&& ldd /opt/glomap/install/bin/glomap \
40+
| awk '{if ($3 ~ /^\\//) print $3; else if ($1 ~ /^\\//) print $1}' \
41+
| xargs -r -I{} cp --parents {} /opt/glomap/runtime-libs \
42+
&& cd /opt/glomap \
43+
&& rm -rf build
44+
45+
FROM colmap/colmap:latest
46+
47+
RUN apt-get update \
48+
&& apt-get install -y --no-install-recommends \
49+
libmkl-sequential \
50+
libmkl-core \
51+
libmkl-def \
52+
libmkl-locale \
53+
&& rm -rf /var/lib/apt/lists/*
54+
55+
COPY --from=builder /opt/glomap/install/ /usr/local/
56+
COPY --from=builder /opt/glomap/runtime-libs/ /
57+
58+
RUN ldconfig
59+
60+
CMD ["glomap", "-h"]

0 commit comments

Comments
 (0)