3939 submodules : true
4040 fetch-depth : 0
4141
42+ # 1. 通过注册表启用长路径支持
43+ - name : Enable Long Paths
44+ run : |
45+ # 检查当前设置
46+ $current = (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled').LongPathsEnabled
47+ echo "Current LongPathsEnabled: $current"
48+
49+ # 如果未启用,则启用
50+ #if ($current -ne 1) {
51+ # Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
52+ # Restart-Computer -Force # 需要重启,但在 CI 中不推荐
53+ #}
54+
4255 - name : Make directories
4356 run : |
4457 cmake -E make_directory ${{env.BUILD_DIR}}
@@ -58,37 +71,47 @@ jobs:
5871
5972 - name : Build RabbitRemoteControl
6073 working-directory : ${{env.BUILD_DIR}}
61- shell : cmd
6274 env :
6375 RabbitCommon_ROOT : ${{env.SOURCE_DIR}}/RabbitCommon
6476 run : |
65- cmake ${{github.workspace}} ^
66- -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^
67- -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^
68- -DCMARK_SHARED=OFF ^
69- -DCMARK_TESTS=OFF ^
70- -DCMARK_STATIC=ON ^
71- -DWITH_CMARK=OFF ^
72- -DWITH_CMARK_GFM=ON ^
73- -DWITH_WebEngineWidgets=ON ^
74- -DRABBIT_ENABLE_INSTALL_DEPENDENT=ON ^
75- -DRABBIT_ENABLE_INSTALL_QT=ON ^
76- -DRABBIT_ENABLE_INSTALL_TO_BUILD_PATH=ON ^
77- -DCMAKE_BUILD_TYPE=Release ^
78- -DCMAKE_INSTALL_PREFIX=${{env.BUILD_DIR}}/install ^
79- -DCMAKE_PREFIX_PATH=${{env.INSTALL_DIR}} ^
80- -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake ^
81- -DVCPKG_MANIFEST_FEATURES=${{env.VCPKG_MANIFEST_FEATURES}} ^
82- -DVCPKG_VERBOSE=ON ^
83- -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^
84- -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^
85- -DVCPKG_APPLOCAL_DEPS=ON ^
86- -DVCPKG_TRACE_FIND_PACKAGE=ON ^
87- -DVCPKG_MAX_PARALLELISM=2 ^
88- -DBUILD_QUIWidget=OFF ^
89- -DBUILD_APP=ON ^
90- -DBUILD_FREERDP=ON ^
91- -DPCAP_ROOT=${{env.INSTALL_DIR}}/npcap ^
92- -DPacket_ROOT=${{env.INSTALL_DIR}}/npcap ^
77+ # 或者使用替代方法:应用组策略(不需要重启)
78+ # 但对于一次性运行环境,下面用环境变量方式更合适
79+ # 2. 设置环境变量
80+ [Environment]::SetEnvironmentVariable("EnableLongPathBehavior", "1", "Process")
81+ [Environment]::SetEnvironmentVariable("COMPLUS_ForceENC", "1", "Process")
82+
83+ # 启用 git 的长路径支持
84+ git config --global core.longpaths true
85+ # Windows 上的 git 还需要设置
86+ git config --global core.protectNTFS false
87+
88+ cmake ${{github.workspace}} `
89+ -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} `
90+ -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} `
91+ -DCMARK_SHARED=OFF `
92+ -DCMARK_TESTS=OFF `
93+ -DCMARK_STATIC=ON `
94+ -DWITH_CMARK=OFF `
95+ -DWITH_CMARK_GFM=ON `
96+ -DWITH_WebEngineWidgets=ON `
97+ -DRABBIT_ENABLE_INSTALL_DEPENDENT=ON `
98+ -DRABBIT_ENABLE_INSTALL_QT=ON `
99+ -DRABBIT_ENABLE_INSTALL_TO_BUILD_PATH=ON `
100+ -DCMAKE_BUILD_TYPE=Release `
101+ -DCMAKE_INSTALL_PREFIX=${{env.BUILD_DIR}}/install `
102+ -DCMAKE_PREFIX_PATH=${{env.INSTALL_DIR}} `
103+ -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake `
104+ -DVCPKG_MANIFEST_FEATURES=${{env.VCPKG_MANIFEST_FEATURES}} `
105+ -DVCPKG_VERBOSE=ON `
106+ -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} `
107+ -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON `
108+ -DVCPKG_APPLOCAL_DEPS=ON `
109+ -DVCPKG_TRACE_FIND_PACKAGE=ON `
110+ -DVCPKG_MAX_PARALLELISM=2 `
111+ -DBUILD_QUIWidget=OFF `
112+ -DBUILD_APP=ON `
113+ -DBUILD_FREERDP=ON `
114+ -DPCAP_ROOT=${{env.INSTALL_DIR}}/npcap `
115+ -DPacket_ROOT=${{env.INSTALL_DIR}}/npcap `
93116 -DINSTALL_QTKEYCHAIN=ON
94117 cmake --build . --config Release
0 commit comments