In /usr/bin/cgal_create_CMakeLists line 54:
    for LINE in `cat $OPTIONS_FILE`; do 
                ^-----------------^ SC2013: To read lines rather than words, pipe/redirect to a 'while read' loop.
                ^-----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                     ^-----------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    for LINE in $(cat "$OPTIONS_FILE"); do 


In /usr/bin/cgal_create_CMakeLists line 58:
        next_cgal_component=`echo $LINE | grep -v "#" | grep CGAL_COMPONENT`
                            ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                  ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        next_cgal_component=$(echo "$LINE" | grep -v "#" | grep CGAL_COMPONENT)


In /usr/bin/cgal_create_CMakeLists line 59:
        if [ ! -z "$next_cgal_component" ]; then
             ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/cgal_create_CMakeLists line 71:
        next_boost_component=`echo $LINE | grep -v "#" | grep BOOST_COMPONENT`
                             ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                   ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        next_boost_component=$(echo "$LINE" | grep -v "#" | grep BOOST_COMPONENT)


In /usr/bin/cgal_create_CMakeLists line 72:
        if [ ! -z "$next_boost_component" ]; then
             ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/cgal_create_CMakeLists line 114:
  if [ ! -z "$CGAL_COMPONENTS" ]; then
       ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/cgal_create_CMakeLists line 154:
      COMPONENT=`echo $cgal_component | tr '[:upper:]' '[:lower:]'`
                ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                      ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
      COMPONENT=$(echo "$cgal_component" | tr '[:upper:]' '[:lower:]')


In /usr/bin/cgal_create_CMakeLists line 188:
  if [ ! -z "$BOOST_COMPONENTS" ]; then
       ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/cgal_create_CMakeLists line 235:
  if [ ! -z "$PACKAGES" ]; then
       ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/cgal_create_CMakeLists line 269:
  if [ ! -z "$BOOST_COMPONENTS" ]; then
       ^-- SC2236: Use -n instead of ! -z.


In /usr/bin/cgal_create_CMakeLists line 280:
      BOOST_COMPONENT=`echo $boost_component | tr '[:lower:]' '[:upper:]'`
                      ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                            ^--------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
      BOOST_COMPONENT=$(echo "$boost_component" | tr '[:lower:]' '[:upper:]')


In /usr/bin/cgal_create_CMakeLists line 327:
    for file in `ls *.cc *.cp *.cxx *.cpp *.CPP *.c++ *.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.
                    ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                         ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                              ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                    ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                          ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                                ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

Did you mean: 
    for file in $(ls *.cc *.cp *.cxx *.cpp *.CPP *.c++ *.C 2> /dev/null | sort) ; do


In /usr/bin/cgal_create_CMakeLists line 329:
      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_CMakeLists line 330:
      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_CMakeLists line 331:
      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_CMakeLists line 332:
      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_CMakeLists line 333:
      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_CMakeLists line 334:
      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_CMakeLists line 335:
      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_CMakeLists line 336:
      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_CMakeLists line 337:
      if [ $? -eq 0 ]; then
           ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/cgal_create_CMakeLists line 383:
    for file in `ls *.cc *.cp *.cxx *.cpp *.CPP *.c++ *.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.
                    ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                         ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                              ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                    ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                          ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                                ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

Did you mean: 
    for file in $(ls *.cc *.cp *.cxx *.cpp *.CPP *.c++ *.C 2> /dev/null | sort) ; do


In /usr/bin/cgal_create_CMakeLists line 401:
      for file in `ls *.ui 2> /dev/null | sort`; do
                  ^---------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                   ^------------------^ SC2012: Use find instead of ls to better handle non-alphanumeric filenames.
                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

Did you mean: 
      for file in $(ls *.ui 2> /dev/null | sort); do


In /usr/bin/cgal_create_CMakeLists line 406:
      for file in `ls *.qrc 2> /dev/null | sort`; do
                  ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                   ^-------------------^ SC2012: Use find instead of ls to better handle non-alphanumeric filenames.
                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

Did you mean: 
      for file in $(ls *.qrc 2> /dev/null | sort); do


In /usr/bin/cgal_create_CMakeLists line 412:
      for file in `ls include/*.h 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 include/*.h 2> /dev/null | sort); do


In /usr/bin/cgal_create_CMakeLists line 413:
        BASE=`basename $file .h`
             ^-----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                       ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        BASE=$(basename "$file" .h)


In /usr/bin/cgal_create_CMakeLists line 414:
        egrep 'Q_OBJECT' $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 'Q_OBJECT' "$file" >/dev/null 2>&1


In /usr/bin/cgal_create_CMakeLists line 415:
        if [ $? -eq 0 ]; then
             ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/cgal_create_CMakeLists line 420:
      for file in `ls *.h 2> /dev/null | sort`; do
                  ^--------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                   ^-----------------^ SC2012: Use find instead of ls to better handle non-alphanumeric filenames.
                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

Did you mean: 
      for file in $(ls *.h 2> /dev/null | sort); do


In /usr/bin/cgal_create_CMakeLists line 421:
        BASE=`basename $file .h`
             ^-----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                       ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        BASE=$(basename "$file" .h)


In /usr/bin/cgal_create_CMakeLists line 422:
        egrep 'Q_OBJECT' $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 'Q_OBJECT' "$file" >/dev/null 2>&1


In /usr/bin/cgal_create_CMakeLists line 423:
        if [ $? -eq 0 ]; then
             ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/cgal_create_CMakeLists line 428:
      for file in `ls *.cc *.cp *.cxx *.cpp *.CPP *.c++ *.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.
                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                           ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                      ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                            ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                                  ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
                                                        ^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.

Did you mean: 
      for file in $(ls *.cc *.cp *.cxx *.cpp *.CPP *.c++ *.C 2> /dev/null | sort) ; do


In /usr/bin/cgal_create_CMakeLists line 429:
        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_CMakeLists line 430:
        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_CMakeLists line 431:
        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_CMakeLists line 432:
        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_CMakeLists line 433:
        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_CMakeLists line 434:
        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_CMakeLists line 435:
        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_CMakeLists line 436:
        egrep 'Q_OBJECT' $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 'Q_OBJECT' "$file" >/dev/null 2>&1


In /usr/bin/cgal_create_CMakeLists line 437:
        if [ $? -eq 0 ]; then
             ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/cgal_create_CMakeLists line 480:
  echo "Usage: `basename $0` [-s source] [-c cgal-component1:cgal-component2:...] [-b boost-component1:boost-component2:...] [-p] [-o options_file='`pwd`/cgal_cmake_options:$HOME/.cgal_cmake_options_rc'] [-v] [-h]" >&2
               ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                         ^-- SC2086: Double quote to prevent globbing and word splitting.
                                                                                                                                                    ^---^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
  echo "Usage: $(basename "$0") [-s source] [-c cgal-component1:cgal-component2:...] [-b boost-component1:boost-component2:...] [-p] [-o options_file='$(pwd)/cgal_cmake_options:$HOME/.cgal_cmake_options_rc'] [-v] [-h]" >&2


In /usr/bin/cgal_create_CMakeLists line 501:
OPTIONS_FILE=`pwd`"/cgal_cmake_options"
             ^---^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
OPTIONS_FILE=$(pwd)"/cgal_cmake_options"


In /usr/bin/cgal_create_CMakeLists line 509:
  case "$OPT" in
  ^-- SC2213: getopts specified -p, but it's not handled by this 'case'.


In /usr/bin/cgal_create_CMakeLists line 575:
    v)  echo "`basename $0` version 0.1"
              ^-----------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
                        ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    v)  echo "$(basename "$0") version 0.1"


In /usr/bin/cgal_create_CMakeLists line 585:
shift `expr $OPTIND - 1`
      ^----------------^ SC2046: Quote this to prevent word splitting.
      ^----------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.
       ^--^ SC2003: expr is antiquated. Consider rewriting this using $((..)), ${} or [[ ]].

Did you mean: 
shift $(expr $OPTIND - 1)


In /usr/bin/cgal_create_CMakeLists line 594:
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/SC2046 -- Quote this to prevent word splitt...
  https://www.shellcheck.net/wiki/SC2213 -- getopts specified -p, but it's no...
  https://www.shellcheck.net/wiki/SC2012 -- Use find instead of ls to better ...