From d267ecd023c5d71f64579854af8fca653fe9587c Mon Sep 17 00:00:00 2001 From: Sylvain Petreolle Date: Sun, 9 Jun 2013 13:47:01 +0000 Subject: [PATCH] configure.sh: Allow passing -D parameters to cmake. Both -DVAR=value and -D VAR=value syntaxes are supported. svn path=/trunk/; revision=59197 --- reactos/configure.sh | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/reactos/configure.sh b/reactos/configure.sh index 57f9d3f6e20..ee6e54bc354 100755 --- a/reactos/configure.sh +++ b/reactos/configure.sh @@ -9,11 +9,34 @@ BUILD_ENVIRONMENT=MinGW ARCH=$ROS_ARCH REACTOS_SOURCE_DIR=$(cd `dirname $0` && pwd) REACTOS_OUTPUT_PATH=output-$BUILD_ENVIRONMENT-$ARCH -if [ "$1" = "Makefiles" -o "$1" = "makefiles" ]; then -CMAKE_GENERATOR="Unix Makefiles" -else + +usage() { +echo Invalid parameter given. +exit 1 +} + CMAKE_GENERATOR="Ninja" -fi +for (( i=1; i<=$#; i++ )); do + case ${!i} in + -D) + ((i++)) + if [[ "x${!i}" == x?*=* ]] ; then + ROS_CMAKEOPTS+=" -D ${!i}" + else + usage + fi + ;; + + -D?*=*) + ROS_CMAKEOPTS+=" ${!i}" + ;; + makefiles|Makefiles) + CMAKE_GENERATOR="Unix Makefiles" + ;; + *) + usage + esac +done if [ "$REACTOS_SOURCE_DIR" = "$PWD" ]; then echo Creating directories in $REACTOS_OUTPUT_PATH @@ -28,12 +51,12 @@ cd host-tools rm -f CMakeCache.txt REACTOS_BUILD_TOOLS_DIR="$PWD" -cmake -G "$CMAKE_GENERATOR" -DARCH=$ARCH "$REACTOS_SOURCE_DIR" +cmake -G "$CMAKE_GENERATOR" -DARCH=$ARCH $ROS_CMAKEOPTS "$REACTOS_SOURCE_DIR" echo Preparing reactos... cd ../reactos rm -f CMakeCache.txt -cmake -G "$CMAKE_GENERATOR" -DENABLE_CCACHE=0 -DPCH=0 -DCMAKE_TOOLCHAIN_FILE=toolchain-gcc.cmake -DARCH=$ARCH -DREACTOS_BUILD_TOOLS_DIR="$REACTOS_BUILD_TOOLS_DIR" "$REACTOS_SOURCE_DIR" +cmake -G "$CMAKE_GENERATOR" -DENABLE_CCACHE=0 -DPCH=0 -DCMAKE_TOOLCHAIN_FILE=toolchain-gcc.cmake -DARCH=$ARCH -DREACTOS_BUILD_TOOLS_DIR="$REACTOS_BUILD_TOOLS_DIR" $ROS_CMAKEOPTS "$REACTOS_SOURCE_DIR" echo Configure script complete! Enter directories and execute appropriate build commands\(ex: ninja, make, makex, etc...\).