README 7.12 KB
Newer Older
Joachim Eibl's avatar
Joachim Eibl committed
1 2 3
KDiff3-Readme
=============

Michael Reeves's avatar
Michael Reeves committed
4 5 6
Author: Joachim Eibl  (joachim.eibl at gmx.de)
Port to kf5/Qt5 by Michael Reeves
KDiff3-Version: 
7

Michael Reeves's avatar
Michael Reeves committed
8
Now requires Qt 5.3 or later and KF5 5.5+. Legacy 0.9.98 and earlier builds are not supported.
9
Windows/MacOSX build is untested since port. Builds and runs under kubuntu 16.04 will likely
Michael Reeves's avatar
Michael Reeves committed
10 11
still work under other Linux/Un*x. The Konqueror specific plugin is not ported and no longer mantained.
This plugin would only apply to KDE before 4.6. Support as been removed from main CMakeLists.txt.
Michael Reeves's avatar
Michael Reeves committed
12
As of 1/13/17 cmake 3.1+ is the targeted cmake version.
13 14 15

These are the original pre kf5/qt5 Readme fallows:

Michael Reeves's avatar
Michael Reeves committed
16 17 18

Copyright: (C) 2002-2014 by Joachim Eibl
KDiff3-Version: 0.9.98
Joachim Eibl's avatar
Joachim Eibl committed
19

Joachim Eibl's avatar
Joachim Eibl committed
20 21 22 23
KDiff3 runs best on KDE but can be built without it, depending only on Qt-libs.
These are available for Un*x, Windows, Mac.
Thus there are many setup possibilities to consider.

Michael Reeves's avatar
Michael Reeves committed
24 25 26
Supported Qt-versions: 4.8, 5.2 or higher.
Supported KDE-version: 4
(For KDE3/Qt3 use KDiff3-0.9.92 or older.)
Joachim Eibl's avatar
Joachim Eibl committed
27 28 29 30 31 32 33 34 35 36 37 38

Contents
--------

- Introduction
- License
- Requirements & Installation
  - For KDE4
  - With Qt4-libs, without KDE
    - for Linux/Un*x
    - for Windows
    - Debugging with MinGW under Windows:
Michael Reeves's avatar
Michael Reeves committed
39
    - for Mac: Building KDiff3 for Mac OSX (with Intel processor) as a universal binary
Joachim Eibl's avatar
Joachim Eibl committed
40
    - Creating and installing translation messages
Joachim Eibl's avatar
Joachim Eibl committed
41 42 43 44 45
- Additional hints


Introduction
------------
Joachim Eibl's avatar
Joachim Eibl committed
46 47

KDiff3 is a program that
Joachim Eibl's avatar
Joachim Eibl committed
48
- compares and merges two or three input files or directories,
Joachim Eibl's avatar
Joachim Eibl committed
49 50 51
- shows the differences line by line and character by character (!),
- provides an automatic merge-facility and
- an integrated editor for comfortable solving of merge-conflicts
Joachim Eibl's avatar
Joachim Eibl committed
52 53 54 55
- has support for KDE-KIO (ftp, sftp, http, fish, smb),
- has an intuitive graphical user interface,
- provides a context menu for KDE-Konqueror and Windows-Explorer,
- supports 64 bit systems. (Some build issues are discussed in here.)
Michael Reeves's avatar
Michael Reeves committed
56
- Support for many encodings and Unicode.
Joachim Eibl's avatar
Joachim Eibl committed
57 58

Do you want help translating? Read the README in the po-subdirectory!
Joachim Eibl's avatar
Joachim Eibl committed
59 60


Joachim Eibl's avatar
Joachim Eibl committed
61 62 63
License
-------

Joachim Eibl's avatar
Joachim Eibl committed
64 65 66 67 68 69 70 71 72 73 74 75 76
    GNU GENERAL PUBLIC LICENSE, Version 2, June 1991
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
Michael Reeves's avatar
Michael Reeves committed
77 78
    Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307
    USA
Joachim Eibl's avatar
Joachim Eibl committed
79 80 81

    For details see file "COPYING".

Michael Reeves's avatar
Michael Reeves committed
82 83 84 85 86 87 88 89

Build & Install (for Un*x systems)
----------------------------------

0) Unpack KDiff3*.tar.gz
1) Run "./configure kde4" or "./configure qt4" from the KDiff3 source directory.
2) Follow instructions
If it doesn't work continue reading.
Michael Reeves's avatar
Michael Reeves committed
90

Joachim Eibl's avatar
Joachim Eibl committed
91

Joachim Eibl's avatar
Joachim Eibl committed
92 93 94 95
Requirements & Installation
---------------------------

- for KDE4:
Joachim Eibl's avatar
Joachim Eibl committed
96
   From version 0.9.94 on KDiff3 supports KDE4.
Michael Reeves's avatar
Michael Reeves committed
97
   For installation on most distributions you usually also require these packages (names as on opensuse):
Michael Reeves's avatar
Michael Reeves committed
98 99
   - g++ (version 4.2 or newer)
   - libqt4-devel (Qt4-libs, version 4.8.0 or newer)
Joachim Eibl's avatar
Joachim Eibl committed
100
   - libkde4-devel (KDE4 Header files and development libraries)
Michael Reeves's avatar
Michael Reeves committed
101
   - libkonq-devel (optional, needed for the kdiff3-plugin, if not installed 
Joachim Eibl's avatar
Joachim Eibl committed
102
                    then the contextmenu plugin for konqueror won't be built.)
Michael Reeves's avatar
Michael Reeves committed
103 104 105
   - cmake (>2.6, checks dependencies and creates the Makefiles appopriate for your system)

   Typically in a terminal (e.g. konsole) you cd into the kdiff3-directory and run these commands.
Michael Reeves's avatar
Michael Reeves committed
106
   run "./configure kde4". This script is essentially the same as these commands:
Michael Reeves's avatar
Michael Reeves committed
107 108 109 110 111 112 113

      mkdir release                                  # create sub directory
      cd release                                     # cd into that directory
      kde4-config --prefix                           # Find out your KDE4-directory and note the result
      cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix>  # create Makefile, replace <KDE4-prefix> with the prior result
      make                                           # run make (compile and link)
      sudo make install                              # install as root user
Joachim Eibl's avatar
Joachim Eibl committed
114 115

   Now KDiff3 should be ready to use. Type "kdiff3" to start it.
Michael Reeves's avatar
Michael Reeves committed
116
   There should also be a entry in your KDE-start menu in "(Applications->)Development".
Joachim Eibl's avatar
Joachim Eibl committed
117 118 119 120

   For creating a debug version:
      mkdir debug
      cd debug
Michael Reeves's avatar
Michael Reeves committed
121
      kde4-config --prefix                           # Find out your KDE4-directory and note the result
Michael Reeves's avatar
Michael Reeves committed
122
      cmake .. -DCMAKE_INSTALL_PREFIX=<KDE4-prefix> -DCMAKE_BUILD_TYPE=debugfull
Joachim Eibl's avatar
Joachim Eibl committed
123
      make
Joachim Eibl's avatar
Joachim Eibl committed
124
      sudo make install
Joachim Eibl's avatar
Joachim Eibl committed
125

Joachim Eibl's avatar
Joachim Eibl committed
126 127
   The <KDE4-prefix> depends on your distribution:
   The command "kde4-config --prefix" should tell you.
Michael Reeves's avatar
Michael Reeves committed
128
   - For opensuse 12 use "/usr".
Joachim Eibl's avatar
Joachim Eibl committed
129

Joachim Eibl's avatar
Joachim Eibl committed
130 131 132 133
- Building KDiff3 with Qt4-libs, but without KDE
    - for Linux/Un*x
    - for Windows
    - for Mac
Joachim Eibl's avatar
Joachim Eibl committed
134

Michael Reeves's avatar
Michael Reeves committed
135 136 137 138 139 140 141 142 143 144 145 146
   The version 0.9.98 requires Qt 4.8.0 or newer (from http://qt-project.org/) for compilation.

   Recommended: Get Qt with QtCreator and use the kdiff3.pro file in src-QT4.(should also work with Qt5)

   From command line: Install a working set of Qt-libs.
   Build-instructions (Un*x, Linux, Mac):
    Assuming Qt is correctly installed run "./configure qt4" which essentially
    does the same as:
    - mkdir releaseQt
    - cd releaseQt
    - qmake ../src-QT4/kdiff3.pro
    - make (or "gmake", or "mingw32-make" etc.)
Joachim Eibl's avatar
Joachim Eibl committed
147 148

  Debugging with MinGW under Windows:
Michael Reeves's avatar
Michael Reeves committed
149 150 151 152 153 154
    - Use Qt Creator as debugger frontend!

  Building KDiff3 (Qt4) for Mac OSX:
    1) Install XCode
    2) Install Qt with QtCreator for Mac
    3) Proceed again by opening the kdiff3.pro file
Joachim Eibl's avatar
Joachim Eibl committed
155

Joachim Eibl's avatar
Joachim Eibl committed
156 157
  Creating and installing the translation messages
    The po directory contains translations from the KDE-translation teams.
Michael Reeves's avatar
Michael Reeves committed
158 159
    If you use the Qt-only-version of KDiff3, then the installation described above 
    won't install translations automatically.
Joachim Eibl's avatar
Joachim Eibl committed
160
    To create and install the translations:
Michael Reeves's avatar
Michael Reeves committed
161
    1) cd .../kdiff3-0.9.98/po
Joachim Eibl's avatar
Joachim Eibl committed
162
    2) sh create_qm_files install    (asks for a super user password)
Michael Reeves's avatar
Michael Reeves committed
163
    Just to create the files in the po directory (as needed for the windows version): 
Joachim Eibl's avatar
Joachim Eibl committed
164 165
    2) sh create_qm_files local

Joachim Eibl's avatar
Joachim Eibl committed
166

Joachim Eibl's avatar
Joachim Eibl committed
167 168 169
(End of KDiff3 with Qt4-instructions)
------------------------------------------------------------------------

Joachim Eibl's avatar
Joachim Eibl committed
170 171
Additional hints
----------------
Joachim Eibl's avatar
Joachim Eibl committed
172

Joachim Eibl's avatar
Joachim Eibl committed
173 174 175 176 177 178
   Start from commandline:
   - Comparing 2 files:     kdiff3 file1 file2
   - Merging 2 files:       kdiff3 file1 file2 -o outputfile
   - Comparing 3 files:     kdiff3 file1 file2 file3
   - Merging 3 files:       kdiff3 file1 file2 file3 -o outputfile
        Note that file1 will be treated as base of file2 and file3.
Joachim Eibl's avatar
Joachim Eibl committed
179

Joachim Eibl's avatar
Joachim Eibl committed
180 181 182 183
   If all files have the same name but are in different directories, you can
   reduce typework by specifying the filename only for the first file. E.g.:
   - Comparing 3 files:     kdiff3 dir1/filename dir2 dir3
   (This also works in the open-dialog.)
Joachim Eibl's avatar
Joachim Eibl committed
184

Joachim Eibl's avatar
Joachim Eibl committed
185 186
   If you start without arguments, then a dialog will appear where you can
   select your files via a filebrowser.
Joachim Eibl's avatar
Joachim Eibl committed
187

Joachim Eibl's avatar
Joachim Eibl committed
188
   For more documentation, see the help-menu or the subdirectory doc.
Joachim Eibl's avatar
Joachim Eibl committed
189

Joachim Eibl's avatar
Joachim Eibl committed
190
   Have fun!