我正在使用一系列ExternalPorject_Add来使用CMake静态下载,配置,构建和安装QT5。在配置脚本之前一切顺利。 Qt5配置脚本在静态编译时发出以下警告,之后将忽略构建和安装步骤:
exec "$1" "$2" &!
sleep 1
local pid="$(pidof $2)"
我的最终ExternaProject_Add如下(还有其他方法可以将下载步骤分解为不同的目标):
CUSTOMBUILD : warning : Using static linking will disable the use of plugins.
Make sure you compile ALL needed modules into the library.
是否有任何关于如何让项目忽略警告的想法(警告甚至导致它停止的是什么?)并继续构建和安装步骤?
我目前正在运行Windows(使用跨平台安装程序),并使用带有cmake的visual studio 2013生成器。
谢谢!
答案 0 :(得分:1)
我和你有同样的问题。事实证明它与警告甚至退出代码无关(在这种情况下)。
这是因为 configure 文件是一个批处理文件,而Visual Studio正在另一个批处理文件中执行configure build步骤。
这意味着如果您不在call
前面使用关键字configure
,您将转移到configure.bat
并永远不会返回并执行Visual中的其余步骤Studio配置步骤。
要解决此问题,您可以执行以下操作:
ExternalProject_Add(qt5_build
DOWNLOAD_COMMAND "" UPDATE_COMMAND "" PATCH_COMMAND ""
SOURCE_DIR ${QT5_REPO_PATH}
CONFIGURE_COMMAND call configure.bat ${QT5_CONFIGURE}
BUILD_COMMAND nmake BUILD_IN_SOURCE 1
INSTALL_COMMAND nmake install)
答案 1 :(得分:0)
配置脚本返回非零结果,导致后续步骤失败,即使警告确实是非致命的。我已暂不使用ExternalProject
,只是使用add_custom_target
实现了相同的功能。