set -e for shell commands
If not set, the commands in the middle of custom configure-command, pre-build, post-build etc can fail without resulting in SystemError for user and without stopping cmmi process, which thus can formally succeed despite being misconfigured or in some cases with the code not even built. This is because when executing a multiline command, only the exit status of the last one actually gets caught by check_call(). Setting -e makes debugging easier by allowing shell to terminate mid-way if errors (non-zero exit status) occur. -e only covers 'simple commands', and does not affect 'if' tests and more complex cases where non-zero exit status is expected to occur normally. Detailed description of -e effects can be seen in the POSIX standard: https://pubs.opengroup.org/onlinepubs/009695399/utilities/set.html
Showing
Please register or sign in to comment