Skip to content

Commit

Permalink
update INSTALL.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Arthapz committed Oct 9, 2023
1 parent 8fa0cd8 commit 287cfd0
Showing 1 changed file with 19 additions and 44 deletions.
63 changes: 19 additions & 44 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,39 @@
# Installation

A C++20 complient compiler is needed to build StormKit
A C++23 compliant compiler is needed to build StormKit and XMake build system

## Dependencies
### StormKit-core module
- [{fmt}](https://fmt.dev/latest/index.html)
- [glm](https://github.com/g-truc/glm)

### StormKit-image module
- [LibPNG >= 1.6](http://www.libpng.org/pub/png/libpng.html)
- [LibJPEG-turbo](https://www.libjpeg-turbo.org)

### stormkit-gpu module
- [Vulkan](https://vulkan.lunarg.com)
- [VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)
- [VulkanMemoryAllocator-hpp](https://github.com/YaaZ/VulkanMemoryAllocator-Hpp)

### StormKit-engine module
- [glm](https://github.com/g-truc/glm)
- [gli](https://github.com/g-truc/gli)

## Building
### Windows
First you need to [download](https://vulkan.lunarg.com/sdk/home#sdk/downloadConfirm/latest/windows/vulkan-sdk.exe) and set an env var (VULKAN_SDK) to its root directory
```
set VULKAN_SDK=C:\Dev\VulkanSDK\<VERSION>
vcpkg install --triplet x64-windows vulkan-sdk libpng libjpeg-turbo fmt gli glm range-v3 ms-gsl
#Configure the project
## Dynamic library
meson builddir -Ddefault_library=shared
## Static library
meson builddir -Ddefault_library=static
## if you use vcpkg add --cmake_prefix-path
meson builddir --cmake-prefix-path=<PATHTOVCPKG>/installed/x64-windows
#Build the project
ninja -C builddir
```

### Linux / macOS
> xmake f -m <release|debug|releasedbg> -k <shared|static>
> xmake b
```
#Configure the project
## Dynamic library
meson builddir -Ddefault_library=shared
## Static library
meson builddir -Ddefault_library=static
#Build the project
ninja -C builddir
```

## Meson parameters
You can customize your build (with -Doption=value) with the following parameters

| Variable | Description | Default value |
|-----------------------|------------------------------|---------------------------------------------------------------------------------------|
| enable_doc | Generate documentation | false |
| enable_examples | Build examples | false |
| enable_entities | Build storm entities library | true |
| enable_log | Build storm log library | true |
| enable_window | Build storm window library | true |
| enable_image | Build storm image library | true |
| enable_module | Build storm module library | true |
| enable_render | Build storm render library | true |
| enable_engine | Build storm engine library | true |
## Parameters
You can customize your build (with --option=value) with the following parameters

| Variable | Description | Default value |
|-----------------------|---------------------------------|---------------------------------------------------------------------------------------|
| enable_tests | Build tests | no |
| enable_examples | Build examples | no |
| enable_log | Build stormkit log library | yes |
| enable_entities | Build stormkit entities library | yes |
| enable_image | Build stormkit image library | yes |
| enable_wsi | Build stormkit wsi library | yes |
| enable_gpu | Build stormkit gpu library | yes |
| enable_engine | Build stormkit engine library | yes |

0 comments on commit 287cfd0

Please sign in to comment.