🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
5.1 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. # Antkeeper Superbuild
  2. This repository contains the superbuild system and all dependencies required to build Antkeeper.
  3. ## Download
  4. Download the Antkeeper superbuild repository and all of its Git submodules:
  5. git clone --recursive https://antkeeper.com/git/antkeeper/superbuild.git
  6. > Note: The `antkeeper-data` submodule contains proprietary game data and is not publicly available. The game can be built without this submodule, but game data is required to play Antkeeper. You can get a copy of the game data by purchasing Antkeeper at [antkeeper.com](https://antkeeper.com/).
  7. ## Configuration & Building
  8. CMake is required to configure and build the application. Depending on the target platform, CMake should be invoked from one of the following directories:
  9. | Directory | Platform |
  10. | :------------------------------- | :--------------- |
  11. | [build/linux32](./build/linux32) | 32-bit Linux |
  12. | [build/linux64](./build/linux64) | 64-bit Linux |
  13. | [build/win32](./build/win32) | 32-bit Windows |
  14. | [build/win64](./build/win64) | 64-bit Windows |
  15. The following arguments may be passed to CMake during configuration:
  16. -DCMAKE_BUILD_TYPE // [Debug, Release]
  17. ### Linux
  18. Building for Linux requires CMake, GCC, G++, and GNU Make. Navigate to either the `build/linux32` or `build/linux64` directory and run the following commands:
  19. cmake ../.. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=...
  20. cmake --build .
  21. ### Windows
  22. Building for Windows requires CMake and Visual Studio Build Tools. Additionally, [NSIS](http://nsis.sourceforge.net/) is required if you want to build a distributable installer program. In order to correctly build for your target architecture, you must use the `x86 Native Tools Command Prompt` or the `x64 Native Tools Command Prompt` for 32-bit and 64-bit applications, respectively. Then navigate to either the `build\win32` or `build\win64` directory and run the following commands:
  23. cmake ..\.. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=...
  24. cmake --build .
  25. ## Running
  26. After building, a standalone version of the application will be located somewhere in the `bin` directory according to the build type, build platform, and version string.
  27. ## Distribution
  28. The built application can be packaged into a distributable format with the following command:
  29. cmake --build . --target dist
  30. The resulting package will be located in the `dist` directory.
  31. ## Contributing
  32. If any changes have been made to the submodules, commit those first. Each submodule can then be updated to their latest commits with the following command:
  33. git submodule update --recursive --remote
  34. ## License
  35. Antkeeper superbuild is licensed under the GNU General Public License, version 3. For more information, see [`LICENSE.md`](./LICENSE.md).
  36. ### 3rd-Party Software
  37. | Name | Author(s) | License | File(s) |
  38. | :------------------------------ | :--------------------- | :-------------------------- | :------------------------------------------------------------------ |
  39. | cxxopts | Jarryd Beck | MIT | [cxxopts.hpp](./modules/cxxopts/include/cxxopts.hpp) |
  40. | dirent | Toni Ronkko | MIT | [dirent.h](./modules/dirent/include/dirent.h) |
  41. | dr_wav | David Reid | Public Domain (Unlicense) | [dr_wav.h](./modules/dr_wav/dr_wav.h) |
  42. | Easing Functions (Equations) | Robert Penner | MIT | [ease.hpp](./modules/antkeeper-source/src/animation/ease.hpp) |
  43. | EnTT | Michele Caini | MIT | [entt/*](./modules/entt/) |
  44. | khrplatform.h | The Khronos Group Inc. | MIT | [khrplatform.h](./modules/glad/khrplatform.h) |
  45. | OpenGL loader generated by glad | David Herberth | Public Domain / WTFPL / CC0 | [glad.h](./modules/glad/glad.h), [glad.c](./modules/glad/glad.c) |
  46. | PhysicsFS | Ryan C. Gordon | Zlib | [physfs/*](./modules/physfs/) |
  47. | JSON for Modern C++ | Niels Lohmann | MIT | [json.hpp](./modules/nlohmann/json.hpp) |
  48. | OpenAL Soft | | LGPL-2.0 | [openal-soft/*](./modules/openal-soft/) |
  49. | Simple DirectMedia Layer | Sam Lantinga | Zlib | [SDL2/*](./modules/SDL2/) |
  50. | stb_image | Sean Barrett | MIT / Public Domain | [stb_image.h](./modules/stb/stb_image.h) |
  51. | stb_image_write | Sean Barrett | MIT / Public Domain | [stb_image_write.h](./modules/stb/stb_image_write.h) |