| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- :: windows-msvc-ninja.bat
- :: Windows MSVC - 通用 Windows 平台 MSVC 构建方案
- :: 此文件需以 GBK 方案保存,并在 PowerShell 中运行
- @echo off
- :: 预固化配置
- set builddir=build/windows-universal
- set installdir=%builddir%/install
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: ::
- :: !!! 定制: 指向用于构建时引用的 MSVC Qt 库位置!!! ::
- set QT_MSVC_PREFIX_DIR=C:\Qt\Qt5.14.2\5.14.2\msvc2017_64
- :: set QT_MSVC_PREFIX_DIR=C:\Qt\Qt6.4.2\6.4.2\msvc2019_64
- :: ::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: 构建选项预定义
- set CMAKE_OPTIONS=
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -G Ninja
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_PREFIX_PATH=%QT_MSVC_PREFIX_DIR%
- @REM set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=Debug
- @REM set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_WINDOWS_UNIVERSAL=ON
- @REM set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DWINDOWS_DEPLOY_QT=ON
- @REM set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DWINDOWS_DEPLOY_QT5=ON
- @REM set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DWINDOWS_DEPLOY_QT6=ON
- @REM set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_QT6=ON
- :: 在配置时 installdir 表示将要安装的路径
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX=%installdir%
- :: --------------------------------------------------- ::
- :: 检查可用配置接收参数
- if "%1" == "run" (
- :: 此处 \ 与 / 相反
- build\windows-universal\windows-deployqt\Notepad--.app\bin\Notepad--.exe
- goto :finish
- )
- :: --------------------------------------------------- ::
- @echo ---- 即将构建 Notepad-- 项目 ----
- :: 1. 询问构建的类型
- @echo 1. 构建 Debug(默认), 2. 构建 Release
- set /p chose="请输入序号: "
- if "%chose%" == "2" (
- set CMAKE_BUILD_TYPE=Relase
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=Relase
- ) else (
- set CMAKE_BUILD_TYPE=Debug
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=Debug
- )
- :: 2. 询问 QSci 构建的类型
- @echo ---- 是否指定 QScint 构建为动态库? 默认(OFF) ----
- set /p useshare=输入(on):
- if "%useshare%" == "on" (
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNOTEPAD_BUILD_BY_SHARED=ON
- )
- :: 3. 询问配置 USE_WINDOWS_UNIVERSAL
- @echo ---- 是否配置 USE_WINDOWS_UNIVERSAL? 默认(ON) ----
- set /p universal=输入(n):
- if not "%universal%" == "n" (
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_WINDOWS_UNIVERSAL=ON
- )
- :: 4. 询问配置 WINDOWS_DEPLOY_QT
- @echo ---- 是否配置 WINDOWS_DEPLOY_QT? 默认(ON) ----
- set /p deployqt=输入(n):
- if not "%deployqt%" == "n" (
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DWINDOWS_DEPLOY_QT=ON
- )
- :: 5. 询问配置 WINDOWS_DEPLOY_QT5 或 WINDOWS_DEPLOY_QT6 USE_QT6
- @echo ---- 是否配置 WINDOWS_DEPLOY_QT5 版本? 默认(5,可选6) ----
- set /p deployqt5=输入(6):
- if not "%deployqt5%" == "6" (
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DWINDOWS_DEPLOY_QT5=ON
- ) else (
- set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DWINDOWS_DEPLOY_QT6=ON -DUSE_QT6=ON
- )
- :: ------------------------------------------------------------------- ::
- @echo ----------------------- 构建前配置预览 ---------------------------
- @echo "cmake -B%builddir% %CMAKE_OPTIONS% ."
- @echo "cmake --build %builddir% --config %CMAKE_BUILD_TYPE%" --target opencc_git
- @echo "cmake --build %builddir% --config %CMAKE_BUILD_TYPE%"
- @echo "cmake --install %builddir% --prefix %installdir%"
- :: ------------------------------------------------------------------- ::
- :: 构建前配置 - 寻找硬盘中的 msvc 环境配置
- @echo ---- 寻找硬盘中的 msvc 环境配置 ----
- set vcvars=
- for %%d in ( "C:\Program Files\Microsoft Visual Studio" C: D: E: F: G: H:) do (
- if exist %%d (
- @echo 正在查找硬盘 %%d 中的 VC 配置环境...
- pushd %%d\
- for /r %%p in (*vcvars64.bat) do (
- @echo 发现配置文件: %%p
- set vcvars=%%p
- popd
- goto :set_vcvars
- )
- popd
- )
- )
- :set_vcvars
- if "%vcvars%" == "" (
- @echo "could not found vcvars64.bat file"
- goto :finish
- ) else (
- @echo "config MSVC environment..."
- call "%vcvars%" amd64
- )
- :: 正式对项目进行配置、构建、安装、部署
- @echo ------------ 准备构建 ------------
- cmake -B%builddir% %CMAKE_OPTIONS% .
- cmake --build %builddir% --config %CMAKE_BUILD_TYPE% --target opencc_git
- cmake --build %builddir% --config %CMAKE_BUILD_TYPE%
- cmake --install %builddir% --prefix %installdir%
- :: 不再使用的部分,由 install 自动配置的 windeployqt 已经配置
- @REM cmake --build %builddir% --target windows-deployqt
- goto :finish
- :: 正常或异常退出的定位
- :finish
- pause
- :: 本配置模板可在 cmd 命令行 或 Powershell 中运行
- :: 本配置模板复制到项目根目录,并定制,可在 Windows 中双击运行
- :: 本配置可
|