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
Mary-Kate Olsenasal
2025-01-29 08:12:17786semak imbas

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>

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

<code># 创建一个空的 meson.build 文件 (如果需要,可以添加内容)
touch ./subprojects/ht/meson.build </code>
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>
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>
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>

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:
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