我面临以下问题:我尝试使用CMake
函数FetchContent_Declare
来获取Qt
C++库,特别是版本6.4.2。我正在遵循这个网站的指南,其中解释了如何从源代码构建Qt,如果在没有CMake
的情况下“手工”执行,它会工作得很好;但是如果我想将它与FetchContent_Declare
合并,从编译之前开始就变得困难了,正如你可以从链接中看到的,我需要运行初始化命令:
perl init-repository
和配置一(构建前):
mkdir qt6-build
cd qt6-build
../qt6/configure
如何将这两个步骤合并到CMake的获取内容部分?
我现在的CMake
脚本是:
include( FetchContent )
FetchContent_Declare(
Qt6
GIT_REPOSITORY "https://github.com/qt/qt5"
GIT_TAG v6.4.2
CONFIGURE_COMMAND "perl init-repository && ./configure"
)
FetchContent_MakeAvailable( Qt6 )
但它似乎不正确工作:
CMake Error at /usr/share/cmake-3.22/Modules/FetchContent.cmake:1087 (message):
Build step for qt6 failed: 2
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FetchContent.cmake:1216:EVAL:2 (__FetchContent_directPopulate)
/usr/share/cmake-3.22/Modules/FetchContent.cmake:1216 (cmake_language)
/usr/share/cmake-3.22/Modules/FetchContent.cmake:1259 (FetchContent_Populate)
deps/qt6/CMakeLists.txt:19 (FetchContent_MakeAvailable)
我还需要一种方法,如果可能的话,在通过FetchContent_Declare
配置和安装库时不询问GitHube用户名和密码。
1条答案
按热度按时间dnph8jn41#
我终于找到解决办法了!这个
CMakeLists.txt
完美地用于这个目的:这一切都是很好的评论,所以希望这可以对其他人有用。