Since lix-doc is no longer a separate library, the pkg-config files were broken for static builds. Adjust them to refer to the new monocrate library instead. Actually, since the monocrate library is static in all cases it needs to be linked explicitly even when everything else is linked dynamically. I assume this only doesn't break the dynamic nix-eval-jobs because it doesn't actually use anything from it. Change-Id: Icf29938688f4fa87425ff346a3105ef56a6a6964
99 lines
2.2 KiB
Meson
99 lines
2.2 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,
|
|
liblixfetchers,
|
|
liblixexpr,
|
|
liblixmain,
|
|
liblix_doc,
|
|
boehm,
|
|
editline,
|
|
kj,
|
|
lowdown,
|
|
ncurses,
|
|
nlohmann_json,
|
|
],
|
|
# '../..' 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('../..'),
|
|
dependencies : [
|
|
liblixutil,
|
|
liblixstore,
|
|
kj,
|
|
],
|
|
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(),
|
|
'BOEHM_IF_FOUND' : boehm.found() ? 'bdw-gc' : '',
|
|
},
|
|
)
|