- Added Debian dependencies to README.md and fixed some issues that I ran into on a clean machine
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -59,12 +59,11 @@ is create C++ classes that handle file streams, directory streams, and file path
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Interpreter (`langproc/interpret`)
|
## Interpreter (`langproc/parse`)
|
||||||
|
|
||||||
  This submodule will contain classes for interpreting data, particularly
|
  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
|
||||||
|
|||||||
Reference in New Issue
Block a user