外部プロジェクトを設定して.tgzファイルではないリンクをダウンロードするにはどうすればよいですか?cmake ExternalProject_ URL以外のファイルをダウンロードする方法を追加しますか?
たとえば、Catchは、単一のヘッダー配布であるリリースを提供します。私はgit repoや.tgzのリリースではなく、これをダウンロードしたいと思っています。しかし、私はCMakeにこれをする方法を理解していない。
私のような何かをしたいと思います:
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
)
URLは、URLが圧縮されたtarファイルであることを前提とし、これに失敗しました。私はDOWNLOAD_COMMANDのいろいろなバリエーションを試してみました。
ありがとうございました。それは私が探していたものです。また、LOG_DOWNLOADに関するヒントもありがとうございます。ファイルは正常にダウンロードされていました。しかし、私がLOG_DOWNLOADを無効にするまで、CMakeはダウンロード後に失敗していました。私はCMakeLists 3.8.2を使っていました。だから、もう一度壊れるかもしれないようです。 – Tal
私はこの問題を開けたばかりです:https://gitlab.kitware.com/cmake/cmake/issues/17046。 – Tal
CMake問題のフォローアップ。これはCMake 3.9で修正され、3.8ツリーにバックパッチされているので、別の3.8リリース(3.8.3)があれば、それも修正する必要があります。詳細情報:https://gitlab.kitware.com/cmake/cmake/issues/17046#note_289032 – Tal