Development environment & Libraries
- Build environment
- How to build (Quick Start)
- Checkout source code
- Build
- How to build (Detail)
- Clone source code
- Build libaries
- Build Tera Term
- Build TTSSH
- Build TTProxy
- Build TTXKanjiMenu
- Build TTXSamples
- Build TeraTerm Menu
- Build CygTerm
- Build Cyglaunch
- Build HTML help file
- Create installer
Build environment
- Install Visual Studio Community 2022
- Desktop development with C++
- C++ v14.30 (17.0) MFC for v143 build tools (x86 & x64)
HTML Help Compiler (hhc.exe) is installed.
- Install Cygwin
You can run buildtools\install_cygwin.bat to install Cygwin environment only for CygTerm+ compile.
Please read this page to use existing Cygwin environment.
- Install Perl
- Install Git for Windows
- Install CMake
- Install Inno Setup
You can install new tools for Tera Term, but you can also choice using existing tools for build Tera Term.
If installer\release.bat cannot find a installed tool, copy installer\toolinfo_sample.bat as installer\toolinfo.bat, and edit it.
And if necessary, copy buildtools\svnrev\toolinfo_sample.txt as buildtools\svnrev\toolinfo.txt, and edit it.
How to build (Quick Start)
Checkout source code
Clone source code from GitHub (https://github.com/TeraTermProject/teraterm).
Build
Run installer\release.bat, and select 3.
How to build (Detail)
Clone source code
Clone source code from GitHub (https://github.com/TeraTermProject/teraterm).
Build libaries
Launch "x86 Native Tools Command Prompt for VS 2022" batch file from start menu, or set appropriate directory to PATH.
You can run libs\buildall.bat to build all libraries instead of run each batch files. *
- Oniguruma
- Extract oniguruma source into libs/oniguruma directory.
- Run libs\buildoniguruma6.bat. *
- SFMT
- Extract SFMT source into libs/SFMT directory.
- Run libs\buildSFMT.bat. *
- Modify version information in libs/SFMT/SFMT_version_for_teraterm.h if necessary.
- LibreSSL
- Extract LibreSSL source into libs/libressl directory.
- Run buildlibressl.bat. *
- Zlib
- Extract zlib source into libs/zlib directory.
- Run buildzlib.bat. *
- The reference C implementation of Argon2
- Extract argon2 source into libs/argon2 directory.
- cJSON
- Extract cJSON source into libs/cJSON directory.
Build Tera Term
- Open teraterm\ttermpro.sln with Visual Studio.
The linefeed code of .sln file must be "CR+LF".
- Build Tera Term solution.
- Tera Term execution program files will be generated in teraterm\Debug / teraterm\Release directory if the building is successful.
Build TTSSH
common_static.lib must be built beforehand by teraterm\ttermpro.sln.
- Open ttssh2\ttssh.sln with Visual Studio.
- Build TTSSH solution.
- TTSSH DLL module will be generated in ttssh2\ttxssh\Debug / ttssh2\ttxssh\Release directory if the building is successful.
Build TTProxy
common_static.lib must be built beforehand by teraterm\ttermpro.sln.
- Open TTProxy\TTProxy.sln with Visual Studio.
- Build TTProxy solution.
- TTProxy DLL module will be generated in TTProxy\Debug / TTProxy\Release directory if the building is successful.
common_static.lib must be built beforehand by teraterm\ttermpro.sln.
- Open TTXKanjiMenu\ttxkanjimenu.sln with Visual Studio.
- Build TTXKanjiMenu solution.
- Ttxkanjimenu DLL module will be generated in TTXKanjiMenu\Debug / TTXKanjiMenu\Release directory if the building is successful.
Build TTXSamples
common_static.lib must be built beforehand by teraterm\ttermpro.sln.
- Open TTXSamples\TTXSamples.sln with Visual Studio.
- Build TTXSamples solution.
- DLL modules will be generated in TTXSamples\Debug / TTXSamples\Release directory if the building is successful.
common_static.lib must be built beforehand by teraterm\ttermpro.sln.
- Open ttpmenu\ttpmenu.sln with Visual Studio.
- Build ttpmenu solution.
- ttpmenu.exe will be generated in ttpmenu\Debug / ttpmenu\Release directory if the building is successful.
Build CygTerm+
- Launch Cygwin shell and go to cygterm directory.
# cd cygterm
- Compile CygTerm+.
# make
- cygterm.exe will be generated.
Build Cyglaunch
common_static.lib must be built beforehand by teraterm\ttermpro.sln.
- Open cygwin\cygwin.sln with Visual Studio.
- Build cygwin solution.
- cyglaunch.exe will be generated in cygwin\Debug / cygwin\Release directory if the building is successful.
Build HTML help file
- Run doc\makechm.bat.
Create installer
- When use AppVeyor
-
Run "NEW BUILD" in AppVeyor.
installer\release.bat is called.
- When use installer\release.bat
-
Run installer\release.bat to create installer and zip.
File name is constructed from buildtool\svnrev\sourcetree_info.bat. It is written by buildtools\svnrev\svnrev.bat from teraterm\common\tt-version.h.
-
Run installer\release.bat.
Create installer in installer\iscc.bat called installer\release.bat.
- A installer and zipped portable version is generated in installer\Output folder.
- When use Inno Script Studio
-
It is easier to use installer\release.bat when create an RC,release.
Debugging installer is easy to use Inno Script Studio.
File name of installer is constructed from definition of installer\teraterm.iss. File name of portable version is constructed from buildtool\svnrev\sourcetree_info.bat.
- Open installer\teraterm.iss with Inno Script Studio, and create installer by "Project"-"Compile."
- A installer and portable version is generated in installer\Output folder.
- Compress portable version with zip.