jjzjj

ExternalProject

全部标签

windows - ExternalProject_Add CONFIGURE_COMMAND 不能包含双引号

我正在尝试使用CMake在64位Windows上编译和构建OpenSSL。这是代码。set(VS_ENV_SETUP"\"C:\\ProgramFiles(x86)\\MicrosoftVisualStudio10.0\\VC\\vcvarsall.bat\"amd64")set(OPENSSL_CONFIGUREperl\Configure\VC-WIN64A)set(OPENSSL_CONFIGURE${VS_ENV_SETUP}\&&\${OPENSSL_CONFIGURE})set(OPENSSL_MAKEms\\do_win64a\&&\nmake\-f\ms\\ntdll.

c++ - 将 CMake 变量传递给 ExternalProject_Add

我正在使用带有ExternalProject_Add的CMake构建外部库。我使用了答案here生成以下内容(捕获命令行输入到CMake以便将其传递给ExternalProject_Add命令):get_cmake_property(CACHE_VARSCACHE_VARIABLES)foreach(CACHE_VAR${CACHE_VARS})get_property(CACHE_VAR_HELPSTRINGCACHE${CACHE_VAR}PROPERTYHELPSTRING)if(CACHE_VAR_HELPSTRINGSTREQUAL"Nohelp,variablespecif

c++ - CMake:外部项目的依赖

我想知道如何管理外部项目的依赖关系。假设我有三个项目,每个项目都在不同的存储库中:核心:导出大量有用内容的库。Lib1:包含一些特定类的库(取决于Core)。可执行:使用来自Core和Lib1的内容。每个项目及其CMakeLists.txt。使用find_package并在CMake上定义路径,我可以毫无问题地构建每个项目并安装它(我按照thistuto为库构建.cmake文件)现在我正在努力使这个过程尽可能简单,我正在引入ExternalProject_Add宏,这样人们只需克隆Executable存储库并借助CMake文件Lib1和Core也被下载、编译和链接。问题是Executa

c++ - CMake:GLFW 作为外部项目

问题我正在尝试创建一个使用GLFW的项目.对于这个项目,我使用CMake作为构建系统。我想这样做,以便用户只需使用CMake构建我的项目,并且作为该过程的一部分,GLFW将得到构建和适当链接。为此,我将GLFW作为ExternalProject添加到我的CMake文件中:EXTERNALPROJECT_ADD(glfwGIT_REPOSITORYhttps://github.com/glfw/glfw.gitGIT_TAG3.1INSTALL_DIR"${PROJECT_BINARY_DIR}/libs/glfw")但是,当我生成项目(对于VS122013x64)并运行ALL_BUIL

c++ - CMake + 查找包或 checkout 并安装

我刚切换到CMake。但发现它非常有用并实现了一些简单的应用程序和库。我在某处读到可以在cmake脚本中查询git以checkout存储库。我想用我的Find(package).cmake检查包是否存在如果它不存在,我想启动checkout并将新目录作为子目录添加到cmake脚本中。这样我所有的依赖项都会自动安装。有人知道如何实现这个想法吗?谢谢!再见,亚瑟 最佳答案 您可能正在考虑在CMake2.8中添加的ExternalProject模块。它记录在http://www.cmake.org/cmake/help/cmake-2-8

c++ - 如何克隆外部(来自 git)cmake 项目并将其集成到本地项目中

我在尝试使用GoogleTest时遇到了问题。关于如何使用ExternalProject_Add将gtest添加到项目中的手册有很多,但是大多数手册描述了一种基于使用gtest下载zip存档并构建它的方法。众所周知,gtest是github托管和基于cmake的项目。所以我想找到原生的cmake方式。如果这是一个只有标题的项目,我会这样写:cmake_minimum_required(VERSION2.8.8)include(ExternalProject)find_package(GitREQUIRED)ExternalProject_Add(gtestPREFIX${CMAKE_C

c++ - 如何克隆外部(来自 git)cmake 项目并将其集成到本地项目中

我在尝试使用GoogleTest时遇到了问题。关于如何使用ExternalProject_Add将gtest添加到项目中的手册有很多,但是大多数手册描述了一种基于使用gtest下载zip存档并构建它的方法。众所周知,gtest是github托管和基于cmake的项目。所以我想找到原生的cmake方式。如果这是一个只有标题的项目,我会这样写:cmake_minimum_required(VERSION2.8.8)include(ExternalProject)find_package(GitREQUIRED)ExternalProject_Add(gtestPREFIX${CMAKE_C

linux - 将 autogen.sh 与 ExternalProject_Add 结合使用

我尝试在CMakeLists.txt中设置ExternalProject_Add,为此我发现了这个问题:WhatisthecorrectusageofCMakeEXTERNALPROJECT_ADDwithaGitrepository?但是我有一个问题,我不能调用CONFIGURE_COMMANDconfigure,因为我必须调用./autogen.sh来生成configure.ac。我找不到如何让cmake运行./autogen.sh 最佳答案 来自documentation关于ExternalProject:Anybuiltin

linux - 将 autogen.sh 与 ExternalProject_Add 结合使用

我尝试在CMakeLists.txt中设置ExternalProject_Add,为此我发现了这个问题:WhatisthecorrectusageofCMakeEXTERNALPROJECT_ADDwithaGitrepository?但是我有一个问题,我不能调用CONFIGURE_COMMANDconfigure,因为我必须调用./autogen.sh来生成configure.ac。我找不到如何让cmake运行./autogen.sh 最佳答案 来自documentation关于ExternalProject:Anybuiltin

c++ - 如何将 CMake 参数转发到 ExternalProject

我已经(大部分)成功地为googletest设置了ExternalProject_Add。但是,我注意到诸如我选择的C++编译器、构建类型等内容不会自动转发到ExternalProject。我可以通过在对ExternalProject_Add的调用中将其添加到CMAKE_ARGS来轻松添加任何给定标志,如下所示:CMAKE_ARGS-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}但是,这需要我枚举所有应该转发到googletests的CMake调用的可能参数,而且这个列表非常庞大。我还需要为我想要的每个其他ExternalProject_Add
12