aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/ryml/ext/c4core/.github/setenv.sh
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/ryml/ext/c4core/.github/setenv.sh')
-rw-r--r--thirdparty/ryml/ext/c4core/.github/setenv.sh443
1 files changed, 0 insertions, 443 deletions
diff --git a/thirdparty/ryml/ext/c4core/.github/setenv.sh b/thirdparty/ryml/ext/c4core/.github/setenv.sh
deleted file mode 100644
index a13bcadbf..000000000
--- a/thirdparty/ryml/ext/c4core/.github/setenv.sh
+++ /dev/null
@@ -1,443 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -x
-
-PROJ_DIR=$(pwd)
-
-function c4_show_info()
-{
- set +x
- env | sort
- echo "PROJ_DIR=$PROJ_DIR"
- echo "PROJ_PFX_TARGET=$PROJ_PFX_TARGET"
- echo "PROJ_PFX_CMAKE=$PROJ_PFX_CMAKE"
- echo "CMAKE_FLAGS=$CMAKE_FLAGS"
- echo "NUM_JOBS_BUILD=$NUM_JOBS_BUILD"
- echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
- pwd
- ls -lFhp
- echo "BITLINKS=$BITLINKS"
- for bl in shared64 static64 shared32 static32 arm64 arm64shared arm64static shared64arm static64arm arm32 arm32shared arm32static shared32arm static32arm arm ; do
- if _c4skipbitlink $bl ; then
- echo "skip $bl"
- else
- echo "exec $bl"
- fi
- done
- echo "CXX_=$CXX_"
- echo "BT=$BT"
- echo "LINT=$LINT"
- echo "SAN=$SAN"
- echo "SAN_ONLY=$SAN"
- echo "VG=$VG"
- echo "BM=$BM"
- echo "STD=$STD"
- echo "ARM=$ARM"
- echo "LIBCXX=$LIBCXX"
- echo "VERBOSE_MAKEFILES=$VERBOSE_MAKEFILES"
- which cmake
- cmake --version
- case "$CXX_" in
- xcode)
- # https://gist.github.com/nlutsenko/ee245fbd239087d22137
- echo "number of cores=$(sysctl -n hw.ncpu)"
- #defaults read com.apple.dt.xcodebuild | grep -i Number | grep -i Build
- #defaults read com.apple.dt.Xcode | grep -i Number | grep -i Tasks
- ;;
- gcc*|g++*|*clang*)
- echo "number of cores=$(nproc)"
- $CXX_ --version
- ;;
- esac
- set -x
- git branch
- git rev-parse HEAD
- git tag || echo
- git log -1 --format='%H'
-}
-
-function _c4bits()
-{
- case "$1" in
- shared64|static64|static64arm|shared64arm|arm64static|arm64shared|arm64) echo 64 ;;
- shared32|static32|static32arm|shared32arm|arm32static|arm32shared|arm32|arm) echo 32 ;;
- *) exit 1 ;;
- esac
-}
-
-function _c4linktype()
-{
- case "$1" in
- shared64|shared32|arm64static|arm32static|static64arm|static32arm) echo shared ;;
- static64|static32|arm64shared|arm32shared|shared64arm|shared32arm|arm64|arm32|arm) echo static ;;
- *) exit 1 ;;
- esac
-}
-
-function _c4vsarchtype()
-{
- # https://cmake.org/cmake/help/git-stage/generator/Visual%20Studio%2016%202019.html
- case "$1" in
- shared64|static64) echo x64 ;;
- shared32|static32) echo Win32 ;;
- arm64|arm64shared|arm64static|shared64arm|static64arm) echo ARM64 ;;
- arm32|arm32shared|arm32static|shared32arm|static32arm|arm) echo ARM ;;
- *) exit 1 ;;
- esac
-}
-
-function _c4skipbitlink()
-{
- bitlink___=$1
- if [ -z "$BITLINKS" ] ; then
- return 1 # return nonzero as failure, meaning DO NOT SKIP
- fi
- for bl___ in $BITLINKS ; do
- if [ "${bl___}" == "${bitlink___}" ] ; then
- return 1 # return nonzero as failure, meaning DO NOT SKIP
- fi
- done
- return 0 # return nonzero as success, meaning DO SKIP
-}
-
-function c4_build_test()
-{
- c4_build_target $* test-build
-}
-
-function c4_run_test()
-{
- c4_run_target $* test
-}
-
-function c4_build_target() # runs in parallel
-{
- if _c4skipbitlink "$1" ; then return 0 ; fi
- id=$1
- target=$2
- if [ ! -z "$target" ] ; then
- target="--target $target"
- fi
- build_dir=`pwd`/build/$id
- export CTEST_OUTPUT_ON_FAILURE=1
- # watchout: the `--parallel` flag to `cmake --build` is broken:
- # https://discourse.cmake.org/t/parallel-does-not-really-enable-parallel-compiles-with-msbuild/964/10
- # https://gitlab.kitware.com/cmake/cmake/-/issues/20564
- cmake --build $build_dir --config $BT $target -- $(_c4_generator_build_flags) $(_c4_parallel_build_flags)
-}
-
-function c4_run_target() # does not run in parallel
-{
- if _c4skipbitlink "$1" ; then return 0 ; fi
- id=$1
- target=$2
- build_dir=`pwd`/build/$id
- export CTEST_OUTPUT_ON_FAILURE=1
- cmake --build $build_dir --config $BT --target $target -- $(_c4_generator_build_flags)
-}
-
-function c4_package()
-{
- if _c4skipbitlink "$1" ; then return 0 ; fi
- id=$1
- generator=$2
- build_dir=`pwd`/build/$id
- if [ -z "$generator" ] ; then
- c4_run_target $id package
- else
- ( cd $build_dir ; cpack -G $generator )
- fi
-}
-
-function c4_submit_coverage()
-{
- if [ "$BT" != "Coverage" ] ; then
- echo "build type is \"$BT\": no coverage to submit"
- return 0
- fi
- if _c4skipbitlink "$1" ; then return 0 ; fi
- id=$1
- coverage_service=$2
- build_dir=`pwd`/build/$id
- echo "Submitting coverage data: $build_dir --> $coverage_service"
- cmake --build $build_dir --config $BT --target ${PROJ_PFX_TARGET}coverage-submit-$coverage_service
-}
-
-# WIP
-function c4_run_static_analysis()
-{
- if _c4skipbitlink "$1" ; then return 0 ; fi
- id=$1
- linktype=$(_c4linktype $id)
- build_dir=`pwd`/build/$id
- # https://blog.kitware.com/static-checks-with-cmake-cdash-iwyu-clang-tidy-lwyu-cpplint-and-cppcheck/
- pushd $PROJ_DIR
-}
-
-function c4_cfg_test()
-{
- if _c4skipbitlink "$1" ; then return 0 ; fi
- id=$1
- #
- build_dir=`pwd`/build/$id
- install_dir=`pwd`/install/$id
- mkdir -p $build_dir
- mkdir -p $install_dir
- #
- if [ "$TOOLCHAIN" != "" ] ; then
- toolchain_file=`pwd`/$TOOLCHAIN
- if [ ! -f "$toolchain_file" ] ; then
- echo "ERROR: toolchain not found: $toolchain_file"
- exit 1
- fi
- _addcmkflags -DCMAKE_TOOLCHAIN_FILE=$toolchain_file
- else
- bits=$(_c4bits $id)
- linktype=$(_c4linktype $id)
- case "$linktype" in
- static) _addcmkflags -DBUILD_SHARED_LIBS=OFF ;;
- shared) _addcmkflags -DBUILD_SHARED_LIBS=ON ;;
- *)
- echo "ERROR: unknown linktype: $linktype"
- exit 1
- ;;
- esac
- fi
- if [ "$STD" != "" ] ; then
- _addcmkflags -DC4_CXX_STANDARD=$STD
- _addprojflags CXX_STANDARD=$STD
- fi
- if [ "$LIBCXX" != "" ] ; then
- _addprojflags USE_LIBCXX=$LIBCXX
- fi
- #
- if [ "$DEV" != "OFF" ] ; then
- _addprojflags DEV=ON
- fi
- case "$LINT" in
- all ) _addprojflags LINT=ON LINT_TESTS=ON LINT_CLANG_TIDY=ON LINT_PVS_STUDIO=ON ;;
- clang-tidy) _addprojflags LINT=ON LINT_TESTS=ON LINT_CLANG_TIDY=ON LINT_PVS_STUDIO=OFF ;;
- pvs-studio) _addprojflags LINT=ON LINT_TESTS=ON LINT_CLANG_TIDY=OFF LINT_PVS_STUDIO=ON ;;
- * ) _addprojflags LINT=OFF ;;
- esac
- case "$SAN" in
- ALL) _addprojflags SANITIZE=ON ;;
- A ) _addprojflags SANITIZE=ON ASAN=ON TSAN=OFF MSAN=OFF UBSAN=OFF ;;
- T ) _addprojflags SANITIZE=ON ASAN=OFF TSAN=ON MSAN=OFF UBSAN=OFF ;;
- M ) _addprojflags SANITIZE=ON ASAN=OFF TSAN=OFF MSAN=ON UBSAN=OFF ;;
- UB ) _addprojflags SANITIZE=ON ASAN=OFF TSAN=OFF MSAN=OFF UBSAN=ON ;;
- * ) _addprojflags SANITIZE=OFF ;;
- esac
- case "$SAN_ONLY" in
- ON) _addprojflags SANITIZE_ONLY=ON ;;
- * ) _addprojflags SANITIZE_ONLY=OFF ;;
- esac
- case "$VG" in
- ON) _addprojflags VALGRIND=ON VALGRIND_SGCHECK=OFF ;; # FIXME SGCHECK should be ON
- * ) _addprojflags VALGRIND=OFF VALGRIND_SGCHECK=OFF ;;
- esac
- case "$BM" in
- ON) _addprojflags BUILD_BENCHMARKS=ON ;;
- * ) _addprojflags BUILD_BENCHMARKS=OFF ;;
- esac
- if [ "$BT" == "Coverage" ] ; then
- # the coverage repo tokens can be set in the travis environment:
- # export CODECOV_TOKEN=.......
- # export COVERALLS_REPO_TOKEN=.......
- _addprojflags COVERAGE_CODECOV=ON COVERAGE_CODECOV_SILENT=OFF
- _addprojflags COVERAGE_COVERALLS=ON COVERAGE_COVERALLS_SILENT=OFF
- fi
- if [ ! -z "$VERBOSE_MAKEFILES" ] ; then
- _addcmkflags -DCMAKE_VERBOSE_MAKEFILES=$VERBOSE_MAKEFILES
- fi
- _addcmkflags -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
- if [ ! -z "$CMAKE_FLAGS" ] ; then
- _addcmkflags $CMAKE_FLAGS
- fi
-
- echo "building with additional cmake flags: $CMFLAGS"
-
- export C4_EXTERN_DIR=`pwd`/build/extern
- mkdir -p $C4_EXTERN_DIR
-
- cmake --version
- pwd
-
- #
- # bash quote handling is a fiasco, and I could not find a way of storing
- # quoted strings in variables and then expand the variables with correct quotes
- # so we have to do this precious jewell of chicanery:
- case "$CXX_" in
- vs2022)
- cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- -G 'Visual Studio 17 2022' -A $(_c4vsarchtype $id) \
- $(_c4_add_ehsc_to_vs_arm32 $id) \
- -DCMAKE_BUILD_TYPE=$BT $CMFLAGS
- ;;
- vs2019)
- cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- -G 'Visual Studio 16 2019' -A $(_c4vsarchtype $id) \
- $(_c4_add_ehsc_to_vs_arm32 $id) \
- -DCMAKE_BUILD_TYPE=$BT $CMFLAGS
- ;;
- vs2017)
- case "$bits" in
- 64) g="Visual Studio 15 2017 Win64" ;;
- 32) g="Visual Studio 15 2017" ;;
- *) exit 1 ;;
- esac
- cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- $(_c4_add_ehsc_to_vs_arm32 $id) \
- -DCMAKE_BUILD_TYPE=$BT -G "$g" $CMFLAGS
- ;;
- xcode)
- g=Xcode
- case "$bits" in
- 64) a="x86_64" ;;
- 32) a="i386"
- echo "xcode does not support i386"
- exit 1 # i386 is deprecated in xcode
- ;;
- esac
- cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- -DCMAKE_BUILD_TYPE=$BT -G "$g" -DCMAKE_OSX_ARCHITECTURES=$a $CMFLAGS
- ;;
- arm*|"") # make sure arm* comes before *g++ or *gcc*
- cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- -DCMAKE_BUILD_TYPE=$BT $CMFLAGS
- ;;
- *g++*|*gcc*|*clang*)
- export CC_=$(echo "$CXX_" | sed 's:clang++:clang:g' | sed 's:g++:gcc:g')
- _c4_choose_clang_tidy $CXX_
- cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- -DCMAKE_BUILD_TYPE=$BT $CMFLAGS \
- -DCMAKE_C_COMPILER=$CC_ -DCMAKE_CXX_COMPILER=$CXX_ \
- -DCMAKE_C_FLAGS="-std=c99 -m$bits" -DCMAKE_CXX_FLAGS="-m$bits"
- cmake --build $build_dir --target help | sed 1d | sort
- ;;
- em++)
- emcmake cmake -S $PROJ_DIR -B $build_dir -DCMAKE_INSTALL_PREFIX="$install_dir" \
- -DCMAKE_BUILD_TYPE=$BT $CMFLAGS -DCMAKE_CXX_FLAGS="-s DISABLE_EXCEPTION_CATCHING=0"
- ;;
- *)
- echo "unknown compiler"
- exit 1
- ;;
- esac
-}
-
-function _c4_choose_clang_tidy()
-{
- cxx=$1
- # only for clang compilers.
- case $cxx in
- clang*)
- # try with version first
- clang_tidy_ver=$(echo $cxx | sed "s:++:-tidy:")
- clang_tidy=$(echo $cxx | sed "s:++.*:-tidy:")
- for n in $clang_tidy_ver $clang_tidy ; do
- exe=$(which $n)
- echo "searching for $n: $exe"
- if [ -z "$exe" ] ; then
- echo "could not find $clang_tidy"
- else
- _addcmkflags "-DCLANG_TIDY=$exe"
- return 0
- fi
- done
- echo "error: could not find clang-tidy for $cxx"
- exit 1
- ;;
- esac
-}
-
-# add cmake flags without project prefix
-function _addcmkflags()
-{
- for f in $* ; do
- CMFLAGS="$CMFLAGS ${f}"
- done
-}
-
-# add cmake flags with project prefix
-function _addprojflags()
-{
- for f in $* ; do
- CMFLAGS="$CMFLAGS -D${PROJ_PFX_CMAKE}${f}"
- done
-}
-
-function _c4_add_ehsc_to_vs_arm32()
-{
- id=$1
- case "$CXX_" in
- vs*)
- case "$id" in
- arm32|arm32shared|arm32static|shared32arm|static32arm|arm)
- echo '-DCMAKE_CXX_FLAGS="/EHsc"'
- ;;
- *)
- esac
- ;;
- esac
-}
-
-function _c4_parallel_build_flags()
-{
- case "$CXX_" in
- vs2022|vs2019|vs2017|vs2015)
- # https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-command-line-reference?view=vs-2019
- # https://stackoverflow.com/questions/2619198/how-to-get-number-of-cores-in-win32
- if [ -z "$NUM_JOBS_BUILD" ] ; then
- echo "/maxcpucount:$NUMBER_OF_PROCESSORS"
- else
- echo "/maxcpucount:$NUM_JOBS_BUILD"
- fi
- ;;
- xcode)
- # https://stackoverflow.com/questions/5417835/how-to-modify-the-number-of-parallel-compilation-with-xcode
- # https://gist.github.com/nlutsenko/ee245fbd239087d22137
- if [ -z "$NUM_JOBS_BUILD" ] ; then
- echo "-IDEBuildOperationMaxNumberOfConcurrentCompileTasks=$(sysctl -n hw.ncpu)"
- else
- echo "-IDEBuildOperationMaxNumberOfConcurrentCompileTasks=$NUM_JOBS_BUILD"
- fi
- ;;
- *g++*|*gcc*|*clang*|em++)
- if [ -z "$NUM_JOBS_BUILD" ] ; then
- echo "-j $(nproc)"
- else
- echo "-j $NUM_JOBS_BUILD"
- fi
- ;;
- "") # allow empty compiler
- ;;
- *)
- echo "unknown compiler"
- exit 1
- ;;
- esac
-}
-
-function _c4_generator_build_flags()
-{
- case "$CXX_" in
- vs2022|vs2019|vs2017|vs2015)
- ;;
- xcode)
- # WTF???
- # https://github.com/biojppm/rapidyaml/pull/97/checks?check_run_id=1504677928#step:7:964
- # https://stackoverflow.com/questions/51153525/xcode-10-unable-to-attach-db-error
- echo "-UseModernBuildSystem=NO"
- ;;
- *g++*|*gcc*|*clang*|em++)
- ;;
- "") # allow empty compiler
- ;;
- *)
- echo "unknown compiler"
- exit 1
- ;;
- esac
-}