MySQL Workbench 8.0
-------------------

MySQL Workbench is a complete database modeling, administration and development program for MySQL.


This tree contains the source files for the MySQL Workbench 8.0.

MySQL Workbench is an extensible visual database design tool.


Buiding on Linux
----------------

To build MySQL Workbench on Ubuntu and other Debian based distros:

- Remove iodbc, if necessary

  $> sudo apt-get remove iodbc

- Install dependencies
  
  $> sudo apt-get install build-essential cmake cmake-data autoconf automake pkg-config libtool libzip-dev libxml2-dev \
                          libsigc++-2.0-dev libglade2-dev libglu1-mesa-dev libgl1-mesa-glx \
                          mesa-common-dev libmysqlclient-dev libmysqlcppconn-dev uuid-dev libpixman-1-dev libpcre3-dev \
                          libpango1.0-dev libcairo2-dev python-dev \
                          libboost-dev mysql-client python-pysqlite2 libsqlite3-dev \
                          swig libvsqlitepp-dev libgdal-dev libgtk-3-dev libgtkmm-3.0-dev libssl-dev \
                          libsecret-1-dev libproj-dev

* X - put the proper value for your system

- Extract the sources into a directory

  $> tar xvf mysql-workbench-community-<version>-src.tar.gz

- Go to the project and create a build directory

  $> cd mysql-workbench-community-<version>-src
  $> mkdir wb-build
  $> cd wb-build
  
- Build and install the project, and optionaly set the install prefix (should default to /usr/local)

  $> cmake [-DCMAKE_INSTALL_PREFIX=/usr] ..
  $> make
  $> sudo make install

- If you don't have permissions, you may install it on the current directory

  $> make install DESTDIR=.
  

For complete and up-to-date instructions, visit http://wb.mysql.com/?page_id=152

Note about swig:
- You will need swig 3.0 to build WB

Note about ANTLR:
- ANTLR 4.7 is required to generate the files for the MySQL Parser. Download antlr-4.7.2-complete.jar from http://www.antlr.org/download.html.
  Then you'll need to pass it as cmake argument:
   -DWITH_ANTLR_JAR=<path_to_your_antlr_complete_file>

Note about iodbc:
 - Instead of iodbc you can use unixodbc. To do that you need to install unixodbc and add -DUSE_UNIXODBC=True to cmake.

Note about gdal:
 - Ubuntu Packages require unixodbc, so if you're using it, there won't be any problem. If you want to use iodbc, you'll need to build it from source.
 
Building on Windows
-------------------

To build on Windows, you need Visual Studio 2017 with C++ and C# support.
You also need to prepare pre-compiled binaries for all the 3rd party libraries that Workbench 
depends on. You can use a C++ package manager for Windows, Linux and MacOS 
https://docs.microsoft.com/en-us/cpp/vcpkg?view=vs-2017

To Build:
- Create folder bundle or similar and put there all 3dpart libs. Folder should look like:
     * bin
     * include
     * lib
     * debug
      ** bin
      ** include
      ** lib
     * python
- Create in system environoment variable which point to folder where 3rd party libs are located WB_3DPARTY_LIB=<libs and headers files directory>
- Go to the mysql-workbench directory
- Open MySQLWorkbench.sln solution file
- Select Release_OSS or the Debug Configuration
- Build Project



Buiding on macOS
-------------------

- Go to http://rudix.org/ and download and install the following packages
  gettext, glib, libpng, libsigc++, lua, pkg-config, pcre, libzip, cairo, pixman
- Install a recent MySQL server (64bit). The installer will link /usr/local/mysql
  to the correct installation.
- Install the latest MySQL Connector/C++ and vsqlite++.
- Install the latest Xcode and open the MySQLWorkbench.xcodeproj file.
- In the target dropdown pick MySQLWorkbench and build it.

==============================================================================


MySQL Workbench OSS edition is licensed under the terms of the
General Public License version 2. For the exact terms of this license,
please view the included COPYING file.


==============================================================================


For more information, newer versions, FAQ, mailing lists etc
visit http://wb.mysql.com


The MySQL Workbench Team.
