OSDN Git Service

compiler-calculated maximum value for `m_SourceDefs` (#966)
[winmerge-jp/winmerge-jp.git] / README.md
1 [![logo](Docs/Logos/WinMerge_logo_24bit.png)](https://github.com/WinMerge/winmerge)
2
3
4 # WinMerge
5 [![Build status](https://ci.appveyor.com/api/projects/status/h3v3ap1kswi1tyyt?svg=true)](https://ci.appveyor.com/project/sdottaka/winmerge/build/artifacts)
6 [![CI](https://github.com/WinMerge/winmerge/workflows/CI/badge.svg)](https://github.com/WinMerge/winmerge/actions)
7 [![sourceforge.net downloads](https://img.shields.io/sourceforge/dt/winmerge)](https://sourceforge.net/projects/winmerge/files/)
8 [![Github Releases All](https://img.shields.io/github/downloads/winmerge/winmerge/total.svg)](https://github.com/WinMerge/winmerge/releases/latest)
9 [![Translation status](https://img.shields.io/badge/translations-35-green)](https://github.com/WinMerge/winmerge/blob/master/Translations/TranslationsStatus.md)
10
11 [WinMerge](https://winmerge.org/) is an open source differencing and merging tool
12 for Windows. WinMerge can compare files and folders, presenting differences
13 in a visual format that is easy to understand and manipulate.
14
15 ## Build Requirements
16
17 ### Visual Studio 2017
18
19  * *Community*, *Professional* or *Enterprise* Edition
20  * VC++ 2017 v141 toolset
21  * Windows XP support for C++
22  * MFC and ATL support
23  * Windows 10 SDK
24
25 ### Visual Studio 2019
26
27  * *Community*, *Professional* or *Enterprise* Edition
28  * MSVC v142 Buildtools
29  * C++ MFC for v142 Buildtools
30  * Windows 10 SDK
31
32 ### Other utilities/programs
33
34  * git
35  * Inno Setup 5.x and 6.x
36  * 7-Zip
37  * Python
38  * Pandoc
39
40 ## How to Build
41
42 ~~~
43 git clone https://github.com/winmerge/winmerge
44 cd winmerge
45 git submodule init
46 git submodule update
47 DownloadDeps.cmd
48 BuildAll.vs2019.cmd  or  BuildAll.vs2017.cmd
49 ~~~
50
51 ## Folder Structure
52
53 Source code for the WinMerge program, its plugins, filters, setup program,
54 and various utilities are all kept in the subfolders listed below.
55
56 The changelog file is in `Docs/Users/ChangeLog.md` and it documents 
57 both user-visible and significant changes.
58
59 Subfolders include:
60
61  - `Docs`  
62    Both user and developer documentation, in different subfolders.  
63    Can be browsed by opening `index.html` in the `Docs` folder.
64
65  - `Src`  
66    Source code to the WinMerge program itself.
67
68  - `Plugins`  
69    Source code and binaries for WinMerge runtime plugin dlls & scripts.
70
71  - `Filters`  
72    WinMerge file filters which are shipped with the distribution.
73
74  - `ArchiveSupport`  
75    Source code for the Merge7z dlls, which connect WinMerge with 7-Zip.  
76    Also this folder is required to compile `WinMergeU.exe`.  
77    There is also a standalone installer for Merge7z dlls.
78
79  - `Externals`  
80    This folder contains several libraries whose sources come from
81    outside WinMerge project.  
82    They are stored here for convenience for building and possibly 
83    needed small changes for WinMerge.  
84    Libraries include an XML parser and a regular expression parser.
85
86  - `Installer`  
87    Installer for WinMerge.
88
89  - `Tools`  
90    Various utilities used by WinMerge developers; see readme files in each.
91
92  - `ShellExtension`  
93    Windows Shell (Explorer) integration.  
94    Adds menuitems to Explorer context menu for comparing files and folders.
95
96  - `Testing`  
97    A suite of test diff files and a script to run them and report the results.  
98    This folder also has a `Google Test` subfolder containing unit tests made
99    with [Google Test Framework](https://github.com/google/googletest).
100
101  - `Build`  
102    This folder gets created by the compiler when WinMerge is compiled.  
103    It contains compiled executables, libraries, the user manual, etc.
104
105  - `BuildTmp`  
106    This folder gets created by the compiler when WinMerge is compiled.  
107    It contains temporary files created during the compilation and can be 
108    safely deleted. 
109