Repository navigation
Expand file tree
/
Copy pathbuild_cefpython.bat
More file actions
61 lines (52 loc) · 2.69 KB
/
Copy pathbuild_cefpython.bat
File metadata and controls
61 lines (52 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@echo off
SETLOCAL
REM ============================================================
REM cefpython Windows x64 一键编译打包脚本
REM 流程:VC环境 -> 编 libcef_dll_wrapper(/MD) -> 复制.lib
REM -> build.py -> 造扁平 bin/ -> make_installer -> 归档 wheel
REM 用法:直接双击 / 命令行运行本文件即可(约 10~20 分钟首次)
REM 前提:已按 cefpython_win64_build.md 完成解压 + 改 CMakeLists 排 test 源
REM ============================================================
SET BUILD_BASE="build\cef_binary_123.0.13+gfc703fb+chromium-123.0.6312.124_windows64"
SET WRAP=%BUILD_BASE%\build_wrapper_MD_VS2022
SET BASE=.
SET PY=%BASE%\venv\Scripts\python.exe
SET LOG=%BASE%\build_cefpython.log
SET PATH="D:\Android\SDK\cmake\4.1.2\bin;%PATH%"
echo [%TIME%] === [1/6] VC build environment === >> "%LOG%"
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 >> "%LOG%" 2>&1
where cl.exe cmake ninja >> "%LOG%" 2>&1
echo [%TIME%] === [2/6] configure + build libcef_dll_wrapper (/MD) === >> "%LOG%"
if not exist "%WRAP%" mkdir "%WRAP%"
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCEF_RUNTIME_LIBRARY_FLAG=/MD -B "%WRAP%" -S "%BASE%" >> "%LOG%" 2>&1
if errorlevel 1 (echo CMAKE FAILED >> "%LOG%" & goto :fail)
cmake --build "%WRAP%" --target libcef_dll_wrapper -j 8 >> "%LOG%" 2>&1
if errorlevel 1 (echo WRAPPER BUILD FAILED >> "%LOG%" & goto :fail)
echo [%TIME%] === [3/6] copy .lib into lib/ === >> "%LOG%"
if not exist "%BASE%\lib" mkdir "%BASE%\lib"
copy /Y "%BASE%\Release\libcef.lib" "%BASE%\lib\libcef.lib" >> "%LOG%" 2>&1
copy /Y "%WRAP%\libcef_dll_wrapper\libcef_dll_wrapper.lib" "%BASE%\lib\libcef_dll_wrapper_MD.lib" >> "%LOG%" 2>&1
echo [%TIME%] === [4/6] build.py 123.0 (compile cefpython module) === >> "%LOG%"
cd /d "%CLAW%"
"%PY%" "%CLAW%\cefpython\tools\build.py" 123.0 >> "%LOG%" 2>&1
if errorlevel 1 (echo BUILD.PY FAILED >> "%LOG%" & goto :fail)
echo [%TIME%] === [5/6] build flat bin/ (CEF runtime + resources) === >> "%LOG%"
"%PY%" "%~dp0make_bin_flat.py" >> "%LOG%" 2>&1
if errorlevel 1 (echo MAKE_BIN FAILED >> "%LOG%" & goto :fail)
echo [%TIME%] === [6/6] make_installer -> wheel === >> "%LOG%"
cd /d "%BASE%"
"%PY%" "%CLAW%\cefpython\tools\make_installer.py" --version 123.0 --wheel --python-tag cp312 >> "%LOG%" 2>&1
if errorlevel 1 (echo MAKE_INSTALLER FAILED >> "%LOG%" & goto :fail)
echo [%TIME%] === copy wheel to wheelhouse === >> "%LOG%"
if not exist "%BASE%\wheelhouse" mkdir "%BASE%\wheelhouse"
for /f "delims=" %%w in ('dir /b /s "%BASE%\cefpython3_123.0_win64\dist\*.whl"') do (
copy /Y "%%w" "%BASE%\wheelhouse\" >> "%LOG%" 2>&1
)
echo [%TIME%] === ALL DONE === >> "%LOG%"
echo.
echo ALL DONE. See %LOG%
goto :eof
:fail
echo.
echo !!! BUILD FAILED -- see %LOG%
exit /b 1