通过 CMake FetchContent 设置 Qt5

Posted

技术标签:

【中文标题】通过 CMake FetchContent 设置 Qt5【英文标题】:Setup Qt5 via CMake FetchContent 【发布时间】:2019-02-21 17:46:17 【问题描述】:

Im trying to download and setup Qt5 version 5.13 via the CMakeFetchContent` 模块。不幸的是

cmake -G "Visual Studio 15 Win64" ..\mytestapp

通话挂起。命令行输出的最后一行是:

-- Detecting CXX compile features - done

在我的构建目录中,我可以看到带有 qt5-build、qt5-src 和 qt5-subbuild 文件夹的 _deps 文件夹。 qt5-build 文件夹是空的。 qt5-src 和 qt5-subbuild 文件夹都有一些文件和文件夹。

这是我当前用于 Qt 下载和设置的 CMakeLists.txt 文件。

include(FetchContent)

FetchContent_Declare(
  qt5
  GIT_REPOSITORY https://code.qt.io/qt/qt5.git
  GIT_TAG        5.13
)

FetchContent_GetProperties(qt5)
if(NOT qt5_POPULATED)
   FetchContent_Populate(qt5)
  add_subdirectory($qt5_SOURCE_DIR $qt5_BINARY_DIR)
endif()

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)

【问题讨论】:

【参考方案1】:

它在后台克隆 Qt 存储库,大小为 GB。您可能只需要等待更长的时间。

编辑:在我自己尝试之后,https://code.qt.io/qt/qt5.git 没有 cmake 构建脚本,所以你必须执行 ./configure 和其他东西才能真正构建它。可能 FetchContent 不适合这个。

【讨论】:

以上是关于通过 CMake FetchContent 设置 Qt5的主要内容,如果未能解决你的问题,请参考以下文章

如何构建使用 CMake FetchContent 下载的外部库?

为啥 FetchContent 更喜欢子目录包含而不是安装依赖项?

CMake 快速入门

CMake 快速入门

CMake 快速入门

Cmake:对包含方法的未定义引用