Tool to manage your local Ocean Navigator installation.
- Control local gUnicorn and Apache Tomcat (THREDDS) servers.
- Apply the full power of the Ocean Navigator to your own data by importing as a netCDF.
- Customize your Navigator with easy-to-use configuration editors.
- Download netCDF datasets from remote Navigator servers.
Use the Navigator installation script to set up some pre-requisites first, then continue below.
For more details about the Qt build process go here: http://doc.qt.io/qt-5/linux-building.html
- Install GCC 7 or newer to get access to all the latest and greatest C++ 17 features. For Ubuntu 16.04:
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt update
sudo apt install -y gcc-7 g++-7
- Install dependencies using the following:
sudo apt install build-essential valgrind zlib1g-dev libgl1-mesa-dev libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev doxygen-gui binutils-dev libnetcdf-c++4 libnetcdf-c++4-dev
- Go ahead and clone this repository into a directory of your choice:
git clone https://github.com/DFO-Ocean-Navigator/Navigator2Go.git
- Install Qt 5.11 Open Source: https://www.qt.io/download. Make sure you also check "Sources" when using the installer.
- Navigate to the Qt installation directory.
- Run
mkdir static
. Now we need to build Qt as a static library. This allows us to create a one-file executable. cd 5.11.0/Src/
- Run the following to configure Qt:
./configure -static -release -verbose -opensource -confirm-license -prefix $QT_INSTALL_DIRECTORY/static -qt-xcb -no-glib -no-pulseaudio -no-alsa -opengl desktop -nomake examples -nomake tests -skip wayland -skip qtdeclarative -static-runtime
- Then run:
make -j12 clean
. The-j12
tells make how many jobs it should spawn to build the project. Normally the number specified is the number of physical cores in your system. - Run
make -j12
. - Assuming no errors occoured (which shouldn't), finally run
make -j12 install
. - Et Voila! Vous avez terminé!
So, you've made some changes to my lovely code that made it even more awesome. Time to send it out to the masses.
- Navigate to the source folder
Navigator2Go/app/
. - Run
./Make_Release.sh
. The script will compile the code, generate a tar.gz file, and calculate the MD5 hash of that tar.gz in thebuild/
folder. - Go to Github and create a new release (upload
Navigator2Go.tar.gz
andNavigator2Go.tar.gz.md5
).
Jenkins will run a series of unit tests (some of which exist in the tests/
folder) andcppcheck
for static analysis after every commit, and before a pull request may be merged into master
. Top-quality modern C++ is very important. Jenkins will also check for VERSION.TXT
existing in the project root.
- To update the Github pages, run
doxywizard
from your terminal. - Open the doxyfile in the
app/
folder and increment the version number if needed to match VERSION.txt. - Click the Run tab and then click on the Run Doxygen button.
- Commit and push your changes. The site will update automatically.
The program's version number is stored in VERSION.txt
. This is included in Config_Tool.pro
to make the number accessible to qmake
and to C++.
DO NOT remove or move this file, since this file is queried by the Navigator2Go update function.
After changing the number as needed:
- Run qmake from Qt Creator.
- Clean and re-build the project.
- Run the output binary and verify the number by going to Help -> About.