更新:事实证明,该问题与Jenkins代理无关,而与CMake有关。它可以从命令行轻松复制。 以前曾在这里报道过: CMake cannot follow symlinks on Windows 10 但是,此问题与操作系统无关。我们也在Linux上遇到过它。
我正在调试以下错误:
CMake Error at C:/jenkins/trial/workspace/WWB6-6.13.0/wwb-Pilot_Build_BB/wwb6/build/cmake_install.cmake:48 (file):
file INSTALL cannot read symlink
"C:/jenkins/trial/workspace/WWB6-6.13.0/wwb6-Build-Pilot-Windows/wwb6/wwb6/HelpFiles"
to duplicate at
"C:/jenkins/trial/workspace/WWB6-6.13.0/wwb6-Build-Pilot-Windows/wwb6/build/_CPack_Packages/win64/NSIS/WWB6 Setup/./Help".
make文件中的相关行是:
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/./Help" TYPE DIRECTORY FILES "C:/jenkins/trial/workspace/WWB6-6.13.0/wwb-Pilot_Build_BB/wwb6/wwb6/HelpFiles/")
目的是将HelpFiles目录的内容复制到工作空间中的新目录“ Help”中。在这种情况下,HelpFiles目录是到源存储库中另一个目录的符号链接:
Directory of C:\jenkins\trial\workspace\WWB6-6.13.0\wwb6-Build-Pilot-Windows\wwb6\wwb6
05/17/2019 03:09 PM <SYMLINKD> HelpFiles [..\helpwwb6]
从命令行遍历此符号链接可以正常工作:
C:\jenkins\trial\workspace\WWB6-6.13.0\wwb6-Build-Pilot-Windows\wwb6\wwb6>cd HelpFiles
C:\jenkins\trial\workspace\WWB6-6.13.0\wwb6-Build-Pilot-Windows\wwb6\wwb6\HelpFiles>
有人知道解决此问题的方法吗?我们正在运行的CMake版本是3.12.0。
答案 0 :(得分:0)
幸运的是,有一个简单的解决方法(尽管不是很优雅):用CMakeLists文件中的实际路径替换符号链接:
install ( DIRECTORY ${CMAKE_SOURCE_DIR}/../helpwwb6/
DESTINATION ${BINARY_INSTALL_LOCATION}/Help
COMPONENT Runtime
PATTERN ".svn" EXCLUDE
PATTERN ".git" EXCLUDE
)
宁愿看到CMake与符号链接一起工作。