ошибка cmake: при УСТАНОВКЕ файла не удается найти «АВТОРОВ»: нет ошибки

#c #cmake

#c #cmake

Вопрос:

Я пытаюсь создать этот репозиторий, используя последнюю версию CMake GUI и Visual Studio 2019: https://github.com/cginternals/openll

После сборки и связывания всех зависимостей я не получаю ошибок в CMake, также сборка решения в VS2019 работает без каких-либо проблем, однако при создании цели установки я получаю следующую ошибку:

 Severity    Code    Description Project File    Line    Suppression State
Error   MSB3073 The command "setlocal
"C:Program FilesCMakebincmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal amp; call :cmErrorLevel %errorlevel% amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd" exited with code 1. INSTALL C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets 149 
  

и следующий вывод:

 4>CMake Error at cmake_install.cmake:44 (file):
4>  file INSTALL cannot find
4>  "C:/Users/Johannes/source/repos/CGInternals/openll/ll-opengl/AUTHORS": No
4>  error.
4>
4>
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: The command "setlocal
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: "C:Program FilesCMakebincmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: :cmEnd
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: endlocal amp; call :cmErrorLevel %errorlevel% amp; goto :cmDone
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: :cmErrorLevel
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: exit /b %1
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: :cmDone
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
4>C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160Microsoft.CppCommon.targets(149,5): error MSB3073: :VCEnd" exited with code 1.
4>Done building project "INSTALL.vcxproj" -- FAILED.
========== Rebuild All: 3 succeeded, 1 failed, 0 skipped ==========
  

В моей папке сборки ссылочная часть файла cmake_install.cmake выглядит следующим образом (это строки с 35 по 57):

 if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xruntimex" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE FILE FILES "C:/Users/user/source/repos/CGInternals/openll/ll-opengl/build/VERSION")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevx" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE FILE FILES "C:/Users/user/source/repos/CGInternals/openll/ll-opengl/openll-config.cmake")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xruntimex" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE FILE FILES "C:/Users/user/source/repos/CGInternals/openll/ll-opengl/AUTHORS")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xruntimex" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE FILE FILES "C:/Users/user/source/repos/CGInternals/openll/ll-opengl/LICENSE")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xruntimex" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE FILE FILES "C:/Users/user/source/repos/CGInternals/openll/ll-opengl/README.md")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xruntimex" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "C:/Users/user/source/repos/CGInternals/openll/ll-opengl/data")
endif()
  

Что это значит? Ни в исходном коде, ни в папке сборки нет файла с именем «АВТОРЫ». Как я могу избавиться от этой ошибки?

Комментарии:

1. Поскольку файл cmake описывает АВТОРОВ как мета-файл проекта, и поскольку он соответствует README.md и ЛИЦЕНЗИЯ (которая действительно существует) возможно, лучшим решением было бы создать заполняющую версию этого файла. Вы даже можете указать себя в качестве автора!

2. @john хм, спасибо, я попробую!

3. @john Хорошо, я просто создал пустой файл AUTHORS и добавил его в папки, я также снова получил ту же ошибку с README и ЛИЦЕНЗИЕЙ, которая находится в базовой папке репозиториев, а не в «II-opengl», которую я использовал в качестве исходной папки для CMAKE. Я подозреваю, что это также было общей проблемой, однако мне пришлось выбрать эту папку в качестве источника, поскольку она содержит файлы конфигурации cmake. В любом случае, теперь проект установки построен без ошибок, так что все должно быть хорошо. Еще раз спасибо!