问题标签 [external-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - CMake ExternalProject_add 与子文件夹上的 CMakeLists
我正在尝试使用来自 cmake 的 ExternalProject_Add 命令下载和构建 DevIL,但由于某种原因,git repo 在项目的子文件夹中有 CMakeLists.txt 文件。
我似乎找不到让 ExternalProject_add 在正确文件夹上调用 cmake 的方法。我尝试使用前缀和 source_dir,但它仍然失败。
然后,我在网上看到了一个答案,其中涉及创建一个临时的 CMakeLists.txt,它将调用正确的 cmake 路径。但是由于我不知道如何提供 cmake 调用的路径,这意味着我必须将它放在下载的 git repo 中,后来证明这很痛苦......这是我正在使用的当前命令:包括(“外部项目”)
我尝试像这样对路径进行硬编码(“/src/ThirdParty_DevIL/”部分),但它丑得要命,如果 cmake 决定在将来更改它,它就会中断。此外,由于这实际上是在 git 树中复制文件,cmake 后来抱怨
有没有办法使这个解决方案(创建一个临时的 CMakeListst.txt )工作?或者更好的是,是否有另一种解决方案,只涉及正确配置 ExternalProject_add ?
我对参数、路径等没有任何要求,所以请随意提出任何建议。我怎样才能解决这个问题?谢谢
build - 避免额外的 ExternalProject 下载
假设我有以下具有这些依赖项的项目设置:
这些依赖项在ExternalProjectMainProject
中Dependency_1
处理。
问题是Dependency_2
将被下载两次:Dependency_1
将为自己下载一个副本,并为自己MainProject
下载一个副本。
这并不能实现高效的构建过程,有没有一种方法可以让我Dependency_2
为两个项目下载一次?
有人建议这个问题是这个问题的重复。这个问题与我的略有不同,因为我不能假设这些库将通过 ExternalProject 安装到主机系统。我还想要一个CMake only 解决方案,这个问题不需要。
linux - cmake:如何在外部项目中正确设置变量在 make 之前?
我正在为 pi 项目中需要的库设置交叉编译项目。我想通过最新的 mosquitto 库,我已经弄清楚我需要传递什么才能使其正确构建。不幸的是,当我定义我的 BUILD_COMMAND 时,我似乎无法正确设置变量以在调用之前进行。
这是我的 CMakeLists.txt 中定义的外部项目:
以下是失败步骤的 make 输出:
我发现导致问题的是 LDFLAGS 周围的引号。
如果我手动运行链接命令并删除上面的双引号,它会成功。
如何更好地形成 BUILD_COMMAND 中的参数以摆脱引号?
cmake - ExternalProject_add:有些文件没有用 INSTALL_COMMAND 复制
我们有一个外部项目,我们想使用 ExternalProject_add 使用 cmake 获取。
假设外部项目有一个结构:
我们使用以下方法获取 External_Project:
在此之后,我们要将获取的外部项目移动到另一个位置。所以我们使用
如上所示。
INSTALL_COMMAND 后最终位置的文件最终为:
“myClass.cpp”丢失。为什么??
该命令包括“copy_directory”,但这只是一个被遗漏的文件。
c++ - 使用 cmake 干净地构建代码,添加为外部项目时失败
问题总结。
我有一个使用 CMake 构建的项目 A,它可以干净地编译。
但是,当我使用 CMake 的 ExternalProject_Add 命令将 A 拉入另一个项目 B 时,当它到达构建 A 的点时编译失败。
我得到的那种错误。
编译 B 会出现这样的错误
当它开始编译 A(这又是由 ExternalProject_Add 引入的)时。
请注意,-std=c++11
在所有涉及的 CMakeList.txt 文件中设置。
请注意,我也在使用 ExternalProject_Add 拉取一个谷歌项目,但它不会导致任何问题。
涉及的 CMakeLists.txt 文件中的一些细节。
以下摘录来自 A 的 CMakeLists.txt:
以下来自 B 的 CMakeLists.txt。不同的部分出现在星号 (*) 之后。
c++ - CMake ExternalProject GIT_REPOSITORY 无法取消隐藏更改
我正在尝试使用 CMake v3.7 的 ExternalProject 克隆 GSL git repo,但它失败并出现错误“无法取消存储更改”。有谁知道发生了什么?难道我做错了什么?CMake 或 GSL 做错了吗?
cmake - 如何在 externalproject_add 中设置命令参数
我想创建一个 cmake 脚本来在我的项目中自动构建 zlib。
我添加了
但它会生成如下配置命令:
我认为没有正确引用。
我尝试了很多技巧,但我无法让命令工作。任何想法?
cmake - 未知的 CMake 命令“ExternalProject_Add”
我有以下 CMakeLists.txt 文件:
我想将 json-c 库添加到我的项目中,但是当我运行 cmake 时出现错误:未知的 CMake 命令“ExternalProject_Add”。我的 CMake 版本在 OS X 上是 3.6.2
cmake - cmake 的 ExternalProject_Add:如何设置源、构建和安装目录
我想使用ExternalProject_Add
功能来安装启用 cmake 的项目。我需要控制构建和安装过程。更具体地说,我希望 cmake 在特定目录中构建和安装。
有一个选项可以选择放置源目录的路径:SOURCE_DIR
. 和 有什么等价的BUILD_DIR
吗INSTALL_DIR
?我没有看到任何类似的东西。
有一个PREFIX
选项:
整个项目的根目录
究竟是什么意思?cmake 的 ExternalProject_Add 是如何安装的?
编辑:
这项工作,但我无法控制源目录并且它不安装库:
- 如果我取消注释
SOURCE_DIR
,它不会克隆,GIT_CLONE
而是尝试从中获取源SOURCE_DIR
(它失败了,因为这不是我所期望的......) - 如果我评论
INSTALL_COMMAND ""
,那么它会尝试安装在C:/Program Files/wjelement,默认(显然)而不是INSTALL_DIR
- 源文件的默认路径似乎是
${CMAKE_BINARY_DIR}/wjelement-project-prefix/src
另一个 Stackoverflow 问题报告问题(或至少非直观行为)与INSTALL_DIR
.
cmake - cmake :使用 ExternalProject_Add 并指定输出文件夹
我目前正在使用一个 CMakeLists.txt 文件,该文件将执行外部 CMakeLists.txt(和依赖项)。
为此,我使用 ExternalProject_Add 命令,但我找不到指定生成“.sln”文件的位置的方法。
这是我使用的命令:
所以,我正在寻找一种在此调用中直接指定它的方法。任何想法 ?
我也试过,但没办法: