# Compilation

## Windows

This guide explains how to compile a "Release" version in Visual Studio, producing a DLL file named `user-material.dll` in the `output` folder.

1. Open the Solution in Visual Studio

   - Launch Visual Studio.
   - Navigate to `File` > `Open` > `Project/Solution...`.
   - Browse and select the solution file (`impetus-user-material.sln`), then click `Open`.

2. Select the "Release" Configuration

   - In the toolbar, find the "Solution Configurations" dropdown (usually located at the top of the window).
   - Click the dropdown and select `Release`. This setting ensures that the build is optimised for performance.

3. Build the Solution

   - In the toolbar, click `Build` > `Build Solution`.
   - Visual Studio will compile the solution using the "Release" configuration.

4. Verify the Output

   - After the build completes (if successful), navigate to the output directory `output\`.
   - Confirm that the `user-material.dll` file is present.

## Linux

This guide explains how to compile your project on Linux using `make`. The output will be a shared library (DLL equivalent) named `user-material.so` located in the `output` directory.

1. Navigate to the Project Directory

   - Open a terminal window.
   - Use the `cd` command to navigate to the directory containing your `Makefile`.

       cd /path/to/your/project

2. Run the `make` Command

   - Type `make` in the terminal and press `Enter`. This command will compile your project using the settings defined in the `Makefile`.

       make

3. Verify the Output

   - Once the build completes, open the `output/` directory to confirm that the `user-material.so` file has been generated.

       ls output/

   - You should see `user-material.so` in the directory.