[ttssh2-commit] [9874] cmake用インストーラー修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2022年 4月 21日 (木) 22:40:16 JST


Revision: 9874
          https://osdn.net/projects/ttssh2/scm/svn/commits/9874
Author:   zmatsuo
Date:     2022-04-21 22:40:15 +0900 (Thu, 21 Apr 2022)
Log Message:
-----------
cmake用インストーラー修正

- cygtermのフォルダ名を修正
  - cygterm_x86_64 -> cygterm+-x86_64
  - cygterm_i686 -> cygterm+-i686
- スタートメニュの中のグループ名を"Tera Term 5"に変更
- インストーラ作成に失敗していたので修正
  - teraterm.iss に合わせた

Modified Paths:
--------------
    trunk/cygwin/cygterm/build_cygterm.cmake
    trunk/cygwin/cygterm_build/CMakeLists.txt
    trunk/installer/teraterm_cmake.iss.in

-------------- next part --------------
Modified: trunk/cygwin/cygterm/build_cygterm.cmake
===================================================================
--- trunk/cygwin/cygterm/build_cygterm.cmake	2022-04-21 13:36:16 UTC (rev 9873)
+++ trunk/cygwin/cygterm/build_cygterm.cmake	2022-04-21 13:40:15 UTC (rev 9874)
@@ -101,12 +101,12 @@
   # gcc-core, gcc-g++ package (cygwin 64bit)
   set(GENERATE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/toolchain_x86_64-cygwin.cmake")
   if(DEFINED CMAKE_INSTALL_PREFIX)
-    list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/cygterm_x86_64")
+    list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/cygterm+-x86_64")
   endif()
   build("${PATH}/cmake" "build_cygterm_x86_64" "${GENERATE_OPTIONS}")
   if(DEFINED CMAKE_INSTALL_PREFIX)
-    file(COPY "${CMAKE_INSTALL_PREFIX}/cygterm_x86_64/cygterm.exe" DESTINATION ${CMAKE_INSTALL_PREFIX})
-    file(COPY "${CMAKE_INSTALL_PREFIX}/cygterm_x86_64/cygterm.cfg" DESTINATION ${CMAKE_INSTALL_PREFIX})
+    file(COPY "${CMAKE_INSTALL_PREFIX}/cygterm+-x86_64/cygterm.exe" DESTINATION ${CMAKE_INSTALL_PREFIX})
+    file(COPY "${CMAKE_INSTALL_PREFIX}/cygterm+-x86_64/cygterm.cfg" DESTINATION ${CMAKE_INSTALL_PREFIX})
   endif()
 endif()
 
@@ -114,7 +114,7 @@
   # cygwin32-gcc-core, cygwin32-gcc-g++ package (cygwin 32bit on cygwin 64bit)
   set(GENERATE_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_LIST_DIR}/toolchain_i686-cygwin.cmake")
   if(DEFINED CMAKE_INSTALL_PREFIX)
-    list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/cygterm_i686")
+    list(APPEND GENERATE_OPTIONS "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/cygterm+-i686")
   endif()
   build("${PATH}/cmake" "build_cygterm_i686" "${GENERATE_OPTIONS}")
 endif()

Modified: trunk/cygwin/cygterm_build/CMakeLists.txt
===================================================================
--- trunk/cygwin/cygterm_build/CMakeLists.txt	2022-04-21 13:36:16 UTC (rev 9873)
+++ trunk/cygwin/cygterm_build/CMakeLists.txt	2022-04-21 13:40:15 UTC (rev 9874)
@@ -25,23 +25,23 @@
 
 install(
   FILES
-    ${BINARY_DIR}/cygterm_x86_64/cygterm.exe
-    ${BINARY_DIR}/cygterm_x86_64/cygterm.cfg
-  DESTINATION cygterm_x86_64
+    ${BINARY_DIR}/cygterm+-x86_64/cygterm.exe
+    ${BINARY_DIR}/cygterm+-x86_64/cygterm.cfg
+  DESTINATION cygterm+-x86_64
   OPTIONAL
   )
 install(
   FILES
-    ${BINARY_DIR}/cygterm_x86_64/cygterm.exe
-    ${BINARY_DIR}/cygterm_x86_64/cygterm.cfg
+    ${BINARY_DIR}/cygterm+-x86_64/cygterm.exe
+    ${BINARY_DIR}/cygterm+-x86_64/cygterm.cfg
   DESTINATION .
   OPTIONAL
   )
 install(
   FILES
-    ${BINARY_DIR}/cygterm_i686/cygterm.exe
-    ${BINARY_DIR}/cygterm_i686/cygterm.cfg
-  DESTINATION cygterm_i686
+    ${BINARY_DIR}/cygterm+-i686/cygterm.exe
+    ${BINARY_DIR}/cygterm+-i686/cygterm.cfg
+  DESTINATION cygterm+-i686
   OPTIONAL
   )
 install(

Modified: trunk/installer/teraterm_cmake.iss.in
===================================================================
--- trunk/installer/teraterm_cmake.iss.in	2022-04-21 13:36:16 UTC (rev 9873)
+++ trunk/installer/teraterm_cmake.iss.in	2022-04-21 13:40:15 UTC (rev 9874)
@@ -1,4 +1,5 @@
-#define AppName "Tera Term 5 alpha"
+#define AppName "Tera Term"
+#define AppVer "5.0-alpha1"
 
 [InnoIDE_PreCompile]
 Name: makechm.bat
@@ -29,17 +30,16 @@
 AppPublisher=TeraTerm Project
 AppPublisherURL=https://ttssh2.osdn.jp/
 AppSupportURL=https://ttssh2.osdn.jp/
+AppId={{07A7E17A-F6D6-44A7-82E6-6BEE528CCA2A}
 AppName={#AppName}
 #ifdef SETUP_RELEASE
 AppVersion=@VERSION@
-AppVerName={#AppName} @VERSION@
 #else
 AppVersion=@VERSION @ + snapshot-r @ SVNVERSION@- @ DATE@
-AppVerName={#AppName} r @ SVNVERSION@- @ DATE@
 #endif
 LicenseFile=@PROJECT_SOURCE_DIR@/installer\release\license.txt
 DefaultDirName={pf}\teraterm5
-DefaultGroupName={#AppName}
+DefaultGroupName={#AppName} 5
 ShowLanguageDialog=yes
 AllowNoIcons=true
 UninstallDisplayIcon={app}\ttermpro.exe
@@ -69,7 +69,7 @@
 Source: @CMAKE_INSTALL_PREFIX@/ttpcmn.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
 Source: @CMAKE_INSTALL_PREFIX@/ttpset.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
 Source: @CMAKE_INSTALL_PREFIX@/ttptek.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
-Source: @PROJECT_SOURCE_DIR@/installer\release\TERATERM.INI; DestDir: {app}; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
+Source: @PROJECT_SOURCE_DIR@/installer\release\TERATERM.INI; DestDir: {app}; Components: TeraTerm
 Source: @PROJECT_SOURCE_DIR@/installer\release\TSPECIAL1.TTF; DestDir: {fonts}; Components: TeraTerm; Attribs: readonly; Flags: onlyifdoesntexist overwritereadonly uninsneveruninstall; FontInstall: Tera Special; Check: isAbleToInstallFont
 ;Source: release\TSPECIAL1.TTF; DestDir: {app}; Components: TeraTerm
 Source: @CMAKE_INSTALL_PREFIX@/teraterm.chm; DestDir: {app}; Components: TeraTerm
@@ -77,7 +77,7 @@
 Source: @PROJECT_SOURCE_DIR@/installer\release\license.txt; DestDir: {app}; Components: TeraTerm
 Source: @PROJECT_SOURCE_DIR@/installer\release\FUNCTION.CNF; DestDir: {app}; Components: TeraTerm
 Source: @PROJECT_SOURCE_DIR@/installer\release\IBMKEYB.CNF; DestDir: {app}; Components: TeraTerm
-Source: @PROJECT_SOURCE_DIR@/installer\release\EDITOR.CNF; DestDir: {app}; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify; DestName: KEYBOARD.CNF
+Source: @PROJECT_SOURCE_DIR@/installer\release\EDITOR.CNF; DestDir: {app}; Components: TeraTerm; DestName: KEYBOARD.CNF
 Source: @PROJECT_SOURCE_DIR@/installer\release\EDITOR.CNF; DestDir: {app}; Components: TeraTerm
 Source: @PROJECT_SOURCE_DIR@/installer\release\NT98KEYB.CNF; DestDir: {app}; Components: TeraTerm
 Source: @PROJECT_SOURCE_DIR@/installer\release\PC98KEYB.CNF; DestDir: {app}; Components: TeraTerm
@@ -108,11 +108,11 @@
 Source: @PROJECT_SOURCE_DIR@/installer\release\lang_utf16le\Simplified Chinese.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
 Source: @PROJECT_SOURCE_DIR@/installer\release\lang_utf16le\Traditional Chinese.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
 Source: @CMAKE_INSTALL_PREFIX@/ttxssh.dll; DestDir: {app}; Components: TTSSH; Flags: ignoreversion
-Source: @PROJECT_SOURCE_DIR@/installer\release\ssh_known_hosts; DestDir: {app}; Components: TTSSH; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
-Source: @CMAKE_INSTALL_PREFIX@/cygterm.exe; DestDir: {app}; Components: cygterm
-Source: @CMAKE_INSTALL_PREFIX@/cygterm.cfg; DestDir: {app}; Components: cygterm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
-Source: @CMAKE_INSTALL_PREFIX@/cygterm_i686\cygterm.exe; DestDir: {app}\cygterm+-i686; Components: cygterm
-Source: @CMAKE_INSTALL_PREFIX@/cygterm_x86_64\cygterm.exe; DestDir: {app}\cygterm+-x86_64; Components: cygterm
+Source: @PROJECT_SOURCE_DIR@/installer\release\ssh_known_hosts; DestDir: {app}; Components: TTSSH
+Source: @CMAKE_INSTALL_PREFIX@/cygterm+-i686\cygterm.exe; DestDir: {app}\cygterm+-i686; Components: cygterm
+Source: @CMAKE_INSTALL_PREFIX@/cygterm.cfg; DestDir: {app}; Components: cygterm
+;Source: @CMAKE_INSTALL_PREFIX@/cygterm+.tar.gz; DestDir: {app}; Components: cygterm
+Source: @CMAKE_INSTALL_PREFIX@/cygterm+-x86_64\cygterm.exe; DestDir: {app}\cygterm+-x86_64; Components: cygterm
 Source: @CMAKE_INSTALL_PREFIX@/cyglaunch.exe; DestDir: {app}; Components: cygterm
 Source: @CMAKE_INSTALL_PREFIX@/cygtool.dll; Components: cygterm; Flags: dontcopy
 Source: @CMAKE_INSTALL_PREFIX@/ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion
@@ -165,8 +165,8 @@
 Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}; Components: TeraTerm; Flags: createonlyiffileexists
 Name: {group}\cyglaunch; Filename: {app}\cyglaunch.exe; WorkingDir: {app}; IconFilename: {app}\cyglaunch.exe; IconIndex: 0; Components: cygterm; Flags: createonlyiffileexists
 Name: {group}\TeraTerm Menu; Filename: {app}\ttpmenu.exe; WorkingDir: {app}; IconFilename: {app}\ttpmenu.exe; IconIndex: 0; Components: TeraTerm_Menu; Flags: createonlyiffileexists
-Name: {userdesktop}\Tera Term; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: desktopicon; IconIndex: 0; Flags: createonlyiffileexists
-Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Tera Term; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: quicklaunchicon; IconIndex: 0; Flags: createonlyiffileexists
+Name: {userdesktop}\Tera Term 5; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: desktopicon; IconIndex: 0; Flags: createonlyiffileexists
+Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Tera Term 5; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: quicklaunchicon; IconIndex: 0; Flags: createonlyiffileexists
 Name: {userstartup}\TeraTerm Menu; Filename: {app}\ttpmenu.exe; WorkingDir: {app}; IconFilename: {app}\ttpmenu.exe; Components: TeraTerm_Menu; IconIndex: 0; Tasks: startupttmenuicon; Flags: createonlyiffileexists
 Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\cyglaunch; Filename: {app}\cyglaunch.exe; WorkingDir: {app}; IconFilename: {app}\cyglaunch.exe; Components: cygterm; Tasks: quickcyglaunch; IconIndex: 0; Flags: createonlyiffileexists
 
@@ -231,7 +231,9 @@
 [Tasks]
 Name: desktopicon; Description: {cm:task_desktopicon}; Components: TeraTerm
 Name: quicklaunchicon; Description: {cm:task_quicklaunchicon}; Components: TeraTerm
-Name: startupttmenuicon; Description: {cm:task_startupttmenuicon}; Components: TeraTerm_Menu
+; Tera Term 4 のを上書きしないよう、テスト版の間は TeraTerm Menu のデフォルトを off にする
+; Name: startupttmenuicon; Description: {cm:task_startupttmenuicon}; Components: TeraTerm_Menu
+Name: startupttmenuicon; Description: {cm:task_startupttmenuicon}; Components: TeraTerm_Menu; Flags: unchecked
 Name: cygtermhere; Description: {cm:task_cygtermhere}; Components: cygterm; Flags: unchecked
 Name: quickcyglaunch; Description: {cm:task_quickcyglaunch}; Components: cygterm; Flags: unchecked
 Name: macroassoc; Description: {cm:task_macroassoc}; Components: TeraTerm; Flags: unchecked
@@ -332,10 +334,10 @@
 procedure SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2: Integer);
 external 'SHCha****@shell***** stdcall';
 
-function FindCygwinPath(CygwinDirectory, CygwinDir: AnsiString; Dirlen: Cardinal): Integer;
+function FindCygwinPath(CygwinDirectory: String; CygwinDir: String; Dirlen: Cardinal): Integer;
 external 'FindCygwinPath @ files:cygtool.dll stdcall setuponly';
 
-function PortableExecutableMachine(CygwinDir: AnsiString): Integer;
+function PortableExecutableMachine(CygwinDir: String): Integer;
 external 'PortableExecutableMachine @ files:cygtool.dll stdcall setuponly';
 
 var
@@ -499,6 +501,9 @@
         SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
       if Length(TEKFont) = 0 then
         SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
+      SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '2', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiOverride', 'on', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiWidth', '2', iniFile);
     end;
   $11: // Japanese
     begin
@@ -505,9 +510,12 @@
       if Length(Language) = 0 then
         SetIniString('Tera Term', 'Language', 'Japanese', iniFile);
       if Length(VTFont) = 0 then
-        SetIniString('Tera Term', 'VTFont', 'Terminal,0,-19,128', iniFile);
+        SetIniString('Tera Term', 'VTFont', 'MS ゴシック,0,-16,128', iniFile);
       if Length(TEKFont) = 0 then
         SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);
+      SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '2', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiOverride', 'on', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiWidth', '2', iniFile);
     end;
   $12: // Korean
     begin
@@ -517,6 +525,9 @@
         SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
       if Length(TEKFont) = 0 then
         SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
+      SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '2', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiOverride', 'on', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiWidth', '2', iniFile);
     end;
   $19: // Russian
     begin
@@ -526,6 +537,9 @@
         SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
       if Length(TEKFont) = 0 then
         SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
+      SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '1', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiOverride', 'off', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiWidth', '1', iniFile);
     end;
   else // Other
     begin
@@ -546,6 +560,9 @@
         SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
       if Length(TEKFont) = 0 then
         SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
+      SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '1', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiOverride', 'off', iniFile);
+      SetIniString('Tera Term', 'UnicodeEmojiWidth', '1', iniFile);
     end;
   end;
 
@@ -803,7 +820,7 @@
 
 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
 var
-  ini     : array[0..6] of String;
+  ini     : array[0..1] of String;
   buf     : String;
   conf    : String;
   confmsg : String;
@@ -814,13 +831,8 @@
   case CurUninstallStep of
     usPostUninstall:
       begin
-        ini[0] := '\TERATERM.INI';
-        ini[1] := '\KEYBOARD.CNF';
-        ini[2] := '\lang\Default.lng';
-        ini[3] := '\lang_utf16le\Default.lng';
-        ini[4] := '\ssh_known_hosts';
-        ini[5] := '\cygterm.cfg';
-        ini[6] := '\broadcast.log';
+        ini[0] := '\lang\Default.lng';
+        ini[1] := '\lang_utf16le\Default.lng';
 
         conf := CustomMessage('msg_del_confirm');
         app  := ExpandConstant('{app}');
@@ -835,7 +847,7 @@
         if not silent then begin
 
           // delete config files
-          for i := 0 to 6 do
+          for i := 0 to 1 do
           begin
             buf := app + ini[i];
             if FileExists(buf) then begin
@@ -869,6 +881,8 @@
 end;
 
 [InstallDelete]
+; インストーラに含めたことがあり、のちに含めなくなったファイルを指定する。
+; 上書きインストールしたあとアンインストールしたときに削除されないため。
 Name: {app}\OpenSSH-LICENCE.txt; Type: files
 Name: {app}\cygterm-README.txt; Type: files
 Name: {app}\cygterm-README-j.txt; Type: files
@@ -898,4 +912,6 @@
 Name: {app}\ttpdlg.dll; Type: files
 
 [UninstallDelete]
+; cygterm.exe は cygterm+-x86_64\cygterm.exe か cygterm+-i686\cygterm.exe を
+; スクリプトでコピーしたもので、自動でアンインストールされないため。
 Name: {app}\cygterm.exe; Type: files


ttssh2-commit メーリングリストの案内
Back to archive index