如何在不更改 PATH 的情况下告诉 Cmake Qt 安装目录?

How to tell Cmake about Qt installation dir without changing PATH?

在我的 CMakeLists.txt 中,我有一个如下所示的电话

find_package(Qt5 COMPONENTS Gui)

但要使上述工作正常,Qt 需要像下面那样在 PATH 中设置。

export PATH=$PATH:/Path/To/QtInstallationFolder/5.12.5/clang_64/bin

PATH 中安装 Qt 当然可以,但我不想为我的源代码内置的每台机器更改 PATH。有没有办法告诉 Cmake 我的 Qt 安装文件夹无需更改机器上的 PATH 且无需更改我的项目的 CMakeLists.txt

我试过以下方法:

export CMAKE_PREFIX_PATH=/Path/To/QtInstallationFolder/5.12.5/clang_64/bin
export CMAKE_FRAMEWORK_PATH=/Path/To/QtInstallationFolder/5.12.5/clang_64/bin
export CMAKE_APPBUNDLE_PATH=/Path/To/QtInstallationFolder/5.12.5/clang_64/bin

但是上面没有帮助。

环境:.
macOS Catalina
CMake 版本 3.18.2 Qt 5.12.5

您的 export CMAKE_PREFIX_PATH=... 不起作用的原因是您传递了 bin 子目录而不是安装前缀,正如@vre 已经在评论中指出的那样。

或者,您可以使用 -DQt5_ROOT=/Path/To/QtInstallationFolder/5.12.5/clang_64。我个人更喜欢使用这些特定于包的变量,因为在 CI 构建脚本中,您可以轻松地将它们放在单独的行中,这样就不会变得太长。