* Ignore cmake intermediate build dir
* Fix C++ language version in cmake build scripts
* Set a default SDL2_ROOT_DIR value for macOS in cmake scripts
* Fixed macOS SDL framework linking in cmake scripts
* Added macos-cmake target for CI builds in github workflows
* Use C++17 for building Tests instead of 20, since we build them with VS2019 in some jobs
- Upgraded doxyfile to latest format
- Fixed a bunch of warnings and errors in docstrings that doxygen was complaining about
- Added the doxygen-awesome theme to modernize the output
- Removed a duplicate screenshot we'd had in the docs folder
- Moved the RecastDemo screenshot into the Docs/images folder
- Changed the doxygen main page to be the README.md since the dedicated main page file we had was nearly identical but out of date
- Added CONTRIBUTING.md so it's part of the generated doxygen output
- Removed duplicate license file to avoid confusion
- Combined the FAQ with the Recast_api.txt, since the FAQ was essentially just better docs for the members of `rcConfig`
This makes the default xcode project generated by premake work out of the box, and is generally easier for mac users. Especially those who don't have permissions to modify /Library/Frameworks/
- Look for SDL in RecastDemo/Bin by default rather than /Library/Frameworks/
- Updated README build instructions
- Ignore SDL2.framework in RecastDemo/Bin
* Fixes for many low-severity compiler warnings
Mostly a lot of pedantic things like end-of-file newlines and commas on the last enum value. However some fixes like the weak v-tables warnings fixes might help with code gen. It's unclear if the linker is able to elide multiple copies of the same type's v-table in different translation units, (sometimes it can) but these fixes ensure we don't have to rely on it.
Also remove hard-coded filter on gmake premake target since it's deprecated in favor of gmake2. It also doesn't matter; what matters is that we filter on gcc, since the warnings we've disabled don't exist in clang and will throw errors.
The premake script generates some deprecation warnings when generating with premake5:
- "configuration" has been deprecated in favor of "filter"
- "solution" was renamed to "workspace"
-Wno-error does not ignore unknown warnings on old GCC versions causing
problems when using it for new warnings. On the other hand, -Wno-X will
ignore unknown warnings, so we can use this instead.
Fix#403Fix#413
Previously this was relative to the output file. This works around a
premake5 bug and as a bonus makes it easier if we in the future decide
to support out-of-source builds.
* Build with cmake in appveyor
* Install content files and tests binary to bin
* Install SDL2.dll on windows
* Build RecastDemo as GUI application on Windows and Mac OS
* Copy SDL2.dll to current binary dir
The GCC version used by Travis is old and appears not to support all the
warnings we would like to get, so reenable Clang. Additionally make lots
of cleanups to Travis config and make the build a lot faster too.
Also change both Travis and AppVeyor builds to treat warnings as errors,
and include VS2017 in the matrix for AppVeyor. I have also removed
VS2010 because it is ancient at this point.
Updated Premake to alpha12 and fixed the premake build file
appropriately.
* Implement saveAll loadAll for Sample_SoloMesh
- Solo mesh sample is loaded and saved as a tiled mesh containing
an unique tile, so as to remain compatible with tiled mesh
- navmesh is saved to/loaded from `solo_navmesh.bin` binary file
- add and connect the corresponding 'Save/Load' GUI elements
* Fix `implit-fallthrough` gcc warnings
On linux with gcc 7.2.0+ and all warnings treated as errors,
implicit fallthroughs in case statements are considered as errors.
If the comment just below the next `case` or `default` matches
various strings, one of which is `falls through` the fallthrough
is then considered explicit.
Ground color is changed back to the previous default color, and the road
color is changed to a dark shade of brown that is a bit easier to
differentiate with normal input geometry.
These could lead to undefined behaviour if e.g. a negative value from ftell
was used to allocate memory.
Also store result of ftell in a long;
The result may previously have been truncated on some platforms