diff --git a/src/agg_font_freetype.cpp b/lib/font_renderer/agg_font_freetype.cpp similarity index 100% rename from src/agg_font_freetype.cpp rename to lib/font_renderer/agg_font_freetype.cpp diff --git a/src/agg_font_freetype.h b/lib/font_renderer/agg_font_freetype.h similarity index 100% rename from src/agg_font_freetype.h rename to lib/font_renderer/agg_font_freetype.h diff --git a/src/agg_lcd_distribution_lut.h b/lib/font_renderer/agg_lcd_distribution_lut.h similarity index 100% rename from src/agg_lcd_distribution_lut.h rename to lib/font_renderer/agg_lcd_distribution_lut.h diff --git a/src/agg_pixfmt_alpha8.h b/lib/font_renderer/agg_pixfmt_alpha8.h similarity index 100% rename from src/agg_pixfmt_alpha8.h rename to lib/font_renderer/agg_pixfmt_alpha8.h diff --git a/src/font_renderer.cpp b/lib/font_renderer/font_renderer.cpp similarity index 100% rename from src/font_renderer.cpp rename to lib/font_renderer/font_renderer.cpp diff --git a/src/font_renderer.h b/lib/font_renderer/font_renderer.h similarity index 100% rename from src/font_renderer.h rename to lib/font_renderer/font_renderer.h diff --git a/src/font_renderer_alpha.h b/lib/font_renderer/font_renderer_alpha.h similarity index 100% rename from src/font_renderer_alpha.h rename to lib/font_renderer/font_renderer_alpha.h diff --git a/lib/font_renderer/meson.build b/lib/font_renderer/meson.build new file mode 100644 index 00000000..e858f064 --- /dev/null +++ b/lib/font_renderer/meson.build @@ -0,0 +1,18 @@ +libagg_dep = dependency('libagg') +freetype_dep = dependency('freetype2') + +font_renderer_sources = [ + 'agg_font_freetype.cpp', + 'font_renderer.cpp', +] + +font_renderer_cdefs = ['-DFONT_RENDERER_HEIGHT_HACK'] + +font_renderer_include = include_directories('.') + +libfontrenderer = static_library('fontrenderer', + font_renderer_sources, + dependencies: [libagg_dep, freetype_dep], + cpp_args: font_renderer_cdefs, +) + diff --git a/meson.build b/meson.build index ce53e317..6a454f86 100644 --- a/meson.build +++ b/meson.build @@ -6,14 +6,11 @@ libdl = cc.find_library('dl', required : false) lua_dep = dependency('lua') sdl_dep = dependency('sdl2', method: 'config-tool') -libagg_dep = dependency('libagg') -freetype_dep = dependency('freetype2') stb_truetype_dep = dependency('stb_truetype') lite_include = include_directories('src') install_subdir('data', install_dir : 'bin') -lite_cdefs = [] lite_link_args = [] if get_option('buildtype') == 'release' lite_link_args += ['-static-libgcc', '-static-libstdc++'] @@ -25,5 +22,6 @@ if host_machine.system() == 'windows' lite_rc += windows.compile_resources('res.rc') endif +subdir('lib/font_renderer') subdir('src') subdir('tests') diff --git a/src/meson.build b/src/meson.build index 7b293700..d224b251 100644 --- a/src/meson.build +++ b/src/meson.build @@ -4,20 +4,17 @@ lite_sources = [ 'api/renderer_font.c', 'api/system.c', 'renderer.c', - 'agg_font_freetype.cpp', - 'font_renderer.cpp', 'rencache.c', 'main.c', ] -lite_cdefs += ['-DFONT_RENDERER_HEIGHT_HACK'] - executable('lite', lite_sources + lite_rc, - include_directories: lite_include, - dependencies: [lua_dep, sdl_dep, libagg_dep, freetype_dep, libm, libdl], + include_directories: [lite_include, font_renderer_include], + dependencies: [lua_dep, sdl_dep, libm, libdl], + link_with: libfontrenderer, link_args: lite_link_args, - cpp_args: lite_cdefs, install: true, gui_app: true, ) + diff --git a/tests/meson.build b/tests/meson.build index 8d8e3306..6b5e3592 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -6,9 +6,9 @@ executable('stb-font-render-test', ) executable('agg-font-render-test', - ['../src/agg_font_freetype.cpp', '../src/font_renderer.cpp', 'agg_font_render_test.c'], - include_directories: lite_include, - cpp_args: lite_cdefs, - dependencies: [sdl_dep, libagg_dep, freetype_dep, libm, libdl], + 'agg_font_render_test.c', + include_directories: [lite_include, font_renderer_include], + dependencies: [sdl_dep, libm, libdl], + link_with: libfontrenderer, install: false, )