From d7d1ca4a24f956d89612960213dbe3d71103666f Mon Sep 17 00:00:00 2001 From: King_DuckZ Date: Mon, 19 Aug 2019 22:22:21 +0100 Subject: [PATCH] Move memory card stuff to a separate lib. --- meson.build | 8 ++++++++ src/gui/main.cpp | 2 +- src/gui/make_nana_animation.cpp | 4 ++-- src/gui/meson.build | 10 +--------- src/gui/widget/block_grid.cpp | 6 +++--- src/meson.build | 1 + .../memcard/include/memcard}/block.hpp | 0 .../memcard/include/memcard}/icon_fetch.hpp | 2 +- .../memcard/include/memcard}/memorycard.hpp | 0 subprojects/memcard/meson.build | 19 +++++++++++++++++++ .../gui => subprojects/memcard/src}/block.cpp | 4 ++-- .../memcard/src}/icon_fetch.cpp | 2 +- .../memcard/src}/memorycard.cpp | 4 ++-- .../memcard/src}/resize_harris.cpp | 0 .../memcard/src}/resize_harris.hpp | 0 15 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 src/meson.build rename {src/gui => subprojects/memcard/include/memcard}/block.hpp (100%) rename {src/gui => subprojects/memcard/include/memcard}/icon_fetch.hpp (81%) rename {src/gui => subprojects/memcard/include/memcard}/memorycard.hpp (100%) create mode 100644 subprojects/memcard/meson.build rename {src/gui => subprojects/memcard/src}/block.cpp (97%) rename {src/gui => subprojects/memcard/src}/icon_fetch.cpp (99%) rename {src/gui => subprojects/memcard/src}/memorycard.cpp (92%) rename {src/gui => subprojects/memcard/src}/resize_harris.cpp (100%) rename {src/gui => subprojects/memcard/src}/resize_harris.hpp (100%) diff --git a/meson.build b/meson.build index ba4c976..099ab4b 100644 --- a/meson.build +++ b/meson.build @@ -1,3 +1,11 @@ project('memoserv', 'cpp', default_options:['debug=true', 'cpp_std=c++17', 'b_ndebug=if-release']) +is_debug_build = 0 +if get_option('buildtype').startswith('debug') + is_debug_build = 1 +endif + +memcard_proj = subproject('memcard') +memcard_dep = memcard_proj.get_variable('memcard_dep') + subdir('src/gui') diff --git a/src/gui/main.cpp b/src/gui/main.cpp index ad316c9..a9d856c 100644 --- a/src/gui/main.cpp +++ b/src/gui/main.cpp @@ -1,4 +1,4 @@ -#include "memorycard.hpp" +#include "memcard/memorycard.hpp" #include "widget/block_grid.hpp" #include "make_nana_animation.hpp" #include diff --git a/src/gui/make_nana_animation.cpp b/src/gui/make_nana_animation.cpp index 6d455b6..bc58666 100644 --- a/src/gui/make_nana_animation.cpp +++ b/src/gui/make_nana_animation.cpp @@ -1,6 +1,6 @@ #include "make_nana_animation.hpp" -#include "block.hpp" -#include "icon_fetch.hpp" +#include "memcard/block.hpp" +#include "memcard/icon_fetch.hpp" namespace duck { AnimationWithSize make_nana_animation (const ConstBlock& block, int width, int height, int fps) { diff --git a/src/gui/meson.build b/src/gui/meson.build index 6302db6..c6b533a 100644 --- a/src/gui/meson.build +++ b/src/gui/meson.build @@ -21,18 +21,9 @@ libxft_dep = dependency('xft') libfontconfig_dep = dependency('fontconfig') libthread_dep = dependency('threads') -is_debug_build = 0 -if get_option('buildtype').startswith('debug') - is_debug_build = 1 -endif - executable('gui', 'main.cpp', - 'memorycard.cpp', - 'block.cpp', - 'icon_fetch.cpp', 'widget/block_grid.cpp', - 'resize_harris.cpp', 'make_nana_animation.cpp', 'animation_with_size.cpp', dependencies: [ @@ -43,6 +34,7 @@ executable('gui', libxft_dep, libfontconfig_dep, libthread_dep, + memcard_dep, ], install: true, include_directories: [private_incl] + nana_incl_search, diff --git a/src/gui/widget/block_grid.cpp b/src/gui/widget/block_grid.cpp index 47956ed..397d3bf 100644 --- a/src/gui/widget/block_grid.cpp +++ b/src/gui/widget/block_grid.cpp @@ -1,7 +1,7 @@ #include "widget/block_grid.hpp" -#include "memorycard.hpp" -#include "block.hpp" -#include "icon_fetch.hpp" +#include "memcard/memorycard.hpp" +#include "memcard/block.hpp" +#include "memcard/icon_fetch.hpp" #include #include #include diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..7b350d7 --- /dev/null +++ b/src/meson.build @@ -0,0 +1 @@ +subdir('gui') diff --git a/src/gui/block.hpp b/subprojects/memcard/include/memcard/block.hpp similarity index 100% rename from src/gui/block.hpp rename to subprojects/memcard/include/memcard/block.hpp diff --git a/src/gui/icon_fetch.hpp b/subprojects/memcard/include/memcard/icon_fetch.hpp similarity index 81% rename from src/gui/icon_fetch.hpp rename to subprojects/memcard/include/memcard/icon_fetch.hpp index 10d8c24..f5ca745 100644 --- a/src/gui/icon_fetch.hpp +++ b/subprojects/memcard/include/memcard/icon_fetch.hpp @@ -1,6 +1,6 @@ #pragma once -#include "block.hpp" +#include "memcard/block.hpp" #include std::vector> icon_fetch (const ConstBlock& block, int width, int height); diff --git a/src/gui/memorycard.hpp b/subprojects/memcard/include/memcard/memorycard.hpp similarity index 100% rename from src/gui/memorycard.hpp rename to subprojects/memcard/include/memcard/memorycard.hpp diff --git a/subprojects/memcard/meson.build b/subprojects/memcard/meson.build new file mode 100644 index 0000000..7be88e2 --- /dev/null +++ b/subprojects/memcard/meson.build @@ -0,0 +1,19 @@ +project('memcard', 'cpp', default_options:['debug=true', 'cpp_std=c++17', 'b_ndebug=if-release']) +add_project_link_arguments(['-lstdc++fs'], language: 'cpp') + +private_incl = include_directories('src') +library_incl = include_directories('include') + +memcard = shared_library('memcard', + 'src/memorycard.cpp', + 'src/block.cpp', + 'src/icon_fetch.cpp', + 'src/resize_harris.cpp', + install: true, + include_directories: [private_incl, library_incl], +) + +memcard_dep = declare_dependency( + include_directories: library_incl, + link_with: memcard +) diff --git a/src/gui/block.cpp b/subprojects/memcard/src/block.cpp similarity index 97% rename from src/gui/block.cpp rename to subprojects/memcard/src/block.cpp index 2d46aca..b932291 100644 --- a/src/gui/block.cpp +++ b/subprojects/memcard/src/block.cpp @@ -1,5 +1,5 @@ -#include "block.hpp" -#include "memorycard.hpp" +#include "memcard/block.hpp" +#include "memcard/memorycard.hpp" #include #include #include diff --git a/src/gui/icon_fetch.cpp b/subprojects/memcard/src/icon_fetch.cpp similarity index 99% rename from src/gui/icon_fetch.cpp rename to subprojects/memcard/src/icon_fetch.cpp index 44c21ee..822be0f 100644 --- a/src/gui/icon_fetch.cpp +++ b/subprojects/memcard/src/icon_fetch.cpp @@ -1,4 +1,4 @@ -#include "icon_fetch.hpp" +#include "memcard/icon_fetch.hpp" #include "resize_harris.hpp" #include #include diff --git a/src/gui/memorycard.cpp b/subprojects/memcard/src/memorycard.cpp similarity index 92% rename from src/gui/memorycard.cpp rename to subprojects/memcard/src/memorycard.cpp index cb5ffe6..172cb90 100644 --- a/src/gui/memorycard.cpp +++ b/subprojects/memcard/src/memorycard.cpp @@ -1,5 +1,5 @@ -#include "memorycard.hpp" -#include "block.hpp" +#include "memcard/memorycard.hpp" +#include "memcard/block.hpp" #include #include #include diff --git a/src/gui/resize_harris.cpp b/subprojects/memcard/src/resize_harris.cpp similarity index 100% rename from src/gui/resize_harris.cpp rename to subprojects/memcard/src/resize_harris.cpp diff --git a/src/gui/resize_harris.hpp b/subprojects/memcard/src/resize_harris.hpp similarity index 100% rename from src/gui/resize_harris.hpp rename to subprojects/memcard/src/resize_harris.hpp