Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github 如何使FindMyPackage.cmake模块返回下载?_Github_Cmake_Dependencies_Building_Buildconfiguration - Fatal编程技术网

Github 如何使FindMyPackage.cmake模块返回下载?

Github 如何使FindMyPackage.cmake模块返回下载?,github,cmake,dependencies,building,buildconfiguration,Github,Cmake,Dependencies,Building,Buildconfiguration,我编写了一个简单的CMake查找模块,用于其他项目。这是相当简单的,它的全文可用。主要有一个find_path()和一个find_library(),然后设置一些变量 现在,我想让CMake在试图找到我的软件包时依靠: git克隆或从其GitHub存储库下载包/库 解包归档文件(如果是下载) 构建包时,可以使用运行的CMake本身(包有自己的CMakeLists.txt),也可以在下载/克隆包的目录中运行任意shell命令 下载后发生的事情的细节对我来说并没有下载后的实际情况那么重要 我该如何做

我编写了一个简单的CMake查找模块,用于其他项目。这是相当简单的,它的全文可用。主要有一个
find_path()
和一个
find_library()
,然后设置一些变量

现在,我想让CMake在试图找到我的软件包时依靠:

  • git克隆或从其GitHub存储库下载包/库
  • 解包归档文件(如果是下载)
  • 构建包时,可以使用运行的CMake本身(包有自己的
    CMakeLists.txt
    ),也可以在下载/克隆包的目录中运行任意shell命令
  • 下载后发生的事情的细节对我来说并没有下载后的实际情况那么重要

    我该如何做到这一点

    注:

    • 当然,如果下载/git克隆失败,那么查找包就失败了
    • 无需担心回购协议的具体版本,尽管如果愿意,您可以这样做

    我经常看到使用
    ExternalProject\u Add()
    之类的工具进行Git集成。你能详细说明一下为什么这不符合你的需要吗?或者仅仅打印一个失败提示(例如如何将您的库集成为Git子模块)就足够了吗?@Florian:啊,好吧,库通常不会安装在任何地方;虽然-也许这可以适应我的工作无论如何。