- Added Debian dependencies to README.md and fixed some issues that I ran into on a clean machine

This commit is contained in:
2025-08-17 09:51:08 -04:00
parent 3ddc2b3d97
commit 73041e994d
5 changed files with 21 additions and 8 deletions

View File

@@ -125,6 +125,7 @@ is also a viable IDE but involves some extra setup.
|-------------------|----------------------------------------------------------------------------------------------------------|
| C/C++ Compiler | GCC/G++ is the compiler that fennec is designed around, however, Clang, MSVC, and MinGW may also be used |
| CMake | The build manager used by the engine |
| glew | OpenGL Extension Wrangler, necessary for modern OpenGL |
| A build system | Any build system will work, however, `build.sh` uses Ninja by default. |
| A memory debugger | Any memory debugger will work, however, `test.sh` uses Valgrind by default. |
| Doxygen | Doxygen is required for building the documentation for fennec. This is an optional dependency |
@@ -141,6 +142,12 @@ for more info.
  By default, the CMake generator used is Ninja, which requires Ninja to be installed. You can modify the
build scripts to use another build manager, see the [CMake documentation for available generators](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html).
On Debian-based distributions, you can install dependencies using the following command:
```shell
sudo apt install build-essential cmake ninja-build libglew-dev valgrind
git submodule update --init --recursive
```
  I will at no point provide official cross-compilation toolchains for fennec. However, I will provide tools for
using specific toolchains for specific platforms that necessitate this. The primary examples would be Android and iOS.

View File

@@ -22,6 +22,7 @@ if(FENNEC_GRAPHICS_WANT_EGL)
message(STATUS "EGL Requested")
else()
find_package(OpenGL)
find_package(GLEW REQUIRED)
endif()
if(TARGET OpenGL::GL AND TARGET GLEW::GLEW)

View File

@@ -16,8 +16,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// =====================================================================================================================
#ifndef FENNEC_CONTAINERS_SET_H
#define FENNEC_CONTAINERS_SET_H
#ifndef FENNEC_CONTAINERS_MULTISET_H
#define FENNEC_CONTAINERS_MULTISET_H
// https://programming.guide/robin-hood-hashing.html

View File

@@ -24,14 +24,20 @@
// implementation
#if FENNEC_COMPILER_GCC
#define __OPTIMIZE__
#ifndef __OPTIMIZE__
# define __OPTIMIZE__
#else
# define FENNEC_OPTIMIZE_FOUND
#endif
#endif
#include <string.h>
#include <wchar.h>
#if FENNEC_COMPILER_GCC
#ifndef FENNEC_OPTIMIZE_FOUND
#undef __OPTIMIZE__
#endif
#endif
#endif // FENNEC_MEMORY_DETAIL_MEMORY_H

View File

@@ -59,12 +59,11 @@ is create C++ classes that handle file streams, directory streams, and file path
## Interpreter (`langproc/interpret`)
## Interpreter (`langproc/parse`)
&ensp; This submodule will contain classes for interpreting data, particularly
through parsers. We will need to be able to do the following things to achieve
support for files that adhere to a certain specification. Here are some concepts
that will need to be implemented as classes:
&ensp; This submodule will contain classes for parsing data. We will need to be
able to do the following things to achieve support for files that adhere to a
certain specification. Here are some concepts that will need to be implemented as classes:
### Reading