问题标签 [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.
cmake - CMake & ExternalProject:找不到特定文件
我们的存储库中有一些依赖库。主要部分是用 cmake 构建的。现在 cmake-makefiles 将构建依赖库,它没有 cmake 构建系统。对于一个特定的库,应该使用“Makefile.squirrel”。该库的 cmakelists.txt :
但是,在运行 make 时,我收到一条错误消息:
ls -lA on /home/enrico/projekte/projectname/dependencies/SQUIRREL2/Makefile.squirrel显示文件存在。
硬编码文件路径(不是解决方案的选项)也不起作用。
有什么想法或提示吗?
build - ExternalProject 的 CMake 错误
两天前,我添加了一个外部项目来使用 autotools 编译一个项目。直到今天它都可以正常工作...
我有一个奇怪的错误:
/usr/share/cmake-2.8/Modules/ExternalProject.cmake:710(消息)处的 CMake 错误:错误:没有“libantlr3c”的下载信息——请指定现有的 SOURCE_DIR 或 URL、CVS_REPOSITORY 和 CVS_MODULE、SVN_REPOSITORY 或 DOWNLOAD_COMMAND 之一
并且实际上指定了这些规则之一(SOURCE_DIR):
所以这个错误没有任何意义......昨天它工作得很好(直到现在没有任何改变)。
任何的想法 ?
谢谢!
cmake - CMake - 链接到从 ExternalProject_add() 下载的库
我正在尝试使用 ExternalProject_add() 下载/安装依赖项。它安装得很好,但我不知道下载后如何实际链接库。
我想在刚刚下载的库上调用 target_link_libraries(),但是库的路径会因系统而异。
如果这是系统依赖项,我可以调用 find_package() - 但这些包没有安装在默认搜索路径上。我认为您不能在模块模式下为 find_package 指定搜索路径。
这是我的 CMakeLists.txt 的一个片段,它不起作用:
cmake - CMake ExternalProject_Add() - 使用自定义 CMakeLists.txt 构建
我将 lua 构建为外部项目,我想使用自己的 CMakeLists.txt 而不是捆绑的 Makefile。这就是我的主要 CMakeLists.txt 中的内容:
要使 BUILD 步骤起作用,SOURCE_DIR 中必须有一个 CMakeLists.txt。我现在在 SOURCE_DIR 中有这个 CMakeLists.txt:
这行得通,但我对 lua 源文件弄乱我的版本控制 CMakeLists.txt 感到不高兴。
有没有办法为不在SOURCE_DIR中的构建步骤指定自定义 CMakeLists.txt ?
build - cmake:如何从项目目录中包含/编译文件?
我有这个目录结构:
顶级项目目录不能被认为是顶级项目,而只是不相关项目的集合,所以我不会CMakeLists.txt
在该级别放置文件。
我希望 project1 包含 project2 中的文件而不指定完整路径,例如:
而且我还希望在project1中构建project2的实现文件。
我需要 project2 不是一个库,而只是使用它的文件,就像它们是 project1 的一部分一样。
我正在使用cmake
,这是CMakeLists.txt
我写的文件(它不起作用):
即使指定 project2 的完整路径也不起作用:${CMAKE_CURRENT_SOURCE_DIR)/../../project2/src
我从make
.
cmake - CMake:如何构建外部项目并包含其目标
我有一个将静态库作为目标导出的项目 A:
现在我想将项目 A 用作项目 B 的外部项目并包含其构建目标:
问题是项目B的CMakeLists运行时包含文件还不存在。
有没有办法让包含依赖于正在构建的外部项目?
更新:我根据这个和我遇到的其他常见问题编写了一个简短的CMake by Example 教程。
cmake - ExternalProject_Add 不安装项目的发布配置
编辑:我找到了一个可能的原因,但我不明白为什么:Project(Externals)
删除以下脚本中的最后一行修复了我的问题。那么现在的问题是为什么?
我在上面的 CMakeLists.txt 文件上调用 cmake,并CMAKE_INSTALL_PREFIX
设置为“d:\externals”并CMAKE_BUILD_TYPE
设置为“Release”
期望:
我希望只构建发布配置。在它建成后,我希望它能够安装在D:\externals\bin\zlib.dll
.
问题:
实际上, ExternalProject_Add 构建了一个Debug和一个Release,并将调试版本的 dll 安装在D:\externals\bin\zlibd.dll
我的构建脚本不正确吗?我究竟做错了什么?
编辑:更多信息。我刚注意到。在生成的D:\externals\src\Release\zlib_external-build\zlib.sln中,根本没有选择INSTALL目标来构建。如果我检查它以构建发布配置,然后从 Visual Studio 中点击“构建”,则 INSTALL 目标将构建并安装我期望它们的文件。我不知道是怎么回事...
cmake - 如何以跨平台方式使用 CMake ExternalProject_Add 或替代方案?
我想构建一个第三方项目,该项目已经将 CMake 作为我项目的 CMake 条的一部分。ExternalProject_Add 就是为此目的,但我发现它只能用于特定的生成器,并且我希望它可以轻松地在许多平台上工作。
例如,这是我的外部项目,其中添加了 zlib 脚本,它有自己的 CMakeLists.txt:
问题在于它适用于 make,但不适用于 Xcode 或 Visual Studio。也许有一些方法可以将 CMake 构建命令传递给我的项目并将它们转发给 ExternalProject_Add。
如何以最小的代码复杂性以跨平台方式编写 ExternalProject_Add 调用,还是有更好的选择?
c++ - ExternalProject_Add 的奇怪行为与包含空格的命令
我需要使用 编译 boost 库ExternalProject_Add
,并且构建命令需要使用 Clang 在 MacOS 平台上使用 c++11 标志。
该命令应如下所示:
但我对引号和空格有疑问。
该${BOOST_TOOL_SET}
值是一个列表,并且cxxflags="-std=c++11
-stdlib=libc++"
是其中的一项。生成的命令行变得奇怪:
当 CMake 检测到参数内的空格并用引号将其包裹时,似乎该标志是由 CMake 翻译的,但这不是我想要的。
我在互联网上搜索,但没有找到任何帮助。关于这个问题有什么提示吗?
c++ - CMake ExternalProject_Add() 和 FindPackage()
是否有适当的方法来查找使用FindPackage()
构建的库(通过)ExternalProject_Add()
?
问题是 CMake 在 CMake 时找不到库,因为外部库是在编译时构建的。我知道在超级构建中构建库和项目时可以结合这两个 CMake 函数,但我想在普通的 CMake 项目中使用它。
事实上,我想构建 VTK 6并在我的 CMake 项目中ExternalProject_Add
找到它。FindPackage