Browse Source

add meson build

feature/meson
Martin Dørum 2 years ago
parent
commit
6708ce6652

+ 11
- 0
core.mod/meson.build View File

@@ -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')

+ 1
- 1
core.mod/src/DefaultWorldGen.h View File

@@ -2,7 +2,7 @@

#include <swan/swan.h>

#include <PerlinNoise/PerlinNoise.hpp>
#include <PerlinNoise.hpp>

class DefaultWorldGen: public Swan::WorldGen {
public:

+ 13
- 0
libcygnet/meson.build View File

@@ -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
- 1
libswan/include/swan/common.h View File

@@ -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>

+ 27
- 0
libswan/meson.build View File

@@ -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'))

+ 25
- 0
meson.build View File

@@ -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: '')

+ 1
- 1
src/main.cc View File

@@ -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>


+ 34
- 0
third-party/meson.build View File

@@ -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))

Loading…
Cancel
Save