@@ -79,6 +79,15 @@ printHelp () {
79
79
${tab} -v
80
80
${tab}${tab} write package version strings
81
81
82
+ ${tab} --vm-name <STRING>
83
+ ${tab}${tab} use STRING as custom vm package basename
84
+
85
+ ${tab} --vm-deps <STRING>
86
+ ${tab}${tab} adds a DEPS file to the vm package using STRING as content
87
+
88
+ ${tab} --build-dir <DIRECTORY>
89
+ ${tab}${tab} write built files in DIRECTORY
90
+
82
91
Target can be:
83
92
84
93
${tab} vm
@@ -231,7 +240,14 @@ cleanVmBuildDir () {
231
240
fi
232
241
}
233
242
234
- package () {
243
+ packageDir () {
244
+ local append=' false'
245
+ if [ " ${1} " = ' --append' ]
246
+ then
247
+ append=' true'
248
+ shift
249
+ fi
250
+
235
251
local archive_format=" ${1} "
236
252
local archive_filename=" ${2} "
237
253
local content_dir=" ${3} "
@@ -240,7 +256,10 @@ package () {
240
256
cd " ${content_dir} "
241
257
if [ -f " ${archive_filename} " ]
242
258
then
243
- rm -v " ${archive_filename} "
259
+ if ! " ${append} "
260
+ then
261
+ rm -v " ${archive_filename} "
262
+ fi
244
263
fi
245
264
246
265
7z -mx=' 9' -t" ${archive_format} " a " ${archive_filename} " .
@@ -303,7 +322,7 @@ build () {
303
322
local vmpak_archive_format=' zip'
304
323
local vmpak_archive_extension=' dpk'
305
324
306
- local build_dir=" ${root_dir} /build"
325
+ local build_dir=" ${build_dir :- ${ root_dir}/ build} "
307
326
local release_dir=" ${build_dir} /release"
308
327
309
328
local vm_kind_list=' cgame sgame'
@@ -456,7 +475,7 @@ build () {
456
475
457
476
if " ${build_vm} "
458
477
then
459
- vmpak_archive_basename=' vm '
478
+ vmpak_archive_basename=" ${vmpak_basename} "
460
479
cmake_opts=" ${cmake_opts} -DBUILD_GAME_NACL=ON -DBUILD_GAME_NACL_NEXE=ON -DBUILD_CGAME=ON -DBUILD_SGAME=ON -DBUILD_CLIENT=OFF -DBUILD_TTY_CLIENT=OFF -DBUILD_SERVER=OFF"
461
480
fi
462
481
@@ -701,7 +720,7 @@ build () {
701
720
702
721
# compress vm symbols
703
722
704
- package " ${symbol_archive_format} " " ${symbol_archive_filename} " " ${symbol_dir} "
723
+ packageDir " ${symbol_archive_format} " " ${symbol_archive_filename} " " ${symbol_dir} "
705
724
706
725
cp -v " ${symbol_archive_filename} " " ${content_dir} /${symbol_archive_basename} .${symbol_archive_format} "
707
726
@@ -714,7 +733,16 @@ build () {
714
733
rm -v " ${vmpak_archive_filename} "
715
734
fi
716
735
717
- package " ${vmpak_archive_format} " " ${vmpak_archive_filename} " " ${content_dir} "
736
+ packageDir " ${vmpak_archive_format} " " ${vmpak_archive_filename} " " ${content_dir} "
737
+
738
+ if [ -n " ${vmpak_deps_content} " ]
739
+ then
740
+ local temp_deps_dir=" $( mktemp -d) "
741
+ printf " ${vmpak_deps_content} " > " ${temp_deps_dir} /DEPS"
742
+ packageDir --append " ${vmpak_archive_format} " " ${vmpak_archive_filename} " " ${temp_deps_dir} "
743
+ rm " ${temp_deps_dir} /DEPS"
744
+ rmdir " ${temp_deps_dir} "
745
+ fi
718
746
719
747
cleanSymbols " ${symbol_dir} " " ${symbol_archive_filename} "
720
748
cleanVmBuildDir " ${content_dir} " " ${symbol_archive_basename} "
@@ -778,7 +806,7 @@ build () {
778
806
then
779
807
# compress engine symbols
780
808
781
- package " ${symbol_archive_format} " " ${symbol_archive_filename} " " ${symbol_dir} "
809
+ packageDir " ${symbol_archive_format} " " ${symbol_archive_filename} " " ${symbol_dir} "
782
810
783
811
cp -v " ${symbol_archive_filename} " " ${content_dir} /${symbol_archive_basename} -${target} .${symbol_archive_format} "
784
812
fi
@@ -787,7 +815,7 @@ build () {
787
815
788
816
engine_archive_filename=" ${release_dir} /${engine_archive_basename}${engine_version_string} .${engine_archive_format} "
789
817
790
- package " ${engine_archive_format} " " ${engine_archive_filename} " " ${content_dir} "
818
+ packageDir " ${engine_archive_format} " " ${engine_archive_filename} " " ${content_dir} "
791
819
792
820
cleanSymbols " ${symbol_dir} " " ${symbol_archive_filename} "
793
821
cleanEngineBuildDir " ${content_dir} "
@@ -805,6 +833,8 @@ parallel_target='false'
805
833
write_version_string=' false'
806
834
write_username_string=' false'
807
835
target_list=' '
836
+ vmpak_basename=' vm'
837
+ vmpak_deps_content=' '
808
838
809
839
while [ -n " ${1:- } " ]
810
840
do
836
866
write_version_string=' true'
837
867
shift
838
868
;;
869
+ ' --vm-name' )
870
+ shift
871
+ case " ${1:- } " in
872
+ ' ' |' -' * )
873
+ throwError BADREQUEST " missing vm name"
874
+ ;;
875
+ esac
876
+ vmpak_basename=" ${1} "
877
+ shift
878
+ ;;
879
+ ' --vm-deps' )
880
+ shift
881
+ case " ${1:- } " in
882
+ ' ' |' -' * )
883
+ throwError BADREQUEST " missing DEPS content string"
884
+ ;;
885
+ esac
886
+ vmpak_deps_content=" ${1} "
887
+ shift
888
+ ;;
889
+ ' --build-dir' )
890
+ shift
891
+ case " ${1:- } " in
892
+ ' ' |' -' * )
893
+ throwError BADREQUEST " missing build dir"
894
+ ;;
895
+ esac
896
+ build_dir=" $( realpath " ${1} " ) "
897
+ shift
898
+ ;;
839
899
' -h' |' --help' )
840
900
printHelp
841
901
;;
0 commit comments