We will link to boehm inside of the test suite if it depends on libexpr but we don't need it for other tests. For anything linking to libexpr internally, just like externally, it needs to link to boehm. Likewise with kj and libutil (or really any lix), so we should just make it automatic. Change-Id: I2bb9ec4668e6ff741b4139fdce167f278eb71c7e
92 lines
2.0 KiB
Meson
92 lines
2.0 KiB
Meson
libcmd_sources = files(
|
|
'built-path.cc',
|
|
'cmd-profiles.cc',
|
|
'command.cc',
|
|
'common-eval-args.cc',
|
|
'editor-for.cc',
|
|
'installable-attr-path.cc',
|
|
'installable-derived-path.cc',
|
|
'installable-flake.cc',
|
|
'installable-value.cc',
|
|
'installables.cc',
|
|
'legacy.cc',
|
|
'markdown.cc',
|
|
'repl.cc',
|
|
'repl-interacter.cc',
|
|
)
|
|
|
|
libcmd_headers = files(
|
|
'built-path.hh',
|
|
'cmd-profiles.hh',
|
|
'command.hh',
|
|
'common-eval-args.hh',
|
|
'editor-for.hh',
|
|
'installable-attr-path.hh',
|
|
'installable-derived-path.hh',
|
|
'installable-flake.hh',
|
|
'installable-value.hh',
|
|
'installables.hh',
|
|
'legacy.hh',
|
|
'markdown.hh',
|
|
'repl-interacter.hh',
|
|
'repl.hh',
|
|
)
|
|
|
|
libcmd_generated_headers = [
|
|
gen_header.process('repl-overlays.nix', preserve_path_from: meson.current_source_dir()),
|
|
]
|
|
|
|
libcmd = library(
|
|
'lixcmd',
|
|
libcmd_generated_headers,
|
|
libcmd_sources,
|
|
dependencies : [
|
|
liblixutil,
|
|
liblixstore,
|
|
liblixexpr,
|
|
liblixfetchers,
|
|
liblixmain,
|
|
ncurses,
|
|
editline,
|
|
lowdown,
|
|
nlohmann_json,
|
|
liblix_doc,
|
|
kj,
|
|
],
|
|
# '../..' for self references like "lix/libcmd/*.hh"
|
|
include_directories : [ '../..' ],
|
|
cpp_pch : cpp_pch,
|
|
install : true,
|
|
# FIXME(Qyriad): is this right?
|
|
install_rpath : libdir,
|
|
)
|
|
|
|
install_headers(libcmd_headers, subdir : 'lix/libcmd', preserve_path : true)
|
|
custom_target(
|
|
command : [ 'cp', '@INPUT@', '@OUTPUT@' ],
|
|
input : libcmd_generated_headers,
|
|
output : '@PLAINNAME@',
|
|
install : true,
|
|
install_dir : includedir / 'lix/libcmd',
|
|
)
|
|
|
|
liblixcmd = declare_dependency(
|
|
include_directories : include_directories('../..'),
|
|
link_with : libcmd,
|
|
)
|
|
meson.override_dependency('lix-cmd', liblixcmd)
|
|
|
|
# FIXME: not using the pkg-config module because it creates way too many deps
|
|
# while meson migration is in progress, and we want to not include boost here
|
|
configure_file(
|
|
input : 'lix-cmd.pc.in',
|
|
output : 'lix-cmd.pc',
|
|
install_dir : libdir / 'pkgconfig',
|
|
configuration : {
|
|
'prefix' : prefix,
|
|
'libdir' : libdir,
|
|
'includedir' : includedir,
|
|
'PACKAGE_VERSION' : meson.project_version(),
|
|
},
|
|
)
|