# izanagi A run-and-gun shooter inspired by Metal Slug. ## Setup > **Note:** CMake and OpenSSL are required. ### Windows The following tools are required: * [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) These required tools may be installed via Chocolatey (recommended): * CMake * Ninja * Clang > Set your `CC` environment variable to the full path of `clang-cl.exe` > Set your `CMAKE_MT` environment variable to the full path of `mt.exe`, which can be found on your Windows SDK > installation folder (usually `C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/mt.exe`) > **Note:** The CMake cache might be filled in with library paths that might be unknown when Visual Studio is installed. > It will cause errors in building. Run the scripts provided in this project to ensure that the correct library paths > are supplied. 1. Clone this repo. 2. Clone the repositories under `dependencies.txt` except for SDL2. 3. Unpack the **MSVC** archive under `dependencies` folder in this project's root. Rename the directory as `SDL2`. 4. Build the following dependencies first: - `portmidi` - `libwebsockets` (follow the [instructions on building LWS](https://libwebsockets.org/lws-api-doc-master/html/md_README_8build.html)) 5. Build via CMake. ### macOS/*NIX 1. Clone this repo. 2. Clone the repositories under `dependencies.txt`, including SDL2. 3. Build the SDL, SDL_image, and SDL_ttf dependencies using the [build instructions for Linux/UNIX](https://wiki.libsdl.org/SDL2/Installation#linuxunix) or [build instructions for macOS](https://wiki.libsdl.org/SDL2/Installation#macos). > **Note:** You may need to download other tools to build the libraries: > - autoconf > - make > **Note:** Clone the submodules under SDL_ttf to download freetype and harfbuzz: > > ```shell > git submodule update --init --recursive > ``` 4. For OpenSSL, simply run: ```shell ./Configure make make test ``` 5. Build the following dependencies first: - `portmidi` (Linux needs [ALSA libraries](https://www.alsa-project.org/files/pub/lib/) to be compiled) - ALSA Lib requires `libtool` to be compiled. - `libwebsockets` (follow the [instructions on building LWS](https://libwebsockets.org/lws-api-doc-master/html/md_README_8build.html)) 6. Build via CMake.