Cmake / Msbuild не может построить VCTargetsPath.vcxproj - PullRequest
0 голосов
/ 18 июня 2020

Я обновляю свою машину сборки до Windows 10 (ранее Windows Server 2008), и моя сборка использует Jenkins для запуска cmake, который строится с использованием Visual Studio (msbuild). Он работал на старом компьютере с использованием Visual Studio 2012. Однако на новом компьютере с использованием Visual Studio 2019 (только инструменты сборки, без IDE) он не работает:

CMake Error at CMakeLists.txt:3 (project):

  Failed to run MSBuild command:


  C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/MSBuild.exe


  to get the value of VCTargetsPath:


Microsoft (R) Build Engine version 16.6.0+5ff7b0c9e for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.



Build started 17/06/2020 16:58:51.

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.Cpp.ToolsetLocation.props(52,3): warning MSB4011: "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.Cpp.props" cannot be imported again. It was already imported at "E:\JenkinsMIDEBLD\workspace\btaylor-new_build_node_CYC-268_2\CyclopsInstall\build\polyphemus_build_tmp\CMakeFiles\3.15.4\VCTargetsPath.vcxproj (24,2)". This is most likely a build authoring error. This subsequent import will be ignored. 

Project "E:\JenkinsMIDEBLD\workspace\btaylor-new_build_node_CYC-268_2\CyclopsInstall\build\polyphemus_build_tmp\CMakeFiles\3.15.4\VCTargetsPath.vcxproj" on node 1 (default targets).

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(777,5): error : The OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='x64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [E:\JenkinsMIDEBLD\workspace\btaylor-new_build_node_CYC-268_2\CyclopsInstall\build\polyphemus_build_tmp\CMakeFiles\3.15.4\VCTargetsPath.vcxproj]

Ошибка говорит о том, что комбинация конфигурации и платформа (Debug | x64) могут быть неправильными, но похоже, что они должны быть правильными, потому что это единственная комбинация, присутствующая в файле vcxproj. Это даже не мои настройки сборки, создающие VCTargetsPath.vcxproj, который, кажется, является вспомогательной сборкой, добавленной Visual Studio 2019, потому что кажется, что это так - его нет в моей сборке VS 2012. Если я изменю свою конфигурацию на Debug | x64, это не даст никакого эффекта.

Команда cmake, выполняющая вызов, выглядит так:

set RELEASE_TYPE=Release
%CMAKE_ROOT%\bin\cmake.exe ^
    %POLYPHEMUS_SOURCE% ^
    -DCMAKE_BUILD_TYPE=%RELEASE_TYPE% ^
    -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ^
    -DCMAKE_INSTALL_PREFIX=%INSTALL_PREFIX%/polyphemus ^
    -DBOOST_ROOT=%BOOST_ROOT% ^
    -DBoost_USE_STATIC_LIBS=ON ^
    -DNANOMSG_INCLUDE_PATH=%NANOMSG_ROOT%/build/include/nanomsg ^
    -DNANOMSG_LIB=%NANOMSG_ROOT%/build/lib/nanomsg.lib ^
    -DFLATBUFFERS_INCLUDE_PATH=%FLATBUFFERS_ROOT%/include ^
    -DFLATBUFFERS_SOURCE_PATH=%FLATBUFFERS_ROOT%/src 2>&1 || goto BUILDFAIL

Я пробовал разные вещи (-A x64, настройку Debug configuration, установка компонентов UWP Visual Studio), но пока ничего не работает. Глядя в Интернет, у меня складывается впечатление, что эта проблема возникает только с Visual Studio 2019, поэтому, возможно, я смогу исправить ее, понизив версию, но я бы предпочел использовать самую последнюю версию, если это возможно. мысли?

...