Rumah > pembangunan bahagian belakang > C++ > Meson: Menggunakan projek Git tanpa meson.build sebagai pergantungan

Meson: Menggunakan projek Git tanpa meson.build sebagai pergantungan

Mary-Kate Olsen
Lepaskan: 2025-01-29 08:12:17
asal
774 orang telah melayarinya

Projek Meson yang bergantung kepada kekurangan dependensi

Pernahkah anda menemui situasi sedemikian: projek yang sangat baik tidak mempunyai fail meson.build, dan pertahanan tidak akan menerima permintaan tarik anda (PR), atau menerimanya? Sebagai alternatif, projek anda perlu menambah dokumen lesen setiap kali anda membina, tetapi pertahanan enggan melakukan ini?

Jangan risau! Anda boleh menyelesaikan masalah ini dengan menambahkan patch git ke . subprojects/*.wrap Sebagai contoh, dalam projek saya ONUR, saya lebih suka menggunakan alat HT HOYT dan bukannya perpustakaan GNOM GLIB yang besar, tetapi projek HT tidak mempunyai fail

.

meson.build untuk projek ini tanpa label, konfigurasi

mudah, menggunakan cawangan utama () seperti yang ditunjukkan di bawah:

wrap-git master

Pertama, muat turun meson sub -project: ./subprojects/ht.wrap. Kemudian, tambahkan

fail:
<code>[wrap-git]
directory=ht
url=https://github.com/benhoyt/ht
revision=master
depth=1</code>
Salin selepas log masuk

meson subprojects download meson.build Seterusnya, buat fail patch: ./subprojects/ht

<code># 创建一个空的 meson.build 文件 (如果需要,可以添加内容)
touch ./subprojects/ht/meson.build </code>
Salin selepas log masuk
Kemudian, tentukan fail patch dalam fail:

<code class="language-bash">mkdir -pv subprojects/{packagecache,packagefiles}
git -C ./subprojects/ht add meson.build
git -C ./subprojects/ht diff --cached > ./subprojects/packagefiles/ht-meson.patch</code>
Salin selepas log masuk
Akhirnya, gunakan patch dan menyusun projek:

ht.wrap

Fail yang boleh dilaksanakan akan muncul dalam direktori
<code class="language-bash">echo "diff_files = ht-meson.patch" >> ./subprojects/ht.wrap</code>
Salin selepas log masuk
seperti yang diharapkan.

sumber yang berkaitan:
<code class="language-bash">meson subprojects purge --confirm
meson subprojects download
CC=gcc meson setup ./build --wipe -D b_sanitize=none -D buildtype=release
meson compile -C ./build</code>
Salin selepas log masuk

meson subprojects ./build

gcc

  • gnu
  • maklumat sistem: GCC 14.2.0
  • meson 1.7.0 ninja 1.12.1
gnu emacs 30

Debian Sid/Gnu Guix/Swaywm/Waybar/Firefox
    languagetool
  • dev.to/easbarba
  • gitlab

Atas ialah kandungan terperinci Meson: Menggunakan projek Git tanpa meson.build sebagai pergantungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan