New-Cli-Installer/subprojects/packagefiles/ftxui/meson.build
Vladislav Nepogodin 6819f6933d
♻ update deps
2022-06-07 22:47:05 +04:00

122 lines
4.3 KiB
Meson

project('ftxui', 'cpp',
version: '3.0.0',
license : 'MIT',
default_options: ['cpp_std=c++20']
)
cpp = meson.get_compiler('cpp')
thread_dep = dependency('threads')
ranges = dependency('range-v3', version : ['>=0.11.0'], fallback : ['range-v3', 'range_dep'])
ftxui_inc = include_directories('include')
ftxui_priv_inc = include_directories('src')
ftxui_screen_lib = static_library('ftxui_screen',
sources : [
'src/ftxui/screen/color.cpp',
'src/ftxui/screen/screen.cpp',
'src/ftxui/screen/string.cpp',
'src/ftxui/screen/terminal.cpp',
'include/ftxui/screen/box.hpp',
'include/ftxui/screen/color.hpp',
'include/ftxui/screen/color_info.hpp',
'include/ftxui/screen/screen.hpp',
'include/ftxui/screen/string.hpp'
],
include_directories : ftxui_inc,
dependencies : [thread_dep, ranges]
)
ftxui_dom_lib = static_library('ftxui_dom',
sources : [
'include/ftxui/dom/elements.hpp',
'include/ftxui/dom/flexbox_config.hpp',
'include/ftxui/dom/node.hpp',
'include/ftxui/dom/requirement.hpp',
'include/ftxui/dom/take_any_args.hpp',
'src/ftxui/dom/automerge.cpp',
'src/ftxui/dom/blink.cpp',
'src/ftxui/dom/bold.cpp',
'src/ftxui/dom/border.cpp',
'src/ftxui/dom/box_helper.hpp',
'src/ftxui/dom/box_helper.cpp',
'src/ftxui/dom/canvas.cpp',
'src/ftxui/dom/clear_under.cpp',
'src/ftxui/dom/color.cpp',
'src/ftxui/dom/composite_decorator.cpp',
'src/ftxui/dom/dbox.cpp',
'src/ftxui/dom/dim.cpp',
'src/ftxui/dom/flex.cpp',
'src/ftxui/dom/flexbox.cpp',
'src/ftxui/dom/flexbox_helper.cpp',
'src/ftxui/dom/flexbox_helper.hpp',
'src/ftxui/dom/focus.cpp',
'src/ftxui/dom/frame.cpp',
'src/ftxui/dom/gauge.cpp',
'src/ftxui/dom/graph.cpp',
'src/ftxui/dom/gridbox.cpp',
'src/ftxui/dom/hbox.cpp',
'src/ftxui/dom/inverted.cpp',
'src/ftxui/dom/node.cpp',
'src/ftxui/dom/node_decorator.hpp',
'src/ftxui/dom/node_decorator.cpp',
'src/ftxui/dom/paragraph.cpp',
'src/ftxui/dom/reflect.cpp',
'src/ftxui/dom/scroll_indicator.cpp',
'src/ftxui/dom/separator.cpp',
'src/ftxui/dom/size.cpp',
'src/ftxui/dom/spinner.cpp',
'src/ftxui/dom/table.cpp',
'src/ftxui/dom/text.cpp',
'src/ftxui/dom/underlined.cpp',
'src/ftxui/dom/util.cpp',
'src/ftxui/dom/vbox.cpp'
],
include_directories : [ftxui_inc, ftxui_priv_inc],
link_with : [ftxui_screen_lib],
dependencies : [thread_dep, ranges]
)
ftxui_component_lib = static_library('ftxui_component',
sources : [
'include/ftxui/component/animation.hpp',
'include/ftxui/component/captured_mouse.hpp',
'include/ftxui/component/component.hpp',
'include/ftxui/component/component_base.hpp',
'include/ftxui/component/component_options.hpp',
'include/ftxui/component/event.hpp',
'include/ftxui/component/mouse.hpp',
'include/ftxui/component/receiver.hpp',
'include/ftxui/component/screen_interactive.hpp',
'src/ftxui/component/animation.cpp',
'src/ftxui/component/button.cpp',
'src/ftxui/component/catch_event.cpp',
'src/ftxui/component/checkbox.cpp',
'src/ftxui/component/collapsible.cpp',
'src/ftxui/component/component.cpp',
'src/ftxui/component/component_options.cpp',
'src/ftxui/component/container.cpp',
'src/ftxui/component/dropdown.cpp',
'src/ftxui/component/event.cpp',
'src/ftxui/component/input.cpp',
'src/ftxui/component/maybe.cpp',
'src/ftxui/component/menu.cpp',
'src/ftxui/component/radiobox.cpp',
'src/ftxui/component/radiobox.cpp',
'src/ftxui/component/renderer.cpp',
'src/ftxui/component/resizable_split.cpp',
'src/ftxui/component/screen_interactive.cpp',
'src/ftxui/component/slider.cpp',
'src/ftxui/component/terminal_input_parser.cpp',
'src/ftxui/component/terminal_input_parser.hpp',
'src/ftxui/component/util.cpp'
],
include_directories : [ftxui_inc, ftxui_priv_inc],
link_with : [ftxui_dom_lib],
dependencies : [thread_dep, ranges]
)
ftxui_dep = declare_dependency(
include_directories : ftxui_inc,
link_with : [ftxui_screen_lib, ftxui_dom_lib, ftxui_component_lib]
)