多个Cmake_Prefix_Paths [英] Multiple Cmake_Prefix_Paths

查看:752
本文介绍了多个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\c‌​make\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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆