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

Reply via email to