Davidah121 / SMPL

A static C++ library that encompasses all of the tools I have made to make development easier.
1 stars 0 forks source link

SMPL

A static C++ library that encompasses many of the tools I have made to make development easier.

Current features

Planed features and improvments

Requirements

The library was created using the tools listed below. While the library can be compiled without them, it would require setting up a make file manually.

Clang

You can get clang here: http://releases.llvm.org/download.html

This project currently uses clang 12.0.0 with posix thread model

Ninja

You can get Ninja here: https://ninja-build.org/

cppPS

This is a personal project I created to help setup c++ projects.

It was used to setup this project, the batch files, and the .ninja files.

While editing was still needed on a few files, it works nicely.

This is mainly used when you add a new file to update the .ninja files for you.

You can get cppPS here: https://github.com/Davidah121/cppPS/

Windows SDK

The windows SDK is needed and can be installed in different ways.

The build files reference the include files and library files through environment variables.

cppPS can setup the environment variables for you however if compiled using Visual Studios, it is not required.

Note that with Visual Studios, modification will be needed to compile and use the files in the 'ext' folders.

Additional Notes:

There are libraries that are not fundamentally required to compile as you can ignore them using Preprocessor defines.

Without these though, you may find certain classes no longer work or performance may be lacking.

For instance, not using -mavx and setting the preprocessor OPTI to a value above 0 can result in the library not using intrinsics instructions.

OpenSSL is required to use SSL. This includes SecureSockets and HTTPS.

pthreads is required on linux.