Comment configurer un projet externe pour télécharger un lien qui n'est pas un fichier .tgz?cmake ExternalProject_Ajouter comment télécharger le fichier URL non-tar?
Par exemple Catch fournit une version qui est une distribution d'en-tête unique. Je voudrais juste télécharger ceci plutôt que le repo de git ou la libération de .tgz. Mais je n'ai pas compris comment dire à CMake de le faire.
Je voudrais faire quelque chose comme:
Include(ExternalProject)
ExternalProject_Add(
catch
PREFIX ${CMAKE_BINARY_DIR}/catch
URL https://github.com/philsquared/Catch/releases/download/v1.9.6/catch.hpp ${CMAKE_BINARY_DIR}/catch
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
LOG_DOWNLOAD ON
)
Cela échoue comme URL suppose que l'URL est un fichier tar compressé. J'ai essayé plusieurs variantes du DOWNLOAD_COMMAND sans aucun succès non plus.
Merci. C'est juste ce que je cherchais. Merci également pour l'astuce à propos de LOG_DOWNLOAD. Le fichier était en cours de téléchargement. Cependant, CMake a échoué après le téléchargement jusqu'à ce que j'éteigne LOG_DOWNLOAD. J'utilisais même CMakeLists 3.8.2. Donc, il semble qu'il pourrait être cassé à nouveau. – Tal
Je viens d'ouvrir ce numéro: https://gitlab.kitware.com/cmake/cmake/issues/17046. – Tal
Suivi du problème CMake. Ceci est corrigé dans CMake 3.9 et il a été corrigé en arrière dans l'arborescence 3.8, donc s'il y a une autre version 3.8 (3.8.3) il devrait aussi y être corrigé. Pour plus d'informations: https://gitlab.kitware.com/cmake/cmake/issues/17046#note_289032 – Tal