-
Notifications
You must be signed in to change notification settings - Fork 10
/
make_proj_verinfo.sh
30 lines (24 loc) · 1.25 KB
/
make_proj_verinfo.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
#
# 在指定路徑建立 proj_verinfo.h:
# - Linux 在 CMakeLists.txt 裡面執行:
# execute_process(COMMAND "../fon9/make_proj_verinfo.sh" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
# RESULT_VARIABLE ret)
# if(NOT ret EQUAL 0)
# message(FATAL_ERROR "Run make_proj_verionf.sh ERROR: " ${ret})
# endif()
#
# - 然後可以在程式裡將版本資放入 SysEnv:
# if (auto sysEnv = holder.Root_->Get<fon9::seed::SysEnv>(fon9_kCSTR_SysEnv_DefaultName))
# fon9::seed::LogSysEnv(sysEnv->Add(new fon9::seed::SysEnvItem("Version", proj_VERSION)).get());
#
pushd $(dirname "$0")
FON9_HASH=`git rev-parse --short=12 HEAD | xargs`
popd
MySln_HASH=`git rev-parse --short=12 HEAD | xargs`
BUILDTM=`date +"%Y.%m.%d-%H%M"`
PROJ=`basename "${PWD}"`
echo "#ifndef proj_NAME" > proj_verinfo.h
echo "#define proj_NAME \"${PROJ}\"" >> proj_verinfo.h
echo "#endif" >> proj_verinfo.h
echo "#define proj_VERSION proj_NAME \"=${MySln_HASH}|fon9=${FON9_HASH}|build=${BUILDTM}\"" >> proj_verinfo.h