Developers |
Bezitopo development takes place on Github. Discussion takes place on the mailing list at devel@lists.bezitopo.org. To subscribe, send an email to Sympa with a blank subject and "subscribe devel" in the body. There is also an IRC channel #bezitopo on Freenode.
To build Bezitopo, you need CMake and a C++ compiler. If you are packaging Bezitopo, it is fine to put the build directory inside the source directory, but if you are developing it, you should use an out-of-source build.
I use the following file to make build directories for building on Linux and BSD:
~/bin/build |
---|
#!/bin/sh |
To build on Debian, Ubuntu, or anything else using the Debian package manager, install the following packages:
Create the ~/bin/build file above. Clone the repo into ~/src/bezitopo and run these commands in an xterm:
Building on Debian |
---|
you@comp:~/src$ mkdir ~/build |
Don't try to build on RHEL/CentOS 7. The versions of CMake and g++ are too old. It may be possible to build by hacking the repositories, but it is not worth the hassle. I have not tried RHEL/CentOS 8.
To build on Red Hat, Fedora, CentOS, or anything else using the Red Hat package manager, install the following packages:
Create the ~/bin/build file above. Clone the repo into ~/src/bezitopo and run these commands in an xterm:
Building on Red Hat |
---|
[you@comp src]$ mkdir ~/build |
To build on systems using the ports or DPorts collection, install the following packages:
Create the ~/bin/build file above. Clone the repo into ~/src/bezitopo and run these commands in an xterm:
Building on DragonFly |
---|
[you@comp ~/src]$ mkdir ~/build |
To build on Cygwin, install the following packages:
Create the ~/bin/build file above, but without the three w64 lines. Clone the repo into ~/src/bezitopo and run these commands:
Building on Cygwin |
---|
you@comp ~/src $ mkdir ~/build |
I use the following file to make build directories for building on Windows:
~/AppData/Local/Microsoft/WindowsApps/build.cmd |
---|
@echo off |
Install the following Chocolatey packages:
Install Qt, selecting the MinGW build. Create the build.cmd file above, setting the Qt and MinGW version numbers to what you installed. Clone the repo into ~/src/bezitopo and run these commands in a bash shell:
Building on Windows with MinGW |
---|
you@comp MINGW64 ~/src |
If you're building an install or release build, omit the 'd' from the library names; it stands for "debug". There is no Qt5LinguistTools.dll file; the above three are sufficient. WindeployQt copies the libraries to the build directory, but for the install or release build on MinGW, it copies the wrong ones, the debug ones.
Install the following Chocolatey packages:
Install Visual Studio. Install Qt, selecting the MSVC build. Create the build.cmd file above, setting the Qt and MSVC version numbers to what you installed. Clone the repo into ~/src/bezitopo and run these commands in a 64-bit Visual Studio shell:
Building on Windows with MSVC++ |
---|
C:\Users\you\src>mkdir \Users\you\build |
If you're building an install or release build, omit the 'd' from the library names; it stands for "debug". There is no Qt5LinguistTools.dll file; the above three are sufficient.
Unlike MinGW, MSVC does not support ten-byte floating point. This produces slightly less accuracy on spirals, but you're unlikely to notice, as the spirals have to be much longer and curlier than any actually used in a road to make any difference.
After building, run the test. You can type make test or bezitest individual tests. To see the list of tests, type bezitest -l.
Run transmer (you have to have fftw3 installed to build it). After much long crunching, you will get a file transmer.dat, which contains the transverse Mercator coefficients for all known ellipsoids. Copy it to the source directory, overwriting the existing file, and commit it.