@@ -53,12 +53,17 @@ WORKDIR /opt
53
53
ARG BOOST_DOT_VERSION="${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION}"
54
54
ARG BOOST_UNDERSCORE_VERSION="${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_PATCH_VERSION}"
55
55
RUN wget -q https://boostorg.jfrog.io/artifactory/main/release/${BOOST_DOT_VERSION}/source/boost_${BOOST_UNDERSCORE_VERSION}.tar.gz && \
56
- tar xzf boost_${BOOST_UNDERSCORE_VERSION}.tar.gz && \
57
- mv boost_${BOOST_UNDERSCORE_VERSION} /opt/boost
58
-
59
- # No need to build Boost, we'll just use the headers
56
+ tar xzf boost_${BOOST_UNDERSCORE_VERSION}.tar.gz && \
57
+ mv boost_${BOOST_UNDERSCORE_VERSION} /opt/boost && \
58
+ cd /opt/boost && \
59
+ # Create the include directory structure that CMake expects
60
+ mkdir -p /usr/local/include && \
61
+ cp -r boost /usr/local/include/
62
+
63
+ # Set environment variables for Boost
60
64
ENV BOOST_ROOT=/opt/boost
61
- ENV Boost_INCLUDE_DIR=/opt/boost
65
+ ENV BOOST_INCLUDEDIR=/usr/local/include
66
+ ENV CMAKE_PREFIX_PATH=/opt/boost:/usr/local
62
67
63
68
64
69
WORKDIR /opt
@@ -83,32 +88,33 @@ WORKDIR $RDBASE/build
83
88
RUN echo "source /opt/emsdk/emsdk_env.sh > /dev/null 2>&1" >> ~/.bashrc
84
89
SHELL ["/bin/bash" , "-c" , "-l" ]
85
90
RUN emcmake cmake \
86
- -DBOOST_ROOT=/opt/boost \
87
- -DBoost_INCLUDE_DIR=/opt/boost \
88
- -DBoost_NO_SYSTEM_PATHS=ON \
89
- -DBoost_NO_BOOST_CMAKE=ON \
90
- -DBOOST_LIBRARYDIR=/opt/boost/lib \
91
- -DBoost_USE_STATIC_LIBS=ON \
92
- -DBoost_USE_STATIC_RUNTIME=ON \
93
- -DRDK_BUILD_FREETYPE_SUPPORT=ON \
94
- -DRDK_BUILD_MINIMAL_LIB=ON \
95
- -DRDK_BUILD_PYTHON_WRAPPERS=OFF \
96
- -DRDK_BUILD_CPP_TESTS=OFF \
97
- -DRDK_BUILD_INCHI_SUPPORT=ON \
98
- -DRDK_USE_BOOST_SERIALIZATION=OFF \
99
- -DRDK_OPTIMIZE_POPCNT=OFF \
100
- -DRDK_BUILD_THREADSAFE_SSS=OFF \
101
- -DRDK_BUILD_DESCRIPTORS3D=OFF \
102
- -DRDK_TEST_MULTITHREADED=OFF \
103
- -DRDK_BUILD_MAEPARSER_SUPPORT=OFF \
104
- -DRDK_BUILD_COORDGEN_SUPPORT=ON \
105
- -DRDK_BUILD_SLN_SUPPORT=OFF \
106
- -DRDK_USE_BOOST_IOSTREAMS=OFF \
107
- -DFREETYPE_INCLUDE_DIRS=/opt/emsdk/upstream/emscripten/cache/sysroot/include/freetype2 \
108
- -DFREETYPE_LIBRARY=/opt/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a \
109
- -DCMAKE_CXX_FLAGS="-Wno-enum-constexpr-conversion -s DISABLE_EXCEPTION_CATCHING=0" \
110
- -DCMAKE_C_FLAGS="-Wno-enum-constexpr-conversion -DCOMPILE_ANSI_ONLY" \
111
- -DCMAKE_EXE_LINKER_FLAGS="-s MODULARIZE=1 -s EXPORT_NAME=\" 'initRDKitModule'\" " ..
91
+ -DBoost_DEBUG=ON \
92
+ -DBoost_VERBOSE=ON \
93
+ -DBoost_NO_BOOST_CMAKE=ON \
94
+ -DBoost_NO_SYSTEM_PATHS=ON \
95
+ -DBOOST_ROOT=/opt/boost \
96
+ -DBOOST_INCLUDEDIR=/usr/local/include \
97
+ -DBoost_INCLUDE_DIR=/usr/local/include \
98
+ -DCMAKE_MODULE_PATH=/opt/boost \
99
+ -DRDK_BUILD_FREETYPE_SUPPORT=ON \
100
+ -DRDK_BUILD_MINIMAL_LIB=ON \
101
+ -DRDK_BUILD_PYTHON_WRAPPERS=OFF \
102
+ -DRDK_BUILD_CPP_TESTS=OFF \
103
+ -DRDK_BUILD_INCHI_SUPPORT=ON \
104
+ -DRDK_USE_BOOST_SERIALIZATION=OFF \
105
+ -DRDK_OPTIMIZE_POPCNT=OFF \
106
+ -DRDK_BUILD_THREADSAFE_SSS=OFF \
107
+ -DRDK_BUILD_DESCRIPTORS3D=OFF \
108
+ -DRDK_TEST_MULTITHREADED=OFF \
109
+ -DRDK_BUILD_MAEPARSER_SUPPORT=OFF \
110
+ -DRDK_BUILD_COORDGEN_SUPPORT=ON \
111
+ -DRDK_BUILD_SLN_SUPPORT=OFF \
112
+ -DRDK_USE_BOOST_IOSTREAMS=OFF \
113
+ -DFREETYPE_INCLUDE_DIRS=/opt/emsdk/upstream/emscripten/cache/sysroot/include/freetype2 \
114
+ -DFREETYPE_LIBRARY=/opt/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a \
115
+ -DCMAKE_CXX_FLAGS="-Wno-enum-constexpr-conversion -s DISABLE_EXCEPTION_CATCHING=0" \
116
+ -DCMAKE_C_FLAGS="-Wno-enum-constexpr-conversion -DCOMPILE_ANSI_ONLY" \
117
+ -DCMAKE_EXE_LINKER_FLAGS="-s MODULARIZE=1 -s EXPORT_NAME=\" 'initRDKitModule'\" " ..
112
118
113
119
# "patch" to make the InChI code work with emscripten:
114
120
RUN cp /src/rdkit/External/INCHI-API/src/INCHI_BASE/src/util.c /src/rdkit/External/INCHI-API/src/INCHI_BASE/src/util.c.bak && \
0 commit comments