diff options
author | Yehonal <yehonal.azeroth@gmail.com> | 2021-05-04 11:35:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-04 11:35:24 +0200 |
commit | f6c6123d85d467134ee24565c9d98efdfc3a0c41 (patch) | |
tree | 2b70863b40601c5f98d2fbe9e8aa51fa150e7ceb /apps/compiler/includes/functions.sh | |
parent | a1b0c4541762320867aa7e7150c942224c18753d (diff) |
feat(docker): production images, integrated ccache and many other improvements (#5551)
Diffstat (limited to 'apps/compiler/includes/functions.sh')
-rw-r--r-- | apps/compiler/includes/functions.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/apps/compiler/includes/functions.sh b/apps/compiler/includes/functions.sh index 1e3c83c6ba..7c5ea483a1 100644 --- a/apps/compiler/includes/functions.sh +++ b/apps/compiler/includes/functions.sh @@ -8,6 +8,40 @@ function comp_clean() { [ -d "$DIRTOCLEAN" ] && rm -rf $PATTERN } +function comp_ccacheEnable() { + [ "$AC_CCACHE" != true ] && return + + export CCACHE_MAXSIZE=${CCACHE_MAXSIZE:-'1000MB'} + #export CCACHE_DEPEND=true + export CCACHE_SLOPPINESS=${CCACHE_SLOPPINESS:-pch_defines,time_macros,include_file_mtime} + export CCACHE_CPP2=${CCACHE_CPP2:-true} # optimization for clang + export CCACHE_COMPRESS=${CCACHE_COMPRESS:-1} + export CCACHE_COMPRESSLEVEL=${CCACHE_COMPRESSLEVEL:-9} + #export CCACHE_NODIRECT=true + + export CCUSTOMOPTIONS="$CCUSTOMOPTIONS -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" +} + +function comp_ccacheClean() { + [ "$AC_CCACHE" != true ] && echo "ccache is disabled" && return + + echo "Cleaning ccache" + ccache -C + ccache -s +} + +function comp_ccacheResetStats() { + [ "$AC_CCACHE" != true ] && return + + ccache -zc +} + +function comp_ccacheShowStats() { + [ "$AC_CCACHE" != true ] && return + + ccache -s +} + function comp_configure() { CWD=$(pwd) @@ -16,6 +50,7 @@ function comp_configure() { echo "Build path: $BUILDPATH" echo "DEBUG info: $CDEBUG" echo "Compilation type: $CTYPE" + echo "CCache: $AC_CCACHE" # -DCMAKE_BUILD_TYPE=$CCTYPE disable optimization "slow and huge amount of ram" # -DWITH_COREDEBUG=$CDEBUG compiled with debug information @@ -28,6 +63,8 @@ function comp_configure() { DCONF="-DCONF_DIR=$CONFDIR" fi + comp_ccacheEnable + cmake $SRCPATH -DCMAKE_INSTALL_PREFIX=$BINPATH $DCONF -DSERVERS=$CSERVERS \ -DSCRIPTS=$CSCRIPTS \ -DBUILD_TESTING=$CBUILD_TESTING \ @@ -49,11 +86,21 @@ function comp_compile() { cd $BUILDPATH + comp_ccacheResetStats + time make -j $MTHREADS make -j $MTHREADS install + comp_ccacheShowStats + cd $CWD + if [ $DOCKER = 1 ]; then + echo "Generating confs..." + cp -n "env/dist/etc/worldserver.conf.dockerdist" "env/dist/etc/worldserver.conf" + cp -n "env/dist/etc/authserver.conf.dockerdist" "env/dist/etc/authserver.conf" + fi + runHooks "ON_AFTER_BUILD" } |