bazel-contrib / rules_foreign_cc

Build rules for interfacing with "foreign" (non-Bazel) build systems (CMake, configure-make, GNU Make, boost, ninja, Meson)
https://bazel-contrib.github.io/rules_foreign_cc
Apache License 2.0
679 stars 249 forks source link

Portable copy_dir_contents_to_dir #1246

Closed lamcw closed 3 months ago

lamcw commented 3 months ago

On BSD-based distro/MacOS, using cp -L -R {source}/ ignores files or directories with a leading dot. If users have GNU-based coreutils installed on their BSD/Mac system (via Nix for e.g.), cp -L -R {source}/ would also copy the source directory underneath the target directory, which is not what we want.

This PR changes both the copy_dir_contents_to_dir implementation for BSD and MacOS such that it works regardless of whether user has GNU or BSD coreutils installed.