VirtualBow is a free, open-source software tool for designing and simulating bows. Visit http://www.virtualbow.org for more information about the program and its features.
Building VirtualBow requires CMake, a C++17 compiler and the following external dependencies:
Optional pre-built dependencies for the supported platforms and compilers are available at virtualbow-dependencies.
They each contain a file named paths.cmake
that will set up the CMAKE_PREFIX_PATH
such that the correct libraries are found by CMake.
The easiest way to use it is by setting CMAKE_TOOLCHAIN_FILE
to paths.cmake
in your build,
-DCMAKE_TOOLCHAIN_FILE=[dependencies]/paths.cmake
If you're using Qt Creator you can set this property under Projects - Build Settings - CMake. (If the configuration step keeps failing, try Build - Clear CMake Configuration and then run CMake again via Build - Run CMake.)
Using the GCC compiler from MinGW-w64,
mkdir build && cd build
cmake ../ -G "MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE=[...]/paths.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build .
Building with Microsoft Visual C++ should also be possible, but is not officially supported and tested anymore. Contributions that fix issues with MSVC will of course still be accepted.
On Linux, the pre-built dependencies don't include Qt. Instead the Qt libraries packaged with the system are used. On Ubuntu for example they can be installed with
sudo apt install qtbase5-dev libqt5x11extras5-dev libgl1-mesa-dev
The rest of the build process is the same on Linux and MacOS
mkdir build && cd build
cmake ../ -DCMAKE_TOOLCHAIN_FILE=[...]/paths.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build .
Contributions are much appreciated! Please follow the steps below to get your changes included in this repository:
- Fork the repository and create a new branch from
develop
- Implement, commit and push your changes
- Create a pull request back to the
develop
branch of this repository. Link any relevant issues. - Wait and see if the build pipeline passes. Keep updating your branch until it does.
- Your changes will be reviewed for merging as soon as possible
VirtualBow is licensed under the GNU General Public License v3.0.