@@ -0,0 +1,11 @@ | |||
core_mod = shared_library('mod', | |||
'src/main.cc', | |||
'src/DefaultWorldGen.cc', | |||
'src/entities/PlayerEntity.cc', | |||
'src/entities/ItemStackEntity.cc', | |||
name_prefix: '', | |||
install: true, | |||
install_dir: 'core.mod', | |||
dependencies: [libswan, libperlinnoise]) | |||
install_subdir('assets', install_dir: 'core.mod') |
@@ -2,7 +2,7 @@ | |||
#include <swan/swan.h> | |||
#include <PerlinNoise/PerlinNoise.hpp> | |||
#include <PerlinNoise.hpp> | |||
class DefaultWorldGen: public Swan::WorldGen { | |||
public: |
@@ -0,0 +1,13 @@ | |||
libcygnet = declare_dependency( | |||
include_directories: 'include', | |||
link_with: library('cygnet', | |||
'src/GlWrappers.cc', | |||
'src/Renderer.cc', | |||
'src/ResourceManager.cc', | |||
'src/shaders.cc', | |||
'src/TileAtlas.cc', | |||
'src/util.cc', | |||
'src/Window.cc', | |||
dependencies: [common, libtracy, libthreads, libsdl2, libgles2], | |||
install: true, | |||
include_directories: 'include/cygnet')) |
@@ -1,7 +1,7 @@ | |||
#pragma once | |||
// We want every file to be able to easily add Tracy zones | |||
#include <tracy/Tracy.hpp> | |||
#include <Tracy.hpp> | |||
#include <swan-common/Vector2.h> | |||
#include <swan-common/constants.h> |
@@ -0,0 +1,27 @@ | |||
libswan_deps = [ | |||
common, libcygnet, libtracy, libthreads, libsdl2, libsdl2_image, | |||
libcpptoml, libdl, libz] | |||
libswan = declare_dependency( | |||
include_directories: 'include', | |||
dependencies: libswan_deps, | |||
link_with: library('swan', | |||
'src/traits/BodyTrait.cc', | |||
'src/traits/InventoryTrait.cc', | |||
'src/traits/PhysicsTrait.cc', | |||
'src/Animation.cc', | |||
'src/assets.cc', | |||
'src/Chunk.cc', | |||
'src/Clock.cc', | |||
'src/drawutil.cc', | |||
'src/Entity.cc', | |||
'src/Game.cc', | |||
'src/gfxutil.cc', | |||
'src/ItemStack.cc', | |||
'src/LightServer.cc', | |||
'src/OS.cc', | |||
'src/World.cc', | |||
'src/WorldPlane.cc', | |||
dependencies: libswan_deps, | |||
install: true, | |||
include_directories: 'include/swan')) |
@@ -0,0 +1,25 @@ | |||
project('swan', 'cpp', | |||
default_options: ['cpp_std=c++2a']) | |||
libdl = meson.get_compiler('cpp').find_library('dl') | |||
libz = meson.get_compiler('cpp').find_library('z') | |||
libgles2 = meson.get_compiler('cpp').find_library('GLESv2') | |||
libsdl2 = dependency('sdl2') | |||
libsdl2_image = dependency('SDL2_image') | |||
libthreads = dependency('threads') | |||
subdir('third-party') | |||
common = declare_dependency( | |||
include_directories: 'include', | |||
dependencies: libmsgpack) | |||
subdir('libcygnet') | |||
subdir('libswan') | |||
subdir('core.mod') | |||
executable('swan', 'src/main.cc', | |||
install: true, | |||
install_rpath: get_option('libdir'), | |||
dependencies: [libswan, libcygnet, common, libimgui, libsdl2, libsdl2_image]) | |||
install_subdir('assets', install_dir: '') |
@@ -9,7 +9,7 @@ | |||
#include <SDL2/SDL_image.h> | |||
#include <string.h> | |||
#include <imgui.h> | |||
#include <imgui_sdl/imgui_sdl.h> | |||
#include <imgui_sdl.h> | |||
#include <cygnet/Renderer.h> | |||
#include <cygnet/Window.h> | |||
@@ -0,0 +1,34 @@ | |||
libcpptoml = declare_dependency( | |||
include_directories: 'cpptoml/include') | |||
libfmt = declare_dependency( | |||
include_directories: 'fmt/include', | |||
link_with: library('fmt', | |||
'fmt/src/format.cc', | |||
'fmt/src/os.cc', | |||
include_directories: 'fmt/include')) | |||
libimgui = declare_dependency( | |||
include_directories: ['imgui', 'imgui-plot/include', 'imgui_sdl'], | |||
link_with: library('imgui', | |||
'imgui/imgui_demo.cpp', | |||
'imgui/imgui_draw.cpp', | |||
'imgui/imgui_widgets.cpp', | |||
'imgui/imgui.cpp', | |||
'imgui_sdl/imgui_sdl.cpp', | |||
'imgui-plot/src/imgui_plot.cpp', | |||
include_directories: ['imgui', 'imgui-plot/include', 'imgui_sdl'], | |||
dependencies: libsdl2, | |||
cpp_args: ['-Wno-sign-compare', '-Wno-deprecated-enum-enum-conversion'])) | |||
libmsgpack = declare_dependency( | |||
include_directories: 'msgpack-c/include') | |||
libperlinnoise = declare_dependency( | |||
include_directories: 'PerlinNoise') | |||
libtracy = declare_dependency( | |||
include_directories: 'tracy', | |||
link_with: library('tracy', | |||
'tracy/TracyClient.cpp', | |||
dependencies: libthreads)) |