On Sunday, 12 January 2020 at 22:00:33 UTC, p.shkadzko wrote:
Ok, I am trying to meson and is struggling with meson.build
file. I looked up the examples page:
https://github.com/mesonbuild/meson/tree/master/test%20cases/d
which has a lot of examples but not the one that shows you how
to build your project with some external dependency :)
Let's say we have a simple dir "myproj" with "meson.build" in
it and some source files like "app.d" and "helper_functions.d".
~/myproj
app.d
helper_functions.d
meson.build
"helper_functions.d" uses let's say lubeck library which
according to
https://forum.dlang.org/thread/nghoprwkihazjikyh...@forum.dlang.org is supported by meson.
Here is my meson.build:
-----------------------
project('demo', 'd',
version : '0.1',
default_options : ['warning_level=3']
)
lubeck = dependency('lubeck', version: '>=1.1.7')
ed = executable('mir_quickstart', 'app.d', dependencies:
lubeck, install : true)
However, when I try to build it I get the following error:
-----
$ meson build
The Meson build system
Version: 0.52.1
Source dir: /home/user/dev/github/demo
Build dir: /home/user/dev/github/demo/build
Build type: native build
Project name: demo
Project version: 0.1
D compiler for the host machine: ldc2 (llvm 1.18.0 "LDC - the
LLVM D compiler (1.18.0):")
D linker for the host machine: GNU ld.gold 2.33.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.6.3)
Found CMake: /usr/bin/cmake (3.16.2)
Run-time dependency lubeck found: NO (tried pkgconfig and cmake)
meson.build:8:0: ERROR: Dependency "lubeck" not found, tried
pkgconfig and cmake
A full log can be found at
/home/user/dev/github/demo/build/meson-l
-----
What do I need to do in order to build the project with
"lubeck" dependency in meson?
Seems like you have missed the *.wrap files in subprojects
folder. It's a bad idea to install D meson libs into system as
probably you will want to control versions easily.
You need all *wrap files recursively.
Check this
https://github.com/kaleidicassociates/lubeck/tree/master/subprojects
and add a wrap file for Lubeck.
You can specify tags instead of the master branches. - it is
recommended for stable work.
Ilya