多个Cmake_Prefix_Paths [英] Multiple Cmake_Prefix_Paths
问题描述
在我开发的项目中,我们正在使用cmake来编译我们的服务。当前,我们需要从3个不同的位置获取Qt的数据,我很好奇是否有一种方法可以在三个不同的位置上运行一个cmake命令。
On a project I develop on, we're using cmake to compile our service. Currently, we need to get data for Qt from 3 different locations and I'm curious if there's a way to run one cmake command over three separate ones.
使用:
cmake -G "Visual Studio 12 2013" -DWITH_SERVER=1 -DCMAKE_PREFIX_PATH=C:\Qt\5.5\msvc2013\lib\cmake ..
cmake -G "Visual Studio 12 2013" -DWITH_SERVER=1 -DCMAKE_PREFIX_PATH=C:\protobuf\src ..
cmake -G "Visual Studio 12 2013" -DWITH_SERVER=1 -DCMAKE_PREFIX_PATH=C:\protobuf\cmake\build\Release ..
我们尝试传递相同的标志3次,并使用:
和;
We've attempted to pass the same flag 3 times and separating the paths with :
and ;
, but none seem to work as expected.
推荐答案
在 CMAKE_PREFIX_PATH中提供多个路径> code>变量,您需要用
;
(分号)分隔每个条目。因此您的命令将如下所示:
To provide multiple paths in the CMAKE_PREFIX_PATH
variable you need to delimit each entry by ;
(semicolon). So your command will look like:
cmake -DCMAKE_PREFIX_PATH="C:\Qt\5.5\msvc2013\lib\cmake;C:\protobuf\src;C:\protobuf\cmake\build\Release"
要检查提供的路径是否还可以,请在cmake文件中使用以下代码:
To check if everything alright with the provided paths you can use the following code in the cmake file:
foreach(path ${CMAKE_PREFIX_PATH})
message("Path: " ${path})
endforeach(path)
它将打印提供的每个路径。
It will print every path provided.
这篇关于多个Cmake_Prefix_Paths的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!