-declare -a cmake_opts
-case "$(uname -s)" in
- 'Linux')
- nproc='egrep "^processor" /proc/cpuinfo | wc -l'
- ;;
- 'FreeBSD')
- nproc='sysctl -n hw.ncpu'
-
- if [ -f "$(ls '/usr/local/bin/g++'* | sort | tail -n1)" ]
- then
- gcc_version="$(ls '/usr/local/bin/g++'* | sort | tail -n1 | sed -e 's/.*[^0-9]\([0-9][0-9]*\)$/\1/')"
- cmake_opts[${#cmake_opts[@]}]="-DCMAKE_C_COMPILER=/usr/local/bin/gcc${gcc_version}"
- cmake_opts[${#cmake_opts[@]}]="-DCMAKE_CXX_COMPILER=/usr/local/bin/g++${gcc_version}"
- else
- printf "WARNING: GCC is recommended: if build fails, install GCC and retry\n" >&2
- fi
- ;;
- 'Darwin')
- nproc='sysctl -n hw.ncpu'
-
- if [ -f "$(ls '/usr/local/bin/g++-'* | sort | tail -n1)" ]
- then
- gcc_version="$(ls '/usr/local/bin/g++-'* | sort | tail -n1 | sed -e 's/.*[^0-9]\([0-9][0-9]*\)$/\1/')"
- cmake_opts[${#cmake_opts[@]}]="-DCMAKE_C_COMPILER=/usr/local/bin/gcc-${gcc_version}"
- cmake_opts[${#cmake_opts[@]}]="-DCMAKE_CXX_COMPILER=/usr/local/bin/g++-${gcc_version}"
- else
- printf "WARNING: GCC is recommended: if build fails, install GCC and retry\n" >&2
- fi
- ;;
- 'MSYS_NT-'*)
- nproc='echo "${NUMBER_OF_PROCESSORS}"'
- ;;
- 'CYGWIN_NT-'*|'MINGW'*'_NT-'*)
- nproc='echo "${NUMBER_OF_PROCESSORS}"'
- printf "WARNING: system is not tested: if build fails, use MSYS2 instead\n" >&2
- ;;
- *)
- nproc='true'
- printf "WARNING: system is not tested\n" >&2
- ;;
-esac
-
-if command -v 'nproc' >/dev/null