多个Cmake_前缀_路径
在我开发的一个项目中,我们使用cmake来编译我们的服务。目前,我们需要从3个不同的位置获取Qt的数据,我很好奇是否有办法在三个单独的位置上运行一个cmake命令 我们目前使用的:多个Cmake_前缀_路径,cmake,Cmake,在我开发的一个项目中,我们使用cmake来编译我们的服务。目前,我们需要从3个不同的位置获取Qt的数据,我很好奇是否有办法在三个单独的位置上运行一个cmake命令 我们目前使用的: 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_P
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 ..
我们已经尝试过三次传递相同的标志,并用
:
和分隔路径
,但似乎没有一个按预期工作。要在CMAKE_PREFIX_PATH
变量中提供多个路径,您需要用分隔每个条目代码>(分号)。因此,您的命令将如下所示:
cmake -DCMAKE_PREFIX_PATH="C:\Qt\5.5\msvc2013\lib\cmake;C:\protobuf\src;C:\protobuf\cmake\build\Release"
要检查所提供的路径是否一切正常,可以在cmake文件中使用以下代码:
foreach(path ${CMAKE_PREFIX_PATH})
message("Path: " ${path})
endforeach(path)
它将打印提供的每个路径。您是否需要在CMAKE\u PREFIX\u path
中输入多个条目,或者我误解了您的意思?如果是这样,请使用-DCMAKE\u PREFIX\u PATH=“C:\Qt\5.5\msvc2013\lib\cmake;C:\protobuf\src;C:\protobuf\cmake\build\Release”
是的,前缀路径需要有多个条目。当我早些时候尝试时,它似乎没有像预期的那样工作,在第一个选项之后结束。我刚刚尝试了它,它按它应该的方式打印:消息(“!!!!!”${CMAKE_PREFIX_PATH})
使用前面提到的字符串运行会产生以下结果:!!!!!!C:\Qt\5.5\msvc2013\lib\cmakeC:\protobuf\srcC:\protobuf\C??make\build\Release
注意第三条路径中的问号。字符串有点不对劲-好像有些unicode字符在Jenkins 2.60.2和CMake 3.9.1中不起作用。CMake-DCMAKE_PREFIX_PATH=/home/Olumide/src/project/Release/install/lib/CMake/home/Olumide/src/project/Release/cmake.
在cmake版本3.19.1中不起作用。(Ubuntu 18.04.5 LTS)