Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
prog:vcpkg [2024/08/27 15:48] – [portfile.cmake] : ajout de SKIP_SHA512 + mise à jour de l'url de téléchargement root | prog:vcpkg [2024/08/28 14:09] (Version actuelle) – [Récupérer le code source] : fix typo root |
---|
====portfile.cmake==== | ====portfile.cmake==== |
| |
* Récupérer le code source | ===Récupérer le code source=== |
| |
SHA512 se calcule depuis l'URL https://github.com/[REPO]/archive/[REF].tar.gz ou ''curl -H "PRIVATE-TOKEN: ${TOKEN}" -L git@[GITLAB_REPOSITORY]/[PROJECT]/-/archive/[VERSION]/[PROJECT]-[VERSION].tar.gz --output ${version}.tar.gz''. Mais pour faire simple, mettre 0 (pas vide) et laisser le téléchargement échouer. ''vcpkg'' affichera le bon ''SHA512''. Il est aussi possible de mettre ''SKIP_SHA512'' (très mauvaise idée en production). | SHA512 se calcule depuis l'URL https://github.com/[REPO]/archive/[REF].tar.gz ou ''%%curl -H "PRIVATE-TOKEN: ${TOKEN}" -L git@[GITLAB_REPOSITORY]/[PROJECT]/-/archive/[VERSION]/[PROJECT]-[VERSION].tar.gz --output ${version}.tar.gz%%''. Mais pour faire simple, mettre 0 (pas vide) et laisser le téléchargement échouer. ''vcpkg'' affichera le bon ''SHA512''. Il est aussi possible de mettre ''SKIP_SHA512'' (très mauvaise idée en production). |
| |
Si la valeur change à chaque fois, il y a probablement un problème de droit. Ouvrir le fichier téléchargé dans le dossier ''download'' avec un éditeur de texte pour vérifier le contenu (probablement une page HTML). | Si la valeur change à chaque fois, il y a probablement un problème de droit. Ouvrir le fichier téléchargé dans le dossier ''download'' avec un éditeur de texte pour vérifier le contenu (probablement une page HTML). |
</code> | </code> |
| |
* Compiler | ===Compiler=== |
| |
''vcpkg_check_features'' active le define ''WITH_HDF5'' si la feature ''hdf5'' est activée. | ''vcpkg_check_features'' active le define ''WITH_HDF5'' si la feature ''hdf5'' est activée. |
</code> | </code> |
| |
* Installer | ===Installer=== |
| |
<code cmake> | <code cmake> |
</code> | </code> |
| |
* Patcher | ===Patcher=== |
| |
Il faut ensuite tester l'installation et patcher pour rendre l'installation compatible avec vcpkg. | Il faut ensuite tester l'installation et patcher pour rendre l'installation compatible avec vcpkg. |
</code> | </code> |
| |
* Subtilités | ===Subtilités=== |
| |
| * Accès aux variables d'environnement de Windows |
| |
Sous Windows, les variables d'environnement ne sont pas passées à vcpkg et donc pas non plus à CMake. | Sous Windows, les variables d'environnement ne sont pas passées à vcpkg et donc pas non plus à CMake. |
| |
La modification d'une variable dans ''VCPKG_ENV_PASSTHROUGH'' entrainera la recompilation des paquets. Contrairement à ''VCPKG_ENV_PASSTHROUGH_UNTRACKED''. [[https://learn.microsoft.com/en-us/vcpkg/users/triplets|Triplets reference]] | La modification d'une variable dans ''VCPKG_ENV_PASSTHROUGH'' entrainera la recompilation des paquets. Contrairement à ''VCPKG_ENV_PASSTHROUGH_UNTRACKED''. [[https://learn.microsoft.com/en-us/vcpkg/users/triplets|Triplets reference]] |
| |
| * Connaître l'architecture source / destination |
| |
| L'architecture source (hôte qui compile) : `CMAKE_HOST_<SYSTEM>`. |
| |
| L'architecture de destination (target qui exécutera) : `VCPKG_TARGET_IS_<SYSTEM>`. `WIN32` et `LINUX` sont dépréciés car il y a confusion facile entre l'hôte et la target. |
| |
====Publication des modifications==== | ====Publication des modifications==== |