summaryrefslogtreecommitdiffstats
path: root/bootstrap
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-05-08 13:43:19 (GMT)
committerBrad King <brad.king@kitware.com>2012-05-08 13:52:39 (GMT)
commite5dc76894ae8fbc95126ebb54a838e0342686b96 (patch)
tree71c2024924120d3216ad24c93d51628a7c9e5ff0 /bootstrap
parent6218aba37ad9990304f91bf6c27e014fbf8ad684 (diff)
downloadCMake-e5dc76894ae8fbc95126ebb54a838e0342686b96.zip
CMake-e5dc76894ae8fbc95126ebb54a838e0342686b96.tar.gz
CMake-e5dc76894ae8fbc95126ebb54a838e0342686b96.tar.bz2
bootstrap: Port back to old shells (#13199)
Since commit f39e82c9 (bootstrap: Re-implement command line option processing, 2011-12-16) bootstrap uses POSIX shell expressions of the form "${x#y}" to remove prefix pattern 'y' from the vaule of 'x'. Although this is allowed by POSIX old shells on some platforms do not support it. Revert to using 'sed' to work with old shells.
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap27
1 files changed, 18 insertions, 9 deletions
diff --git a/bootstrap b/bootstrap
index 3be3d1f..7b044e7 100755
--- a/bootstrap
+++ b/bootstrap
@@ -460,6 +460,12 @@ cmake_escape ()
echo $1 | sed "s/ /\\\\ /g"
}
+# Strip prefix from argument
+cmake_arg ()
+{
+ echo "$1" | sed "s/^${2-[^=]*=}//"
+}
+
# Write message to the log
cmake_log ()
{
@@ -544,21 +550,24 @@ cmake_ccache_enabled=
cmake_prefix_dir="${cmake_default_prefix}"
while test $# != 0; do
case "$1" in
- --prefix=*) cmake_prefix_dir=`cmake_fix_slashes "${1#*=}"` ;;
- --parallel=*) cmake_parallel_make="${1#*=}" ;;
- --datadir=*) cmake_data_dir="${1#*=}" ;;
- --docdir=*) cmake_doc_dir="${1#*=}" ;;
- --mandir=*) cmake_man_dir="${1#*=}" ;;
- --init=*) cmake_init_file="${1#*=}" ;;
+ --prefix=*) dir=`cmake_arg "$1"`
+ cmake_prefix_dir=`cmake_fix_slashes "$dir"` ;;
+ --parallel=*) cmake_parallel_make=`cmake_arg "$1"` ;;
+ --datadir=*) cmake_data_dir=`cmake_arg "$1"` ;;
+ --docdir=*) cmake_doc_dir=`cmake_arg "$1"` ;;
+ --mandir=*) cmake_man_dir=`cmake_arg "$1"` ;;
+ --init=*) cmake_init_file=`cmake_arg "$1"` ;;
--system-libs) cmake_bootstrap_system_libs="${cmake_bootstrap_system_libs} -DCMAKE_USE_SYSTEM_LIBRARIES=1" ;;
--no-system-libs) cmake_bootstrap_system_libs="${cmake_bootstrap_system_libs} -DCMAKE_USE_SYSTEM_LIBRARIES=0" ;;
--system-bzip2|--system-curl|--system-expat|--system-libarchive|--system-zlib)
- cmake_bootstrap_system_libs="${cmake_bootstrap_system_libs} -DCMAKE_USE_SYSTEM_LIBRARY_`cmake_toupper ${1#--system-}`=1" ;;
+ lib=`cmake_arg "$1" "--system-"`
+ cmake_bootstrap_system_libs="${cmake_bootstrap_system_libs} -DCMAKE_USE_SYSTEM_LIBRARY_`cmake_toupper $lib`=1" ;;
--no-system-bzip2|--no-system-curl|--no-system-expat|--no-system-libarchive|--no-system-zlib)
- cmake_bootstrap_system_libs="${cmake_bootstrap_system_libs} -DCMAKE_USE_SYSTEM_LIBRARY_`cmake_toupper ${1#--no-system-}`=0" ;;
+ lib=`cmake_arg "$1" "--no-system-"`
+ cmake_bootstrap_system_libs="${cmake_bootstrap_system_libs} -DCMAKE_USE_SYSTEM_LIBRARY_`cmake_toupper $lib`=0" ;;
--qt-gui) cmake_bootstrap_qt_gui="1" ;;
--no-qt-gui) cmake_bootstrap_qt_gui="0" ;;
- --qt-qmake=*) cmake_bootstrap_qt_qmake="${1#*=}" ;;
+ --qt-qmake=*) cmake_bootstrap_qt_qmake=`cmake_arg "$1"` ;;
--help) cmake_usage ;;
--version) cmake_version_display ; exit 2 ;;
--verbose) cmake_verbose=TRUE ;;