Revision: 9439 https://osdn.net/projects/ttssh2/scm/svn/commits/9439 Author: zmatsuo Date: 2021-09-22 01:07:00 +0900 (Wed, 22 Sep 2021) Log Message: ----------- ツール(svn, git)をデフォルトのインストールパスからも探すようにした - 指定がない時、探したツールを使用する - 環境変数PATHに設定していなくても実行できるようにした Modified Paths: -------------- trunk/svnrev_perl/readme.md trunk/svnrev_perl/svnrev.pl -------------- next part -------------- Modified: trunk/svnrev_perl/readme.md =================================================================== --- trunk/svnrev_perl/readme.md 2021-09-20 16:36:20 UTC (rev 9438) +++ trunk/svnrev_perl/readme.md 2021-09-21 16:07:00 UTC (rev 9439) @@ -14,9 +14,16 @@ strawberry perl が buildtools/perl に展開される - または、いくつかのメジャーなperlを探して見つければ使用する - perl が見つからない場合は svnversion.default.h が使用される -- svn(又は git)を実行できるようにする - - svn が実行できるよう環境変数 PATH を設定する - - または、toolinfo.txt にツールのパスを書いておく +- svn(又は git)をインストールしておく + - Windows用svnの例 + - TortoiseSVN の command line client tools + - https://tortoisesvn.net/ + - Windows用gitの例 + - git + - https://git-scm.com/ + - 標準的なインストールフォルダから自動的に実行ファイルを探す + - 見つからない場合は環境変数 PATH にあるプログラムを実行する + - toolinfo.txt にツールのパスを書いておくと優先して使用される - ツールが実行できない場合もヘッダファイルは作成される # ヘッダの作成方法 Modified: trunk/svnrev_perl/svnrev.pl =================================================================== --- trunk/svnrev_perl/svnrev.pl 2021-09-20 16:36:20 UTC (rev 9438) +++ trunk/svnrev_perl/svnrev.pl 2021-09-21 16:07:00 UTC (rev 9439) @@ -37,6 +37,40 @@ close($FD); } +sub search_svn { + my @test_list = ( + "C:/Program Files/TortoiseSVN/bin/svn.exe", + "C:/cygwin64/bin/svn.exe", + "C:/cygwin/bin/svn.exe", + "/usr/bin/svn.exe" # msys, cygwin + ); + for (my $i = 0; $i < @test_list; $i++) { + my $test = $test_list[$i]; + if (-e $test) { + $svn = $test; + return; + } + } +} + +sub search_git { + my @test_list = ( + "C:/Program Files/Git/bin/git.exe", + "C:/cygwin64/bin/git.exe", + "C:/cygwin/bin/git.exe", + "/usr/bin/git.exe" # msys, cygwin + ); + for (my $i = 0; $i < @test_list; $i++) { + my $test = $test_list[$i]; + if (-e $test) { + $git = $test; + return; + } + } +} + +&search_svn(); +&search_git(); &read_toolinfo(); GetOptions( @@ -138,7 +172,16 @@ } local $revision = $svninfo{'Revision'}; +if ($verbose != 0) { + print "SVNREVISION $revision\n"; + print "RELEASE $svninfo{'release'}\n"; + print "BRANCH_NAME $svninfo{'name'}\n"; +} + # output for source(C,C++) header +if ($verbose != 0) { + print "write '$out_header'\n"; +} open(my $FD, ">$out_header") || die "error $out_header"; print $FD "/* $header */\n"; print $FD "/* #define TT_VERSION_STR \"$version\" check teraterm/common/tt-version.h */\n"; @@ -156,6 +199,9 @@ close($FD); # output for bat file +if ($verbose != 0) { + print "write '$out_bat'\n"; +} open(my $FD, ">$out_bat") || die "error $out_bat"; print $FD "\@rem $header\n"; print $FD "set VERSION=$version\n"; @@ -171,6 +217,9 @@ # output for cmake if ($out_cmake ne "") { + if ($verbose != 0) { + print "write '$out_cmake'\n"; + } open(my $FD, ">$out_cmake") || die "error $out_cmake"; print $FD "# $header\n"; print $FD "set(VERSION \"$version\")\n";