Revision: 7538 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7538 Author: zmatsuo Date: 2019-04-01 21:45:42 +0900 (Mon, 01 Apr 2019) Log Message: ----------- cmakeについて追記 - doc/en/html/reference/build_with_cmake.md 追加(日本語のまま) - doc/en(ja)/teraterm.hhc に参照を追加 - installer/check_sjis_code.pl サブフォルダ再帰がうまくいってなかったので調整 - doc/convtext.bat utf8bomを削除できるようオプションを追加 Modified Paths: -------------- trunk/doc/convtext.bat trunk/doc/en/html/index.html trunk/doc/en/teraterm.hhc trunk/doc/ja/html/reference/build_with_cmake.md trunk/doc/ja/teraterm.hhc trunk/installer/check_sjis_code.pl Added Paths: ----------- trunk/doc/en/html/reference/build_with_cmake.md -------------- next part -------------- Modified: trunk/doc/convtext.bat =================================================================== --- trunk/doc/convtext.bat 2019-04-01 12:45:26 UTC (rev 7537) +++ trunk/doc/convtext.bat 2019-04-01 12:45:42 UTC (rev 7538) @@ -17,5 +17,7 @@ %ZLIBCP% -i ..\libs\zlib\README -o %REF_E%\zlib-LICENSE.txt -l unix %ZLIBCP% -i ..\libs\zlib\README -o %REF_J%\zlib-LICENSE.txt -l unix -perl -pe 'tr/\x{feff}//d' ja/html/reference/build_with_cmake.md | perl Markdown_1.0.1/Markdown.pl > ja/html/reference/build_with_cmake_utf8.html +perl -C -pe 'tr/\x{feff}//d' ja/html/reference/build_with_cmake.md | perl Markdown_1.0.1/Markdown.pl > ja/html/reference/build_with_cmake_utf8.html %TOSJIS% -i ja/html/reference/build_with_cmake_utf8.html -o ja/html/reference/build_with_cmake.html -c utf8 +perl -C -pe 'tr/\x{feff}//d' en/html/reference/build_with_cmake.md | perl Markdown_1.0.1/Markdown.pl > en/html/reference/build_with_cmake_utf8.html +%TOSJIS% -i en/html/reference/build_with_cmake_utf8.html -o en/html/reference/build_with_cmake.html -c utf8 Modified: trunk/doc/en/html/index.html =================================================================== --- trunk/doc/en/html/index.html 2019-04-01 12:45:26 UTC (rev 7537) +++ trunk/doc/en/html/index.html 2019-04-01 12:45:42 UTC (rev 7538) @@ -144,6 +144,9 @@ <LI><A HREF="reference/SFMT-LICENSE.txt">License of SFMT</A></LI> <LI><A HREF="reference/CygTerm+-LICENSE.txt">License of CygTerm+</A></LI> <LI><A HREF="reference/develop.txt">For developer</A> + <UL> + <LI><A HREF="reference/build_with_cmake.html">build with CMake (experimental)</A></LI> + </UL> <LI><A HREF="reference/sourcecode.html">Source Code Overview</A></LI> </UL> Added: trunk/doc/en/html/reference/build_with_cmake.md =================================================================== --- trunk/doc/en/html/reference/build_with_cmake.md (rev 0) +++ trunk/doc/en/html/reference/build_with_cmake.md 2019-04-01 12:45:42 UTC (rev 7538) @@ -0,0 +1,49 @@ +# cmakeを使ったビルド + +- [cmake](<https://cmake.org/>)を使用して + ビルドすることができます(実験的な位置づけです) + +## cmakeのバージョン + +- Visual Studio 2005 をサポートしている cmake の最後のバージョンは 3.11.4 です +- Visual Studio 2005 Express では ttpmacro.exe をビルドすることができません +- Visual Studio 2005 (Expressも含む)以外を使用する場合は特に制限はありません +- Visual Studio 2017 インストーラーで、オプションを選べば cmake をインストールできます + +## MinGW (very experimental) + +- MinGW を使用してバイナリを生成することができます +- 実験的位置づけです +- MinGW では ttpmacro.exe をビルドすることができません + +## ライブラリのビルド + +- teraterm が使用するライブラリをビルドして準備しておきます +- `lib/build_library_with_cmake.md` を参照してください +- ライブラリは `develop.txt` を参照してください + +## teratermのビルド + +ソースツリーのトップから、次のようにコマンドを実行します。 + + mkdir build_vs2005 + cd build_vs2005 + ..\libs\cmake-3.11.4-win32-x86\bin\cmake.exe .. -G "Visual Studio 8 2005" + ..\libs\cmake-3.11.4-win32-x86\bin\cmake.exe --build . --config release + +- `-G` オプションの後ろは使用する Visual Studio のバージョンに合わせて調整します +- sln ファイルが生成されるので Visual Studio で開くことができます +- パスが通っていれば cmake はフルパスで書く必要はありません +- 生成された sln ファイルから起動したVisual Studioでビルドすると + CMakeLists.txt を変更を検出してプロジェクトファイルの再生成を自動で行うので + sln ファイルの生成を手動で行うのは最初の1回だけです + +## teratermのビルド(MinGW) + +MinGWので使用できるcmakeを使って、 +ソースツリーのトップから、次のようにコマンドを実行します。 + + mkdir build_mingw_test + cd build_mingw_test + cmake .. -G "Unix Makefiles" + make -j4 Modified: trunk/doc/en/teraterm.hhc =================================================================== --- trunk/doc/en/teraterm.hhc 2019-04-01 12:45:26 UTC (rev 7537) +++ trunk/doc/en/teraterm.hhc 2019-04-01 12:45:42 UTC (rev 7538) @@ -580,6 +580,13 @@ <param name="Local" value="html\reference\develop.txt"> <param name="ImageNumber" value="11"> </OBJECT> + <UL> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Build with CMake build system (experimental)"> + <param name="Local" value="html\reference\build_with_cmake.html"> + <param name="ImageNumber" value="11"> + </OBJECT> + </UL> <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Source Code Overview"> <param name="Local" value="html\reference\sourcecode.html"> Modified: trunk/doc/ja/html/reference/build_with_cmake.md =================================================================== --- trunk/doc/ja/html/reference/build_with_cmake.md 2019-04-01 12:45:26 UTC (rev 7537) +++ trunk/doc/ja/html/reference/build_with_cmake.md 2019-04-01 12:45:42 UTC (rev 7538) @@ -1,14 +1,21 @@ -# cmakeを使ったビルド +# cmakeを使ったビルド -- cmake を使用してビルドすることができます(実験的な位置づけです) - - https://cmake.org/ +- [cmake](<https://cmake.org/>)を使用して + ビルドすることができます(実験的な位置づけです) ## cmakeのバージョン - Visual Studio 2005 をサポートしている cmake の最後のバージョンは 3.11.4 です -- Visual Studio 2005 以外を使用する場合は特に制限はありません +- Visual Studio 2005 Express では ttpmacro.exe をビルドすることができません +- Visual Studio 2005 (Expressも含む)以外を使用する場合は特に制限はありません - Visual Studio 2017 インストーラーで、オプションを選べば cmake をインストールできます +## MinGW (very experimental) + +- MinGW を使用してバイナリを生成することができます +- 実験的位置づけです +- MinGW では ttpmacro.exe をビルドすることができません + ## ライブラリのビルド - teraterm が使用するライブラリをビルドして準備しておきます @@ -17,19 +24,26 @@ ## teratermのビルド -- ソースツリーのトップから、次のようにコマンドを実行します - ``` +ソースツリーのトップから、次のようにコマンドを実行します。 + mkdir build_vs2005 cd build_vs2005 - ..\libs\cmake-3.11.4-win32-x86\bin\cmake.exe .. -G "Visual Studio 8 2005" - ``` - - `-G` オプションの後ろは使用する Visual Studio のバージョンに合わせて調整します + ..\libs\cmake-3.11.4-win32-x86\bin\cmake.exe .. -G "Visual Studio 8 2005" + ..\libs\cmake-3.11.4-win32-x86\bin\cmake.exe --build . --config release + +- `-G` オプションの後ろは使用する Visual Studio のバージョンに合わせて調整します - sln ファイルが生成されるので Visual Studio で開くことができます -- cmakeを使ってビルドする場合は次のコマンドを実行します - ``` - ..\libs\cmake-3.11.4-win32-x86\bin\cmake.exe --build . --config release - ``` - パスが通っていれば cmake はフルパスで書く必要はありません - 生成された sln ファイルから起動したVisual Studioでビルドすると CMakeLists.txt を変更を検出してプロジェクトファイルの再生成を自動で行うので sln ファイルの生成を手動で行うのは最初の1回だけです + +## teratermのビルド(MinGW) + +MinGWので使用できるcmakeを使って、 +ソースツリーのトップから、次のようにコマンドを実行します。 + + mkdir build_mingw_test + cd build_mingw_test + cmake .. -G "Unix Makefiles" + make -j4 Modified: trunk/doc/ja/teraterm.hhc =================================================================== --- trunk/doc/ja/teraterm.hhc 2019-04-01 12:45:26 UTC (rev 7537) +++ trunk/doc/ja/teraterm.hhc 2019-04-01 12:45:42 UTC (rev 7538) @@ -589,6 +589,13 @@ <param name="Local" value="html\reference\develop.txt"> <param name="ImageNumber" value="11"> </OBJECT> + <UL> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="CMake\x83r\x83\x8B\x83h\x83V\x83X\x83e\x83\x80\x82\xF0\x8Eg\x97p\x82\xB5\x82\xBD\x83r\x83\x8B\x83h(experimental)"> + <param name="Local" value="html\reference\build_with_cmake.html"> + <param name="ImageNumber" value="11"> + </OBJECT> + </UL> <LI> <OBJECT type="text/sitemap"> <param name="Name" value="\x83\\x81[\x83X\x83R\x81[\x83h\x89\xF0\x90\xE0"> <param name="Local" value="html\reference\sourcecode.html"> Modified: trunk/installer/check_sjis_code.pl =================================================================== --- trunk/installer/check_sjis_code.pl 2019-04-01 12:45:26 UTC (rev 7537) +++ trunk/installer/check_sjis_code.pl 2019-04-01 12:45:42 UTC (rev 7538) @@ -26,23 +26,24 @@ closedir(DIR); foreach my $path (sort @temp) { next if( $path =~ /^\.{1,2}$/ ); # '.' \x82\xC6 '..' \x82̓X\x83L\x83b\x83v - next if( $path =~ /^\.svn$/ ); # '.svn' \x82̓X\x83L\x83b\x83v - + next if( $path =~ /^\.svn$/ ); # '.svn' \x82̓X\x83L\x83b\x83v + my $full_path = "$top_dir" . '/' . "$path"; - next if (-B $full_path); # \x83o\x83C\x83i\x83\x8A\x83t\x83@\x83C\x83\x8B\x82̓X\x83L\x83b\x83v - -# print "$full_path\r\n"; # \x95\\x8E\xA6\x82\xBE\x82\xAF\x82Ȃ\xE7\x91S\x82Ă\xF0\x95\\x8E\xA6\x82\xB5\x82Ă\xAD\x82\xEA\x82\xE9------- +# print "$full_path\r\n"; # \x95\\x8E\xA6\x82\xBE\x82\xAF\x82Ȃ\xE7\x91S\x82Ă\xF0\x95\\x8E\xA6\x82\xB5\x82Ă\xAD\x82\xEA\x82\xE9------- push(@paths, $full_path); # \x83f\x81[\x83^\x82Ƃ\xB5\x82Ď\xE6\x82荞\x82\xF1\x82ł\xE0\x91O\x82̎\xE6\x82荞\x82݂\xAA\x8F\x89\x8A\x{227B0B3}\x82\xEA\x82\xE9 if( -d "$top_dir/$path" ){ #-- \x83f\x83B\x83\x8C\x83N\x83g\x83\x8A\x82̏ꍇ\x82͎\xA9\x95\xAA\x8E\xA9\x90g\x82\xF0\x8CĂяo\x82\xB7 &get_file_paths("$full_path"); - + } elsif (-B $full_path) { + # \x83o\x83C\x83i\x83\x8A\x83t\x83@\x83C\x83\x8B\x82̓X\x83L\x83b\x83v + next; + } elsif (&check_exclude_file($path)) { print "$full_path skipped\n"; next; - + } else { check_sjis_code($full_path); - + } } return \@paths; @@ -53,7 +54,7 @@ sub check_exclude_file { my($fn) = shift; my($s); - + foreach $s (@exclude_files) { if ($fn eq $s) { return 1;