This should be more robust, otherwise updating to new versions is tricky!
|
log "Patching CMakeLists.txt to bypass CHECK_LIBRARY_EXISTS calls..." |
# Apply CMakeLists.txt patches before CMake configuration
log "Patching CMakeLists.txt to bypass CHECK_LIBRARY_EXISTS calls..."
# Determine sed syntax for in-place editing
if sed --version >/dev/null 2>&1; then
# GNU sed (Linux)
SED_INPLACE=(-i)
else
# BSD sed (macOS)
SED_INPLACE=(-i '')
fi
# Comment out all CHECK_LIBRARY_EXISTS calls that cause issues in Emscripten
sed "${SED_INPLACE[@]}" '933s/^/ # /' CMakeLists.txt || error_exit "Failed to patch CHECK_LIBRARY_EXISTS H5Pget_fapl_mpio"
sed "${SED_INPLACE[@]}" '941s/^/ # /' CMakeLists.txt || error_exit "Failed to comment CHECK_LIBRARY_EXISTS H5Pset_all_coll_metadata_ops"
sed "${SED_INPLACE[@]}" '950s/^/ # /' CMakeLists.txt || error_exit "Failed to comment CHECK_LIBRARY_EXISTS H5Dread_chunk"
sed "${SED_INPLACE[@]}" '953s/^/ # /' CMakeLists.txt || error_exit "Failed to comment CHECK_LIBRARY_EXISTS H5Pset_fapl_ros3"
# Set bypass variables for the features
sed "${SED_INPLACE[@]}" '943s/SET(HDF5_HAS_COLL_METADATA_OPS ON)/SET(HDF5_HAS_COLL_METADATA_OPS OFF)/' CMakeLists.txt || error_exit "Failed to set HDF5_HAS_COLL_METADATA_OPS to OFF"
sed "${SED_INPLACE[@]}" '950a\
# Set HAS_READCHUNKS to OFF for Emscripten\
SET(HAS_READCHUNKS OFF)' CMakeLists.txt || error_exit "Failed to set HAS_READCHUNKS"
sed "${SED_INPLACE[@]}" '953a\
# Set HAS_HDF5_ROS3 to OFF for Emscripten\
SET(HAS_HDF5_ROS3 OFF)' CMakeLists.txt || error_exit "Failed to set HAS_HDF5_ROS3"
log "CMakeLists.txt patches applied"
This should be more robust, otherwise updating to new versions is tricky!
netcdf4-wasm/scripts/build-wasm.sh
Line 334 in b2f8983