In /usr/bin/cgal_create_cmake_script line 53: for file in `ls "$SOURCE_DIR"*.cc "$SOURCE_DIR"*.cp "$SOURCE_DIR"*.cxx "$SOURCE_DIR"*.cpp "$SOURCE_DIR"*.CPP "$SOURCE_DIR"*.c++ "$SOURCE_DIR"*.C 2>/dev/null | sort` ; do ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^-- SC2012: Use find instead of ls to better handle non-alphanumeric filenames. Did you mean: for file in $(ls "$SOURCE_DIR"*.cc "$SOURCE_DIR"*.cp "$SOURCE_DIR"*.cxx "$SOURCE_DIR"*.cpp "$SOURCE_DIR"*.CPP "$SOURCE_DIR"*.c++ "$SOURCE_DIR"*.C 2>/dev/null | sort) ; do In /usr/bin/cgal_create_cmake_script line 55: BASE=`basename $file .cc` ^------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$file" .cc) In /usr/bin/cgal_create_cmake_script line 56: BASE=`basename $BASE .cp` ^------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$BASE" .cp) In /usr/bin/cgal_create_cmake_script line 57: BASE=`basename $BASE .cxx` ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$BASE" .cxx) In /usr/bin/cgal_create_cmake_script line 58: BASE=`basename $BASE .cpp` ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$BASE" .cpp) In /usr/bin/cgal_create_cmake_script line 59: BASE=`basename $BASE .CPP` ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$BASE" .CPP) In /usr/bin/cgal_create_cmake_script line 60: BASE=`basename $BASE .c++` ^-------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$BASE" .c++) In /usr/bin/cgal_create_cmake_script line 61: BASE=`basename $BASE .C` ^-----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: BASE=$(basename "$BASE" .C) In /usr/bin/cgal_create_cmake_script line 62: egrep '\bmain[ \t]*\(' $file >/dev/null 2>&1 ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: egrep '\bmain[ \t]*\(' "$file" >/dev/null 2>&1 In /usr/bin/cgal_create_cmake_script line 63: if [ $? -eq 0 ]; then ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In /usr/bin/cgal_create_cmake_script line 88: while [ $1 ]; do ^-- SC2086: Double quote to prevent globbing and word splitting. Did you mean: while [ "$1" ]; do In /usr/bin/cgal_create_cmake_script line 127: PROJECT=`basename $SOURCE_DIR` ^--------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^---------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: PROJECT=$(basename "$SOURCE_DIR") In /usr/bin/cgal_create_cmake_script line 130: PROJECT=`basename $PWD` ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: PROJECT=$(basename "$PWD") For more information: https://www.shellcheck.net/wiki/SC2012 -- Use find instead of ls to better ... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2196 -- egrep is non-standard and depreca...