Skip to content

Commit 31adfa8

Browse files
Resolve "Add iterator functions to aligned_mem"
Closes #21
1 parent b1ebeb9 commit 31adfa8

File tree

10 files changed

+260
-78
lines changed

10 files changed

+260
-78
lines changed

CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ project(composite-comps VERSION 0.1.0 LANGUAGES CXX)
2222
include(GNUInstallDirs)
2323
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
2424

25-
# composite dependency
26-
find_package(composite 0.2.0 REQUIRED)
27-
28-
# Use FetchContent for other dependencies
25+
# Use FetchContent for dependencies
2926
include(FetchContent)
27+
# composite dependency
28+
FetchContent_Declare(composite
29+
GIT_REPOSITORY https://github.com/geontech/composite.git
30+
GIT_TAG v0.3.0
31+
)
3032
# vrtgen dependency
3133
FetchContent_Declare(vrtgen
3234
GIT_REPOSITORY https://github.com/geontech/vrtgen.git
@@ -38,6 +40,6 @@ FetchContent_Declare(spdlog
3840
GIT_TAG v1.14.1
3941
)
4042
# Make all deps available
41-
FetchContent_MakeAvailable(vrtgen spdlog)
43+
FetchContent_MakeAvailable(composite vrtgen spdlog)
4244

4345
add_subdirectory(src)

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
# Composite Comps
22

3-
This repo contains a collection of components built for the `composite` framework.
3+
This repo contains a collection of components built for the [**composite**](https://github.com/geontech/composite) framework.
44
It also comes with headers that are used across the various components in this repo.
55

66
## Getting started
77

8+
### Prerequisites
9+
10+
Ensure you have the following installed:
11+
12+
- [CMake](https://cmake.org/) (version 3.15 or higher)
13+
- A compatible C++ compiler (e.g., GCC, Clang) with C++20 support
14+
815
### Build and Install
916

1017
```cmake

docker/Dockerfile.alpine

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM alpine:3.20 AS base
1+
FROM alpine:3.21 AS base
22

33
LABEL maintainer="Geon Technologies" \
44
description="composite-based components"
@@ -17,39 +17,27 @@ RUN set -ex; \
1717
apk add --no-cache linux-headers; \
1818
apk add --no-cache fftw-dev;
1919

20-
FROM build AS composite
21-
22-
WORKDIR /opt
23-
24-
RUN set -ex; \
25-
git clone --branch v0.2.0 https://github.com/geontech/composite.git; \
26-
cd composite; \
27-
cmake -B docker-build \
28-
-DCMAKE_INSTALL_PREFIX=/usr/local \
29-
-DCMAKE_BUILD_TYPE=Release; \
30-
cmake --build docker-build --target install --parallel 4
31-
3220
FROM build AS project
3321

34-
COPY --link --from=composite /usr/local /usr/local
35-
3622
COPY include /opt/composite-comps/include
3723
COPY src /opt/composite-comps/src
3824
COPY CMakeLists.txt /opt/composite-comps
3925
WORKDIR /opt/composite-comps
4026

4127
RUN set -ex; \
4228
cmake -B docker-build \
43-
-DCMAKE_INSTALL_PREFIX=/usr/local \
29+
-DCOMPOSITE_USE_NATS=ON \
30+
-DCOMPOSITE_INSTALL=ON \
31+
-DCMAKE_INSTALL_PREFIX=/opt/usr/local \
4432
-DCMAKE_BUILD_TYPE=Release; \
4533
cmake --build docker-build --target install --parallel 4
4634

4735
FROM base
4836

49-
COPY --link --from=composite /usr/local/bin /usr/local/bin
50-
COPY --link --from=project /usr/local/lib /usr/local/lib
51-
5237
RUN apk add --no-cache libstdc++ fftw
38+
39+
COPY --link --from=project /opt/usr/local /usr/local
40+
5341
COPY examples /usr/local/share/composite/examples
5442
RUN chmod a+r /usr/local/share/composite/examples/*.json
5543

docker/Dockerfile.rocky9

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,11 @@ RUN set -ex; \
1515
microdnf install -y git; \
1616
microdnf install -y vim; \
1717
microdnf install -y gdb; \
18-
microdnf install -y fftw-devel;
19-
20-
FROM build AS composite
21-
22-
WORKDIR /opt
23-
24-
RUN set -ex; \
25-
. /opt/rh/gcc-toolset-13/enable; \
26-
git clone --branch v0.2.0 https://github.com/geontech/composite.git; \
27-
cd composite; \
28-
cmake -B docker-build \
29-
-DCMAKE_INSTALL_PREFIX=/usr/local \
30-
-DCMAKE_BUILD_TYPE=Release; \
31-
cmake --build docker-build --target install --parallel 4
18+
microdnf install -y fftw-devel; \
19+
microdnf install -y openssl-devel;
3220

3321
FROM build AS project
3422

35-
COPY --link --from=composite /usr/local /usr/local
36-
3723
COPY include /opt/composite-comps/include
3824
COPY src /opt/composite-comps/src
3925
COPY CMakeLists.txt /opt/composite-comps
@@ -42,17 +28,17 @@ WORKDIR /opt/composite-comps
4228
RUN set -ex; \
4329
. /opt/rh/gcc-toolset-13/enable; \
4430
cmake -B docker-build \
45-
-DCMAKE_INSTALL_PREFIX=/usr/local \
31+
-DCOMPOSITE_USE_NATS=ON \
32+
-DCOMPOSITE_INSTALL=ON \
33+
-DCMAKE_INSTALL_PREFIX=/opt/usr/local \
4634
-DCMAKE_BUILD_TYPE=Release; \
4735
cmake --build docker-build --target install --parallel 4
4836

4937
FROM base
5038

51-
COPY --link --from=composite /usr/local/bin /usr/local/bin
52-
5339
RUN microdnf install -y libstdc++ vim fftw
5440

55-
COPY --link --from=project /usr/local/lib64 /usr/local/lib64
41+
COPY --link --from=project /opt/usr/local /usr/local
5642

5743
COPY examples /usr/local/share/composite/examples
5844
RUN chmod a+r /usr/local/share/composite/examples/*.json

0 commit comments

Comments
 (0)