diff options
author | Maksim Kita <maksim-kita@yandex-team.ru> | 2023-07-26 15:44:44 +0000 |
---|---|---|
committer | maksim-kita <maksim-kita@yandex-team.com> | 2023-07-26 18:44:44 +0300 |
commit | f112995ac962911827ed4ff8b1f0fdbac27c6072 (patch) | |
tree | 5136acad372e56fb98b02067ac4c29b9970de429 /scripts | |
parent | b6e3fc4bfaef9be7014a035044f5c91ce0133e55 (diff) | |
download | ydb-f112995ac962911827ed4ff8b1f0fdbac27c6072.tar.gz |
Generate cmake
Generate cmake
Pull Request resolved: #272
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/generate_dump.sh | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/scripts/generate_dump.sh b/scripts/generate_dump.sh new file mode 100755 index 0000000000..28e4067981 --- /dev/null +++ b/scripts/generate_dump.sh @@ -0,0 +1,103 @@ +#!/usr/bin/env bash + +TMP_FOLDER='/tmp/ydb-build-dump' + +rm -rf $TMP_FOLDER +mkdir $TMP_FOLDER + +PLATFORM=$1 +TARGET_PLATFORM=$2 + +PARAMS_FILE=$TMP_FOLDER/params.json +UNIX_TEMPLATE=$TMP_FOLDER/unix_template.txt +WIN_TEMPLATE=$TMP_FOLDER/win_template.txt + +cat <<'EOF'>$UNIX_TEMPLATE +{ + "env": { + "CPATH": [""], + "LIBRARY_PATH": [""], + "SDKROOT": [""] + }, + "params": { + "c_compiler": "$$($platform)/bin/clang", + "cxx_compiler": "$$($platform)/bin/clang++", + "gcc_version": "14.0", + "llvm-symbolizer": "$$($platform)/bin/llvm-symbolizer", + "match_root": "$platform", + "objcopy": "$$($platform)/bin/llvm-objcopy", + "strip": "$$($platform)/bin/llvm-strip", + "type": "clang", + "werror_mode": "all" + }, + "platform": { + "host": { + "arch": "$arch", + "os": "$os", + "toolchain": "default", + "visible_name": "clang14" + }, + "target": { + "arch": "$arch", + "os": "$os", + "toolchain": "default", + "visible_name": "clang14" + } + } +} +EOF + +cat <<'EOF'>$WIN_TEMPLATE +{ + "params": { + "c_compiler": "$$($platform)/bin/Hostx64/x64/cl.exe", + "cxx_compiler": "$$($platform)/bin/Hostx64/x64/cl.exe", + "cxx_std": "c++latest", + "for_ide": "msvs2019", + "match_root": "$platform", + "type": "msvc", + "version": "2019", + "werror_mode": "compiler_specific" + }, + "platform": { + "host": { + "arch": "$arch", + "os": "$os", + "toolchain": "default", + "visible_name": "msvc2019" + }, + "target": { + "arch": "$arch", + "os": "$os", + "toolchain": "default", + "visible_name": "msvc2019" + } + } +} +EOF + +if [[ $PLATFORM = win* ]] +then + TEMPLATE=$WIN_TEMPLATE +else + TEMPLATE=$UNIX_TEMPLATE +fi + +DUMP_EXPORT_PATH="$TMP_FOLDER/ymake.$PLATFORM.conf" + +# generate params for ymake_conf.py +python3 -c "import sys, string as s; v=sys.argv; p = v[1].replace('-', '_'); o, a = v[2].split('-'); print(s.Template(open('$TEMPLATE').read()).substitute(platform=p.upper(), arch=a, os=o.upper()))" $TARGET_PLATFORM $PLATFORM >$DUMP_EXPORT_PATH.params +PARAMS=`base64 -w0 $DUMP_EXPORT_PATH.params` + +ARCADIA=`realpath .` +python3 $ARCADIA/build/ymake_conf.py $ARCADIA release no --toolchain-params $PARAMS \ + -D NO_SVN_DEPENDS=yes -D REPORT_CONFIGURE_PROGRESS=yes -D EXPORT_CMAKE=yes -D TRAVERSE_RECURSE=yes -D TRAVERSE_RECURSE_FOR_TESTS=yes \ + -D BUILD_LANGUAGES=CPP -D EXPORTED_BUILD_SYSTEM_SOURCE_ROOT='${CMAKE_SOURCE_DIR}' -D EXPORTED_BUILD_SYSTEM_BUILD_ROOT='${CMAKE_BINARY_DIR}' \ + -D OPENSOURCE=yes -D OPENSOURCE_PROJECT=ydb -D HAVE_CUDA=no -D CUDA_VERSION=0.0 -D USE_PREBUILT_TOOLS=no >$DUMP_EXPORT_PATH +# append new line +echo >>$DUMP_EXPORT_PATH + +cat $DUMP_EXPORT_PATH +# cp $DUMP_EXPORT_PATH . + +rm -rf $TMP_FOLDER |