Skip to content

Commit f36e27e

Browse files
committed
build(docker): fix specification of the threads build
1 parent d9dacd7 commit f36e27e

File tree

4 files changed

+25
-17
lines changed

4 files changed

+25
-17
lines changed

src/docker/itk-wasm-base/Dockerfile

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,11 @@ RUN . /itk_wasm_env_vars.sh && sed -i -e "/^set(DCMTK_GIT_TAG/c\set(DCMTK_GIT_TA
4949

5050
ARG CMAKE_BUILD_TYPE=Release
5151

52-
ARG LDFLAGS
53-
ARG CFLAGS
54-
ARG CXXFLAGS
55-
ENV LDFLAGS=${LDFLAGS:-"-flto -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB"}
56-
ENV CFLAGS=${CFLAGS:-"-msimd128 -flto -Wno-warn-absolute-paths -DITK_WASM_NO_FILESYSTEM_IO"}
57-
ENV CXXFLAGS=${CXXFLAGS:-"${CFLAGS}"}
52+
ARG LDFLAGS="-flto -s ALLOW_MEMORY_GROWTH=1 -s MAXIMUM_MEMORY=4GB"
53+
ARG CFLAGS="-msimd128 -flto -Wno-warn-absolute-paths -DITK_WASM_NO_FILESYSTEM_IO"
54+
ENV LDFLAGS=$LDFLAGS
55+
ENV CFLAGS=$CFLAGS
56+
ENV CXXFLAGS=$CFLAGS
5857

5958
RUN mkdir ITK-build && \
6059
cd ITK-build && \

src/docker/itk-wasm/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ ARG BASE_TAG=latest-$HOST_ARCH
55
FROM $BASE_IMAGE:$BASE_TAG
66
LABEL maintainer="Matt McCormick [email protected]"
77
ARG BASE_IMAGE
8+
ARG HOST_ARCH=amd64
9+
ARG BASE_IMAGE=quay.io/itkwasm/emscripten-base
10+
ARG BASE_TAG=latest-$HOST_ARCH
811
ARG CMAKE_BUILD_TYPE=Release
912

1013
WORKDIR /
1114

15+
ENV BASE_TAG=$BASE_TAG
1216
ADD ITKWebAssemblyInterfaceModuleCopy /ITKWebAssemblyInterface
1317
COPY ITKWebAssemblyInterface.cmake /usr/src/
1418
RUN mv /usr/src/ITKWebAssemblyInterface.cmake /usr/share/cmake-*/Modules/

src/docker/itk-wasm/ITKWebAssemblyInterface.cmake

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@ function(add_executable target)
4646
# Suppress CLI11 Encoding_inl.hpp std::wstring_convert deprecation warning
4747
# Suppress glaze warning about warning: 'static_assert' with a user-generated message is a C++26 extension [-Wc++26-extensions]
4848
set_property(TARGET ${wasm_target} APPEND PROPERTY COMPILE_OPTIONS -msimd128 -flto -Wno-deprecated-declarations -Wno-c++26-extensions)
49-
set (suffix ".wasm")
50-
if("$ENV{CFLAGS}" MATCHES "thread")
51-
set(suffix ".threads.wasm")
52-
set_property(TARGET ${wasm_target} PROPERTY SUFFIX ${suffix})
53-
endif()
5449
if(EMSCRIPTEN)
5550
set_property(TARGET ${wasm_target} APPEND PROPERTY COMPILE_OPTIONS -Wno-warn-absolute-paths -DITK_WASM_NO_FILESYSTEM_IO)
5651
kebab_to_camel(${target} targetCamel)
@@ -65,10 +60,17 @@ function(add_executable target)
6560

6661
get_property(_is_imported TARGET ${target} PROPERTY IMPORTED)
6762
if (NOT ${_is_imported})
68-
add_custom_command(TARGET ${target}
69-
POST_BUILD
70-
COMMAND /usr/bin/zstd -f "$<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>${suffix}" -o "$<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>${suffix}.zst"
71-
)
63+
if("$ENV{BASE_TAG}" MATCHES "thread")
64+
add_custom_command(TARGET ${target}
65+
POST_BUILD
66+
COMMAND /usr/bin/zstd -f "$<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.wasm" -o "$<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.threads.wasm.zst"
67+
)
68+
else()
69+
add_custom_command(TARGET ${target}
70+
POST_BUILD
71+
COMMAND /usr/bin/zstd -f "$<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.wasm" -o "$<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.wasm.zst"
72+
)
73+
endif()
7274
endif()
7375
else()
7476
# WASI

src/docker/itk-wasm/build.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ $exe $build_cmd --pull=false $tag_flag quay.io/itkwasm/emscripten:latest-threads
6767
--build-arg HOST_ARCH=$host_arch \
6868
--build-arg CMAKE_BUILD_TYPE=Release \
6969
--build-arg BASE_IMAGE=quay.io/itkwasm/emscripten-base \
70+
--build-arg BASE_TAG=latest-threads-$host_arch \
7071
--build-arg VCS_REF=${VCS_REF} \
7172
--build-arg VCS_URL=${VCS_URL} \
7273
--build-arg BUILD_DATE=${BUILD_DATE} \
@@ -77,7 +78,7 @@ if $version_tag; then
7778
--build-arg HOST_ARCH=$host_arch \
7879
--build-arg CMAKE_BUILD_TYPE=Release \
7980
--build-arg BASE_IMAGE=quay.io/itkwasm/emscripten-base \
80-
--build-arg BASE_TAG=${TAG}-$host_arch \
81+
--build-arg BASE_TAG=${TAG}-threads-$host_arch \
8182
--build-arg VERSION=${TAG} \
8283
--build-arg VCS_REF=${VCS_REF} \
8384
--build-arg VCS_URL=${VCS_URL} \
@@ -116,6 +117,7 @@ if $debug; then
116117
--build-arg IMAGE=quay.io/itkwasm/emscripten \
117118
--build-arg HOST_ARCH=$host_arch \
118119
--build-arg CMAKE_BUILD_TYPE=Debug \
120+
--build-arg BASE_TAG=latest-debug-$host_arch \
119121
--build-arg VCS_REF=${VCS_REF} \
120122
--build-arg VCS_URL=${VCS_URL} \
121123
--build-arg BUILD_DATE=${BUILD_DATE} \
@@ -136,6 +138,7 @@ if $debug; then
136138
--build-arg IMAGE=quay.io/itkwasm/emscripten \
137139
--build-arg HOST_ARCH=$host_arch \
138140
--build-arg CMAKE_BUILD_TYPE=Debug \
141+
--build-arg BASE_TAG=latest-threads-debug-$host_arch \
139142
--build-arg VCS_REF=${VCS_REF} \
140143
--build-arg VCS_URL=${VCS_URL} \
141144
--build-arg BUILD_DATE=${BUILD_DATE} \
@@ -146,7 +149,7 @@ if $debug; then
146149
--build-arg HOST_ARCH=$host_arch \
147150
--build-arg CMAKE_BUILD_TYPE=Debug \
148151
--build-arg VERSION=${TAG}-debug \
149-
--build-arg BASE_TAG=${TAG}-debug-$host_arch \
152+
--build-arg BASE_TAG=${TAG}-threads-debug-$host_arch \
150153
--build-arg VCS_REF=${VCS_REF} \
151154
--build-arg VCS_URL=${VCS_URL} \
152155
--build-arg BUILD_DATE=${BUILD_DATE} \

0 commit comments

Comments
 (0)