207 похожих чатов

Знатоки, внимание! Вопрос: Можно ли в meson-е без if shit_dep.found()... организовать

логику, которая сначала попробует достать зависимость из системы, и если не выходит, пойдёт грузить её через wrap?
Специфика следующая:
Зависимость собираеться умеет только через cmake, поэтому просто деп указать не выходит. Обязательно нужно вертеть магию с import('cmake'). Из-за чего получаю сухой dep объект, который нельзя перезаписать в глобальное состояние, потому что он собой заменит найденную в системе либку.

2 ответов

21 просмотр
Vitalii- Автор вопроса

project('whatever', [ 'c', 'cpp' ], default_options : [ 'c_std=c11', 'cpp_std=c++20' ], version : [ '0.1.0' ]) glfw3_dep = dependency('glfw3', version : '==3.3.3', required : false) if not glfw3_dep.found() cmake = import('cmake') glfw3_subproj = cmake.subproject('glfw3') glfw3_dep = glfw3_subproj.dependency('glfw') meson.override_dependency('glfw3', glfw3_dep) endif whatever_src = [ 'src/main.cpp' ] whatever_dep = [ dependency('glfw3') ] executable('whatever', whatever_src, dependencies : whatever_dep)

Vitalii- Автор вопроса
Vitalii
project('whatever', [ 'c', 'cpp' ], default_opti...

Пока как-то таки и выглядит стрёмно как для meson-a.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта