- 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 | | 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 | | 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 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. | | 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 | | 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   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). 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   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. 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") message(STATUS "EGL Requested")
else() else()
find_package(OpenGL) find_package(OpenGL)
find_package(GLEW REQUIRED)
endif() endif()
if(TARGET OpenGL::GL AND TARGET GLEW::GLEW) 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/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
// ===================================================================================================================== // =====================================================================================================================
#ifndef FENNEC_CONTAINERS_SET_H #ifndef FENNEC_CONTAINERS_MULTISET_H
#define FENNEC_CONTAINERS_SET_H #define FENNEC_CONTAINERS_MULTISET_H
// https://programming.guide/robin-hood-hashing.html // https://programming.guide/robin-hood-hashing.html

View File

@@ -24,14 +24,20 @@
// implementation // implementation
#if FENNEC_COMPILER_GCC #if FENNEC_COMPILER_GCC
#ifndef __OPTIMIZE__
# define __OPTIMIZE__ # define __OPTIMIZE__
#else
# define FENNEC_OPTIMIZE_FOUND
#endif
#endif #endif
#include <string.h> #include <string.h>
#include <wchar.h> #include <wchar.h>
#if FENNEC_COMPILER_GCC #if FENNEC_COMPILER_GCC
#ifndef FENNEC_OPTIMIZE_FOUND
#undef __OPTIMIZE__ #undef __OPTIMIZE__
#endif #endif
#endif
#endif // FENNEC_MEMORY_DETAIL_MEMORY_H #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 &ensp; This submodule will contain classes for parsing data. We will need to be
through parsers. We will need to be able to do the following things to achieve able to do the following things to achieve support for files that adhere to a
support for files that adhere to a certain specification. Here are some concepts certain specification. Here are some concepts that will need to be implemented as classes:
that will need to be implemented as classes:
### Reading ### Reading