Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
flamerobin/BUILD.txt
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
151 lines (122 sloc)
5.57 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=================================== | |
== FlameRobin Build Instructions == | |
=================================== | |
Below are build instructions for FlameRobin on all supported build environments. | |
-------------------------- | |
-- Common to all builds -- | |
-------------------------- | |
-- General Requirements | |
Required: | |
* FirebirdSQL, the client libs (e.g. fbclient.dll) at a minimum, but the whole | |
server install to test with - https://www.firebirdsql.org/ | |
* A C++14 compiler (Visual Studio on Windows, G++ on Linux, others may work but untested) | |
https://visualstudio.microsoft.com/ https://gcc.gnu.org/ | |
* The wxWidgets library - https://www.wxwidgets.org/ | |
* CMake - https://cmake.org/ | |
* git - https://git-scm.com/ | |
Optional: | |
* GitHub desktop app (for interacting with this project) - https://github.com/ | |
* TortoiseGit (Windows extension) - https://tortoisegit.org/ | |
-- Notes | |
FR must be built with the same settings for debug/release etc. as the | |
wxWidgets library (Unicode build is required). Failing to do so will usually | |
lead to compile or link errors. This does not apply completely to Linux/GCC | |
build, as you can build wx in release mode and FlameRobin in debug mode - in | |
case you just want to debug FR code, and not code of wxWidgets. | |
If you have problems building FR, please contact the development team: | |
https://github.com/mariuz/flamerobin | |
----------------------------------------- | |
-- MSW - Visual C++ Build Instructions -- | |
----------------------------------------- | |
First, make sure you have git and CMake installed and aviable in your PATH. | |
The installers for these utils should give you that option. | |
Install Visual Studio with C++ support, and make sure you can find the 'Native | |
Tool Command Prompt' in your start menu (there will be versions of x86 and x64) | |
We're going to assume there's a 'C:\projects' directory where all the relevant | |
files are going to be placed, but any location that suits your install should | |
be fine (avoid spaces in dir/files names) | |
-- Build wxWidgets | |
(written for wxWidgets 3.1 series, there may be newer versions) | |
1. Download the wxWdigets source zip: https://www.wxwidgets.org/downloads/ | |
2. Unzip file to a sensible location (e.g. C:\projects\wxWidgets-3.1.4) | |
Keep a note of this, as it will be the WXDIR used to build FlameRobin | |
3. Start the Visual Studio 'Native Tool Command Prompt' | |
4. CD to the wxWidgets root | |
> cd C:\projects\wxWidgets-3.1.4 | |
5. CD to the Windows build sub-dir | |
> cd build\msw | |
6. Build the static debug lib | |
> nmake /f makefile.vc RUNTIME_LIBS=static | |
7. Build the static release lib | |
> nmake /f makefile.vc BUILD=release RUNTIME_LIBS=static | |
That's it for wxWidgets, until you need a newer version. | |
-- Setup FlameRobin build (using CMake GUI) | |
1. Download the FlameRobin source code | |
* Plain git on command line: | |
> cd c:\projects | |
> git clone https://github.com/mariuz/flamerobin.git | |
* GitHub, TortoiseGit follow relevant instructions. | |
2. Run the CMake GUI | |
a. Point 'Where is the source code' to the FlameRobin root | |
(C:\projects\flamerobin) | |
b. Point 'Where to build the binaries' to a 'build' sub-dir that you need | |
to create | |
(C:\projects\flamerobin\build) | |
c. Click 'Add Entry' (button to the right of window) | |
* Give it the name WXDIR | |
* Set Type to 'PATH' | |
* Select the root dir of wxWdigets | |
(C:\projects\wxWidgets-3.1.4) | |
d. Click on 'Configure', you'll be prompted for compiler type | |
* Select your version of Visual Studio | |
* Select the platform (Win32 or x64) | |
e. Click on 'Generate' to create the Visual Studio project files | |
f. You can now click on 'Open Project' to launch Visual Studio or you can | |
directly open the build/flamerobin.sln file that was created | |
3. Try building the solution : <ctrl>+<shift>+B | |
4. Run with <ctrl>+<F5> | |
-- Setup FlameRobin build (using command line) | |
1. > cd C:\projects | |
2. > git clone https://github.com/mariuz/flamerobin.git | |
3. > cd flamerobin | |
4. > mkdir build | |
5. > cd build | |
6. > cmake -DWXDIR:PATH=C:\projects\wxWidgets-3.1.4 .. | |
7. Open resulting flamerobin.sln file in Visual Studio, or from VS command | |
prompt, build with: | |
> devenv flamerobin.sln /release | |
You can delete the whole build directory and re-run CMake as above to make a | |
clean start, if needed. | |
Different version of wxWidgets or platform builds (x86, x64) can be created to | |
suit your needs at the same time, just use different build dirs (e.g | |
build-wx302-x64). Recomended to start the name with 'build' as the .gitignore | |
file will be set to ignore those directories. | |
--------------------------------------------------- | |
-- Unix (Debian and related; Ubuntu, Mint, etc.) -- | |
--------------------------------------------------- | |
Assumes a 'project' dir in you home directory, change to suit | |
1. Setup the tools and libs needed: | |
$ sudo apt-get install build-essential git cmake firebird-dev libwxgtk3.0-gtk3-dev | |
(wxWidgets version may change in the future, update to match) | |
2. $ cd ~/project | |
3. $ git clone https://github.com/mariuz/flamerobin.git | |
4. $ cd flamerobin | |
5. $ mkdir build | |
6. $ cd build | |
7. $ cmake .. | |
8. $ make | |
9. To run FlameRobin use the run_flamerobin.sh script. This sets up an | |
environment variable that points the FlameRobin app to the build directory | |
which contains various sub-dir used by the app | |
$ ./run_flamerobin.sh | |
-- Install support | |
The usual 'make install' will work as normal, you may want to configure the | |
build for 'release': | |
$ cmake -DCMAKE_BUILD_TYPE=Release .. | |
$ make | |
$ sudo make install | |
------------ | |
-- Mac OS -- | |
------------ | |
TODO: We currently have no MacOS devs. The UNIX build above may work, with some | |
tweaks. | |