GitOrigin-RevId: ef6c4a10f5
release-1.6
@@ -10,6 +10,16 @@ REMOVE_OLD_BUILD=false | |||||
NINJA_VERBOSE=OFF | NINJA_VERBOSE=OFF | ||||
NINJA_DRY_RUN=OFF | NINJA_DRY_RUN=OFF | ||||
SPECIFIED_TARGET="install/strip" | SPECIFIED_TARGET="install/strip" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | |||||
fi | |||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
config_ninja_default_max_jobs | |||||
echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | ||||
@@ -23,16 +33,27 @@ function usage() { | |||||
echo "-r : remove old build dir before make, default off" | echo "-r : remove old build dir before make, default off" | ||||
echo "-v : ninja with verbose and explain, default off" | echo "-v : ninja with verbose and explain, default off" | ||||
echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | ||||
echo "-j : run N jobs in parallel for ninja, defaut is cpu_number + 2" | |||||
echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | ||||
echo "-l : list CMakeLists.txt all options, can be use to config EXTRA_CMAKE_ARGS" | |||||
echo "-h : show usage" | echo "-h : show usage" | ||||
echo "append other cmake config by export EXTRA_CMAKE_ARGS=..." | |||||
echo "example: $0 -d" | |||||
echo "append other cmake config by config EXTRA_CMAKE_ARGS, for example, enable MGE_WITH_TEST and build with Debug mode:" | |||||
echo "EXTRA_CMAKE_ARGS=\"-DMGE_WITH_TEST=ON\" $0 -d" | |||||
exit -1 | exit -1 | ||||
} | } | ||||
while getopts "nvrkhdfa:e:" arg | |||||
while getopts "lnvrkhdfa:e:j:" arg | |||||
do | do | ||||
case $arg in | case $arg in | ||||
j) | |||||
NINJA_MAX_JOBS=$OPTARG | |||||
echo "config NINJA_MAX_JOBS to ${NINJA_MAX_JOBS}" | |||||
;; | |||||
l) | |||||
echo "list CMakeLists.txt all options, can be used to config EXTRA_CMAKE_ARGS" | |||||
show_cmakelist_options | |||||
exit 0 | |||||
;; | |||||
d) | d) | ||||
echo "Build with Debug mode" | echo "Build with Debug mode" | ||||
BUILD_TYPE=Debug | BUILD_TYPE=Debug | ||||
@@ -95,18 +116,10 @@ echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | |||||
echo "ARCH: $ARCH" | echo "ARCH: $ARCH" | ||||
echo "----------------------------------------------------" | echo "----------------------------------------------------" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | |||||
elif [[ $OS =~ "NT" ]]; then | |||||
if [[ $OS =~ "NT" ]]; then | |||||
echo "BUILD in NT ..." | echo "BUILD in NT ..." | ||||
fi | fi | ||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
if [ -z $NDK_ROOT ];then | if [ -z $NDK_ROOT ];then | ||||
echo "can not find NDK_ROOT env, pls export you NDK root dir to NDK_ROOT" | echo "can not find NDK_ROOT env, pls export you NDK root dir to NDK_ROOT" | ||||
exit -1 | exit -1 | ||||
@@ -147,7 +160,7 @@ function cmake_build() { | |||||
${EXTRA_CMAKE_ARGS} \ | ${EXTRA_CMAKE_ARGS} \ | ||||
$SRC_DIR " | $SRC_DIR " | ||||
config_ninja_target_cmd ${NINJA_VERBOSE} "OFF" "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} | |||||
config_ninja_target_cmd ${NINJA_VERBOSE} "OFF" "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} ${NINJA_MAX_JOBS} | |||||
bash -c "${NINJA_CMD}" | bash -c "${NINJA_CMD}" | ||||
} | } | ||||
@@ -10,6 +10,16 @@ REMOVE_OLD_BUILD=false | |||||
NINJA_VERBOSE=OFF | NINJA_VERBOSE=OFF | ||||
NINJA_DRY_RUN=OFF | NINJA_DRY_RUN=OFF | ||||
SPECIFIED_TARGET="install" | SPECIFIED_TARGET="install" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | |||||
fi | |||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
config_ninja_default_max_jobs | |||||
echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | ||||
@@ -23,16 +33,27 @@ function usage() { | |||||
echo "-r : remove old build dir before make, default off" | echo "-r : remove old build dir before make, default off" | ||||
echo "-v : ninja with verbose and explain, default off" | echo "-v : ninja with verbose and explain, default off" | ||||
echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | ||||
echo "-j : run N jobs in parallel for ninja, defaut is cpu_number + 2" | |||||
echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | ||||
echo "-l : list CMakeLists.txt all options, can be use to config EXTRA_CMAKE_ARGS" | |||||
echo "-h : show usage" | echo "-h : show usage" | ||||
echo "append other cmake config by export EXTRA_CMAKE_ARGS=..." | |||||
echo "example: $0 -d" | |||||
echo "append other cmake config by config EXTRA_CMAKE_ARGS, for example, enable MGE_WITH_TEST and build with Debug mode:" | |||||
echo "EXTRA_CMAKE_ARGS=\"-DMGE_WITH_TEST=ON\" $0 -d" | |||||
exit -1 | exit -1 | ||||
} | } | ||||
while getopts "nvrkhdfa:e:" arg | |||||
while getopts "lnvrkhdfa:e:j:" arg | |||||
do | do | ||||
case $arg in | case $arg in | ||||
j) | |||||
NINJA_MAX_JOBS=$OPTARG | |||||
echo "config NINJA_MAX_JOBS to ${NINJA_MAX_JOBS}" | |||||
;; | |||||
l) | |||||
echo "list CMakeLists.txt all options, can be used to config EXTRA_CMAKE_ARGS" | |||||
show_cmakelist_options | |||||
exit 0 | |||||
;; | |||||
d) | d) | ||||
echo "Build with Debug mode" | echo "Build with Debug mode" | ||||
BUILD_TYPE=Debug | BUILD_TYPE=Debug | ||||
@@ -92,22 +113,17 @@ echo "BUILD_TYPE: $BUILD_TYPE" | |||||
echo "MGE_ARMV8_2_FEATURE_FP16: $MGE_ARMV8_2_FEATURE_FP16" | echo "MGE_ARMV8_2_FEATURE_FP16: $MGE_ARMV8_2_FEATURE_FP16" | ||||
echo "MGE_DISABLE_FLOAT16: $MGE_DISABLE_FLOAT16" | echo "MGE_DISABLE_FLOAT16: $MGE_DISABLE_FLOAT16" | ||||
echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | ||||
echo "NINJA_MAX_JOBS: ${NINJA_MAX_JOBS}" | |||||
echo "ARCH: $ARCH" | echo "ARCH: $ARCH" | ||||
echo "----------------------------------------------------" | echo "----------------------------------------------------" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [ $OS = "Darwin" ];then | if [ $OS = "Darwin" ];then | ||||
READLINK=greadlink | |||||
echo "cross build ios from MacOS" | |||||
else | else | ||||
echo "cross build ios only support on macos, abort now!!" | |||||
echo "cross build ios only support on MacOS, abort now!!" | |||||
exit -1 | exit -1 | ||||
fi | fi | ||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
function cmake_build() { | function cmake_build() { | ||||
BUILD_DIR=$SRC_DIR/build_dir/apple/$3/$4/$1/$BUILD_TYPE/build | BUILD_DIR=$SRC_DIR/build_dir/apple/$3/$4/$1/$BUILD_TYPE/build | ||||
INSTALL_DIR=$BUILD_DIR/../install | INSTALL_DIR=$BUILD_DIR/../install | ||||
@@ -145,7 +161,7 @@ function cmake_build() { | |||||
${EXTRA_CMAKE_ARGS} \ | ${EXTRA_CMAKE_ARGS} \ | ||||
$SRC_DIR " | $SRC_DIR " | ||||
config_ninja_target_cmd ${NINJA_VERBOSE} "OFF" "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} | |||||
config_ninja_target_cmd ${NINJA_VERBOSE} "OFF" "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} ${NINJA_MAX_JOBS} | |||||
bash -c "${NINJA_CMD}" | bash -c "${NINJA_CMD}" | ||||
} | } | ||||
@@ -13,6 +13,16 @@ NINJA_DRY_RUN=OFF | |||||
SPECIFIED_TARGET="install/strip" | SPECIFIED_TARGET="install/strip" | ||||
CMAKE_C_FLAGS="-Wno-psabi" | CMAKE_C_FLAGS="-Wno-psabi" | ||||
CMAKE_CXX_FLAGS="-Wno-psabi" | CMAKE_CXX_FLAGS="-Wno-psabi" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | |||||
fi | |||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
config_ninja_default_max_jobs | |||||
echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | ||||
@@ -27,16 +37,27 @@ function usage() { | |||||
echo "-r : remove old build dir before make, default off" | echo "-r : remove old build dir before make, default off" | ||||
echo "-v : ninja with verbose and explain, default off" | echo "-v : ninja with verbose and explain, default off" | ||||
echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | ||||
echo "-j : run N jobs in parallel for ninja, defaut is cpu_number + 2" | |||||
echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | ||||
echo "-l : list CMakeLists.txt all options, can be use to config EXTRA_CMAKE_ARGS" | |||||
echo "-h : show usage" | echo "-h : show usage" | ||||
echo "append other cmake config by export EXTRA_CMAKE_ARGS=..." | |||||
echo "example: $0 -d" | |||||
echo "append other cmake config by config EXTRA_CMAKE_ARGS, for example, enable MGE_WITH_TEST and build with Debug mode:" | |||||
echo "EXTRA_CMAKE_ARGS=\"-DMGE_WITH_TEST=ON\" $0 -d" | |||||
exit -1 | exit -1 | ||||
} | } | ||||
while getopts "nvrkhdcfa:e:" arg | |||||
while getopts "lnvrkhdcfa:e:j:" arg | |||||
do | do | ||||
case $arg in | case $arg in | ||||
j) | |||||
NINJA_MAX_JOBS=$OPTARG | |||||
echo "config NINJA_MAX_JOBS to ${NINJA_MAX_JOBS}" | |||||
;; | |||||
l) | |||||
echo "list CMakeLists.txt all options, can be used to config EXTRA_CMAKE_ARGS" | |||||
show_cmakelist_options | |||||
exit 0 | |||||
;; | |||||
d) | d) | ||||
echo "Build with Debug mode" | echo "Build with Debug mode" | ||||
BUILD_TYPE=Debug | BUILD_TYPE=Debug | ||||
@@ -101,15 +122,11 @@ echo "MGE_WITH_CUDA: $MGE_WITH_CUDA" | |||||
echo "MGE_ARMV8_2_FEATURE_FP16: $MGE_ARMV8_2_FEATURE_FP16" | echo "MGE_ARMV8_2_FEATURE_FP16: $MGE_ARMV8_2_FEATURE_FP16" | ||||
echo "MGE_DISABLE_FLOAT16: $MGE_DISABLE_FLOAT16" | echo "MGE_DISABLE_FLOAT16: $MGE_DISABLE_FLOAT16" | ||||
echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | ||||
echo "NINJA_MAX_JOBS: ${NINJA_MAX_JOBS}" | |||||
echo "ARCH: $ARCH" | echo "ARCH: $ARCH" | ||||
echo "----------------------------------------------------" | echo "----------------------------------------------------" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | |||||
elif [[ $OS =~ "NT" ]]; then | |||||
if [[ $OS =~ "NT" ]]; then | |||||
echo "BUILD in NT ..." | echo "BUILD in NT ..." | ||||
fi | fi | ||||
@@ -129,9 +146,6 @@ if [ $MGE_WITH_CUDA = "OFF" ];then | |||||
CMAKE_CXX_FLAGS="-Werror=unused-parameter -Wno-psabi" | CMAKE_CXX_FLAGS="-Werror=unused-parameter -Wno-psabi" | ||||
fi | fi | ||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
function cmake_build() { | function cmake_build() { | ||||
BUILD_DIR=$SRC_DIR/build_dir/gnu-linux/MGE_WITH_CUDA_$3/$1/$BUILD_TYPE/build | BUILD_DIR=$SRC_DIR/build_dir/gnu-linux/MGE_WITH_CUDA_$3/$1/$BUILD_TYPE/build | ||||
INSTALL_DIR=$BUILD_DIR/../install | INSTALL_DIR=$BUILD_DIR/../install | ||||
@@ -161,7 +175,7 @@ function cmake_build() { | |||||
${EXTRA_CMAKE_ARGS} \ | ${EXTRA_CMAKE_ARGS} \ | ||||
$SRC_DIR " | $SRC_DIR " | ||||
config_ninja_target_cmd ${NINJA_VERBOSE} "OFF" "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} | |||||
config_ninja_target_cmd ${NINJA_VERBOSE} "OFF" "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} ${NINJA_MAX_JOBS} | |||||
bash -c "${NINJA_CMD}" | bash -c "${NINJA_CMD}" | ||||
} | } | ||||
@@ -1,26 +1,6 @@ | |||||
#!/usr/bin/env bash | #!/usr/bin/env bash | ||||
set -e | set -e | ||||
function usage() { | |||||
echo "$0 args1 args2 .." | |||||
echo "available args detail:" | |||||
echo "-d : Build with Debug mode, default Release mode" | |||||
echo "-c : Build with CUDA, default without CUDA" | |||||
echo "-t : Build with training mode, default inference only" | |||||
echo "-m : Build with m32 mode(only for windows build), default m64" | |||||
echo "-r : remove old build dir before make, default off" | |||||
echo "-v : ninja with verbose and explain, default off" | |||||
echo "-s : Do not build develop even build with training mode, default on when build with training, always for wheel" | |||||
echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | |||||
echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | |||||
echo "-h : show usage" | |||||
echo "append other cmake config by export EXTRA_CMAKE_ARGS=..." | |||||
echo "example: $0 -d" | |||||
exit -1 | |||||
} | |||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
BUILD_TYPE=Release | BUILD_TYPE=Release | ||||
MGE_WITH_CUDA=OFF | MGE_WITH_CUDA=OFF | ||||
MGE_INFERENCE_ONLY=ON | MGE_INFERENCE_ONLY=ON | ||||
@@ -32,16 +12,56 @@ NINJA_VERBOSE=OFF | |||||
BUILD_DEVELOP=ON | BUILD_DEVELOP=ON | ||||
NINJA_DRY_RUN=OFF | NINJA_DRY_RUN=OFF | ||||
SPECIFIED_TARGET="install/strip" | SPECIFIED_TARGET="install/strip" | ||||
READLINK=readlink | |||||
OS=$(uname -s) | |||||
if [[ $OS =~ "NT" ]]; then | if [[ $OS =~ "NT" ]]; then | ||||
echo "Windows no need strip, caused by pdb file always split with exe" | echo "Windows no need strip, caused by pdb file always split with exe" | ||||
SPECIFIED_TARGET="install" | SPECIFIED_TARGET="install" | ||||
fi | fi | ||||
if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | |||||
fi | |||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
config_ninja_default_max_jobs | |||||
echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | echo "EXTRA_CMAKE_ARGS: ${EXTRA_CMAKE_ARGS}" | ||||
while getopts "nsrhdctmve:" arg | |||||
function usage() { | |||||
echo "$0 args1 args2 .." | |||||
echo "available args detail:" | |||||
echo "-d : Build with Debug mode, default Release mode" | |||||
echo "-c : Build with CUDA, default without CUDA" | |||||
echo "-t : Build with training mode, default inference only" | |||||
echo "-m : Build with m32 mode(only for windows build), default m64" | |||||
echo "-r : remove old build dir before make, default off" | |||||
echo "-v : ninja with verbose and explain, default off" | |||||
echo "-s : Do not build develop even build with training mode, default on when build with training, always for wheel" | |||||
echo "-n : ninja with -n dry run (don't run commands but act like they succeeded)" | |||||
echo "-j : run N jobs in parallel for ninja, defaut is cpu_number + 2" | |||||
echo "-e : build a specified target (always for debug, NOTICE: do not do strip/install target when use -e)" | |||||
echo "-l : list CMakeLists.txt all options, can be use to config EXTRA_CMAKE_ARGS" | |||||
echo "-h : show usage" | |||||
echo "append other cmake config by config EXTRA_CMAKE_ARGS, for example, enable MGE_WITH_TEST and build with Debug mode:" | |||||
echo "EXTRA_CMAKE_ARGS=\"-DMGE_WITH_TEST=ON\" $0 -d" | |||||
exit -1 | |||||
} | |||||
while getopts "lnsrhdctmve:j:" arg | |||||
do | do | ||||
case $arg in | case $arg in | ||||
j) | |||||
NINJA_MAX_JOBS=$OPTARG | |||||
echo "config NINJA_MAX_JOBS to ${NINJA_MAX_JOBS}" | |||||
;; | |||||
l) | |||||
echo "list CMakeLists.txt all options, can be used to config EXTRA_CMAKE_ARGS" | |||||
show_cmakelist_options | |||||
exit 0 | |||||
;; | |||||
d) | d) | ||||
echo "Build with Debug mode" | echo "Build with Debug mode" | ||||
BUILD_TYPE=Debug | BUILD_TYPE=Debug | ||||
@@ -95,10 +115,10 @@ echo "BUILD_TYPE: $BUILD_TYPE" | |||||
echo "MGE_WITH_CUDA: $MGE_WITH_CUDA" | echo "MGE_WITH_CUDA: $MGE_WITH_CUDA" | ||||
echo "MGE_INFERENCE_ONLY: $MGE_INFERENCE_ONLY" | echo "MGE_INFERENCE_ONLY: $MGE_INFERENCE_ONLY" | ||||
echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | echo "SPECIFIED_TARGET: ${SPECIFIED_TARGET}" | ||||
echo "NINJA_MAX_JOBS: ${NINJA_MAX_JOBS}" | |||||
echo "------------------------------------" | echo "------------------------------------" | ||||
if [ $OS = "Darwin" ];then | if [ $OS = "Darwin" ];then | ||||
READLINK=greadlink | |||||
if [ $MGE_WITH_CUDA = "ON" ];then | if [ $MGE_WITH_CUDA = "ON" ];then | ||||
echo "MACOS DO NOT SUPPORT TensorRT, ABORT NOW!!" | echo "MACOS DO NOT SUPPORT TensorRT, ABORT NOW!!" | ||||
exit -1 | exit -1 | ||||
@@ -107,9 +127,6 @@ elif [[ $OS =~ "NT" ]]; then | |||||
echo "BUILD in NT ..." | echo "BUILD in NT ..." | ||||
fi | fi | ||||
SRC_DIR=$($READLINK -f "`dirname $0`/../../") | |||||
source $SRC_DIR/scripts/cmake-build/utils/utils.sh | |||||
if [ ${MGE_INFERENCE_ONLY} = "ON" ]; then | if [ ${MGE_INFERENCE_ONLY} = "ON" ]; then | ||||
echo "config BUILD_DEVELOP=OFF when MGE_INFERENCE_ONLY=ON" | echo "config BUILD_DEVELOP=OFF when MGE_INFERENCE_ONLY=ON" | ||||
BUILD_DEVELOP=OFF | BUILD_DEVELOP=OFF | ||||
@@ -141,7 +158,7 @@ function cmake_build() { | |||||
${EXTRA_CMAKE_ARGS} \ | ${EXTRA_CMAKE_ARGS} \ | ||||
${SRC_DIR} " | ${SRC_DIR} " | ||||
config_ninja_target_cmd ${NINJA_VERBOSE} ${BUILD_DEVELOP} "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} | |||||
config_ninja_target_cmd ${NINJA_VERBOSE} ${BUILD_DEVELOP} "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} ${NINJA_MAX_JOBS} | |||||
bash -c "${NINJA_CMD}" | bash -c "${NINJA_CMD}" | ||||
} | } | ||||
@@ -280,7 +297,7 @@ function cmake_build_windows() { | |||||
-DCMAKE_MAKE_PROGRAM=ninja.exe \ | -DCMAKE_MAKE_PROGRAM=ninja.exe \ | ||||
${EXTRA_CMAKE_ARGS} ../../.. " | ${EXTRA_CMAKE_ARGS} ../../.. " | ||||
config_ninja_target_cmd ${NINJA_VERBOSE} ${BUILD_DEVELOP} "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} | |||||
config_ninja_target_cmd ${NINJA_VERBOSE} ${BUILD_DEVELOP} "${SPECIFIED_TARGET}" ${NINJA_DRY_RUN} ${NINJA_MAX_JOBS} | |||||
cmd.exe /c " vcvarsall.bat $MGE_WINDOWS_BUILD_ARCH && ${NINJA_CMD} " | cmd.exe /c " vcvarsall.bat $MGE_WINDOWS_BUILD_ARCH && ${NINJA_CMD} " | ||||
} | } | ||||
@@ -4,6 +4,8 @@ set -e | |||||
OS=$(uname -s) | OS=$(uname -s) | ||||
NINJA_CMD="" | NINJA_CMD="" | ||||
NINJA_BASE="ninja" | NINJA_BASE="ninja" | ||||
cpu_number=`nproc` | |||||
NINJA_MAX_JOBS=0 | |||||
if [[ $OS =~ "NT" ]]; then | if [[ $OS =~ "NT" ]]; then | ||||
echo "BUILD in NT ..." | echo "BUILD in NT ..." | ||||
@@ -15,7 +17,7 @@ if [ $OS = "Darwin" ];then | |||||
READLINK=greadlink | READLINK=greadlink | ||||
fi | fi | ||||
PROJECT_DIR=$(dirname "${BASH_SOURCE[0]}")/../../../ | |||||
PROJECT_DIR=$(dirname "${BASH_SOURCE[0]}")/../../.. | |||||
function cd_real_build_dir() { | function cd_real_build_dir() { | ||||
REAL_DIR=$($READLINK -f $1) | REAL_DIR=$($READLINK -f $1) | ||||
echo "may alias dir: $1" | echo "may alias dir: $1" | ||||
@@ -77,21 +79,22 @@ function try_remove_old_build() { | |||||
} | } | ||||
function config_ninja_target_cmd() { | function config_ninja_target_cmd() { | ||||
if [ $# -eq 4 ]; then | |||||
if [ $# -eq 5 ]; then | |||||
_NINJA_VERBOSE=$1 | _NINJA_VERBOSE=$1 | ||||
_BUILD_DEVELOP=$2 | _BUILD_DEVELOP=$2 | ||||
_NINJA_TARGET=$3 | _NINJA_TARGET=$3 | ||||
_NINJA_DRY_RUN=$4 | _NINJA_DRY_RUN=$4 | ||||
_NINJA_MAX_JOBS=$5 | |||||
else | else | ||||
echo "err call config_ninja_target_cmd" | echo "err call config_ninja_target_cmd" | ||||
exit -1 | exit -1 | ||||
fi | fi | ||||
if [ -z "${_NINJA_TARGET}" ]; then | if [ -z "${_NINJA_TARGET}" ]; then | ||||
NINJA_CMD="${NINJA_BASE} all" | |||||
NINJA_CMD="${NINJA_BASE} all -j ${_NINJA_MAX_JOBS}" | |||||
elif [[ ${_NINJA_TARGET} =~ "install" ]]; then | elif [[ ${_NINJA_TARGET} =~ "install" ]]; then | ||||
NINJA_CMD="${NINJA_BASE} all && ${NINJA_BASE} ${_NINJA_TARGET}" | |||||
NINJA_CMD="${NINJA_BASE} all -j ${_NINJA_MAX_JOBS} && ${NINJA_BASE} ${_NINJA_TARGET}" | |||||
else | else | ||||
NINJA_CMD="${NINJA_BASE} ${_NINJA_TARGET}" | |||||
NINJA_CMD="${NINJA_BASE} ${_NINJA_TARGET} -j ${_NINJA_MAX_JOBS}" | |||||
fi | fi | ||||
if [ ${_NINJA_DRY_RUN} = "ON" ]; then | if [ ${_NINJA_DRY_RUN} = "ON" ]; then | ||||
@@ -108,3 +111,14 @@ function config_ninja_target_cmd() { | |||||
echo "build ${NINJA_BASE} target command: ${NINJA_CMD}" | echo "build ${NINJA_BASE} target command: ${NINJA_CMD}" | ||||
} | } | ||||
function show_cmakelist_options() { | |||||
cd ${PROJECT_DIR} | |||||
grep "option(" lite/CMakeLists.txt CMakeLists.txt --color | |||||
cd - > /dev/null | |||||
} | |||||
function config_ninja_default_max_jobs() { | |||||
((NINJA_MAX_JOBS = ${cpu_number} + 2)) | |||||
echo "config default NINJA_MAX_JOBS to ${NINJA_MAX_JOBS}" | |||||
} |