diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml
index ffee1965..1297de86 100644
--- a/.github/workflows/build_windows.yml
+++ b/.github/workflows/build_windows.yml
@@ -3,6 +3,8 @@ name: Build CCExtractor on Windows
env:
RUSTFLAGS: -Ctarget-feature=+crt-static
VCPKG_DEFAULT_TRIPLET: x64-windows-static
+ VCPKG_DEFAULT_BINARY_CACHE: C:\vcpkg\.cache
+ VCPKG_COMMIT: fba75d09065fcc76a25dcf386b1d00d33f5175af
on:
workflow_dispatch:
@@ -22,36 +24,45 @@ on:
jobs:
build_release:
- runs-on: windows-2019
+ runs-on: windows-2022
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup MSBuild.exe
- uses: microsoft/setup-msbuild@v2.0.0
- - name: Install llvm and clang
- run: choco install llvm gpac
+ uses: microsoft/setup-msbuild@v1.3.1
+ with:
+ msbuild-architecture: x64
+ - name: Install gpac
+ run: choco install gpac --version 2.4.0
+ - name: Setup vcpkg
+ run: mkdir C:\vcpkg\.cache
+ - name: Cache vcpkg
+ id: cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ C:\vcpkg\.cache
+ key: vcpkg-${{ runner.os }}-${{ env.VCPKG_COMMIT }}
+ - name: Build vcpkg
+ run: |
+ git clone https://github.com/microsoft/vcpkg
+ ./vcpkg/bootstrap-vcpkg.bat
+ - name: Install dependencies
+ run: ${{ github.workspace }}/vcpkg/vcpkg.exe install --x-install-root ${{ github.workspace }}/vcpkg/installed/
+ working-directory: windows
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install Win 10 SDK
uses: ilammy/msvc-dev-cmd@v1
- - name: Setup Vcpkg
- id: vcpkg
- uses: friendlyanon/setup-vcpkg@v1
- with:
- committish: "2023.08.09"
- cache-version: "3"
- ignore-reserve-cache-error: true
- - name: Install dependencies
- run: cd vcpkg && vcpkg integrate install && vcpkg install leptonica tesseract ffmpeg --triplet x64-windows-static
- name: build Release-Full
env:
LIBCLANG_PATH: "C:\\Program Files\\LLVM\\lib"
LLVM_CONFIG_PATH: "C:\\Program Files\\LLVM\\bin\\llvm-config"
CARGO_TARGET_DIR: "..\\..\\windows"
BINDGEN_EXTRA_CLANG_ARGS: -fmsc-version=0
- VCPKG_ROOT: ${{ github.workspace }}\vcpkg
+ VCPKG_ROOT: ${{ github.workspace }}/vcpkg
run: msbuild ccextractor.sln /p:Configuration=Release-Full /p:Platform=x64
working-directory: ./windows
- name: Display version information
@@ -64,23 +75,32 @@ jobs:
./windows/x64/Release-Full/ccextractorwinfull.exe
./windows/x64/Release-Full/*.dll
build_debug:
- runs-on: windows-2019
+ runs-on: windows-2022
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup MSBuild.exe
- uses: microsoft/setup-msbuild@v2.0.0
- - name: Install llvm and clang
- run: choco install llvm gpac
- - name: Setup Vcpkg
- id: vcpkg
- uses: friendlyanon/setup-vcpkg@v1
+ uses: microsoft/setup-msbuild@v1.3.1
with:
- committish: "2023.08.09"
- cache-version: "3"
- ignore-reserve-cache-error: true
+ msbuild-architecture: x64
+ - name: Install gpac
+ run: choco install gpac --version 2.4.0
+ - name: Setup vcpkg
+ run: mkdir C:\vcpkg\.cache
+ - name: Cache vcpkg
+ id: cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ C:\vcpkg\.cache
+ key: vcpkg-${{ runner.os }}-${{ env.VCPKG_COMMIT }}
+ - name: Build vcpkg
+ run: |
+ git clone https://github.com/microsoft/vcpkg
+ ./vcpkg/bootstrap-vcpkg.bat
- name: Install dependencies
- run: cd vcpkg && vcpkg integrate install && vcpkg install leptonica tesseract ffmpeg --triplet x64-windows-static
+ run: ${{ github.workspace }}/vcpkg/vcpkg.exe install --x-install-root ${{ github.workspace }}/vcpkg/installed/
+ working-directory: windows
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
@@ -93,10 +113,11 @@ jobs:
LLVM_CONFIG_PATH: "C:\\Program Files\\LLVM\\bin\\llvm-config"
CARGO_TARGET_DIR: "..\\..\\windows"
BINDGEN_EXTRA_CLANG_ARGS: -fmsc-version=0
- VCPKG_ROOT: ${{ github.workspace }}\vcpkg
+ VCPKG_ROOT: ${{ github.workspace }}/vcpkg
run: msbuild ccextractor.sln /p:Configuration=Debug-Full /p:Platform=x64
working-directory: ./windows
- name: Display version information
+ continue-on-error: true
run: ./ccextractorwinfull.exe --version
working-directory: ./windows/x64/Debug-Full
- uses: actions/upload-artifact@v4
diff --git a/windows/.gitignore b/windows/.gitignore
new file mode 100644
index 00000000..6b7a5ab6
--- /dev/null
+++ b/windows/.gitignore
@@ -0,0 +1,2 @@
+ccextractor
+vcpkg_installed
\ No newline at end of file
diff --git a/windows/ccextractor.vcxproj b/windows/ccextractor.vcxproj
index d2190f3c..74f29588 100644
--- a/windows/ccextractor.vcxproj
+++ b/windows/ccextractor.vcxproj
@@ -62,10 +62,8 @@
-
-
+
+
@@ -188,21 +186,26 @@
-
+
{0F0063C4-BCBC-4379-A6D5-84A5669C940A}
ccextractor
Win32Proj
- 10.0.19041.0
+ 10.0.22621.0
+
+
+ true
+ x64-windows-static
+ true
Application
- v142
+ v143
Application
- v142
+ v143
@@ -278,14 +281,14 @@
xcopy /y "$(ProjectDir)\dll\vcruntime140_1.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\libgpac.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\OpenSVCDecoder.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\postproc-56.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\postproc-57.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\swresample-4.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avfilter-8.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\swscale-6.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avdevice-59.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avcodec-59.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avformat-59.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avutil-57.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avfilter-9.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\swscale-7.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avdevice-60.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avcodec-60.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avformat-60.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avutil-58.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\libsslMD.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\libcryptoMD.dll" "$(OutDir)"
@@ -325,14 +328,14 @@
xcopy /y "$(ProjectDir)\dll\vcruntime140_1.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\libgpac.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\OpenSVCDecoder.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\postproc-56.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\postproc-57.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\swresample-4.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avfilter-8.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\swscale-6.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avdevice-59.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avcodec-59.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avformat-59.dll" "$(OutDir)"
- xcopy /y "C:\Program Files\GPAC\avutil-57.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avfilter-9.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\swscale-7.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avdevice-60.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avcodec-60.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avformat-60.dll" "$(OutDir)"
+ xcopy /y "C:\Program Files\GPAC\avutil-58.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\libsslMD.dll" "$(OutDir)"
xcopy /y "C:\Program Files\GPAC\libcryptoMD.dll" "$(OutDir)"
diff --git a/windows/ccextractor.vcxproj.filters b/windows/ccextractor.vcxproj.filters
index 27083f55..8a7029ba 100644
--- a/windows/ccextractor.vcxproj.filters
+++ b/windows/ccextractor.vcxproj.filters
@@ -183,108 +183,6 @@
Header Files\lib_ccx\ccx_encoders
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
Header Files
@@ -300,39 +198,6 @@
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
Header Files
@@ -381,603 +246,379 @@
Header Files
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
-
- Source Files
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_common
-
-
- Source Files\ccx_common
-
-
- Source Files\ccx_common
-
-
- Source Files\ccx_common
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_common
-
Source Files\ccx_decoders
-
- Source Files
-
-
- Source Files
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\ccx_decoders
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files\lib_ccx
-
-
- Source Files
-
-
- Source Files\ccx_encoders
-
-
- Source Files\ccx_encoders
-
Source Files\ccx_decoders
Source Files\ccx_decoders
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
- Source Files\zlib
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
+
Source Files
-
+
Source Files
-
- Header Files\lib_ccx
-
+
\ No newline at end of file
diff --git a/windows/vcpkg.json b/windows/vcpkg.json
new file mode 100644
index 00000000..caef9636
--- /dev/null
+++ b/windows/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "ccextractor",
+ "version": "1.0.0",
+ "dependencies": [
+ "leptonica",
+ "tesseract",
+ "ffmpeg"
+ ],
+ "builtin-baseline": "fba75d09065fcc76a25dcf386b1d00d33f5175af"
+}
\ No newline at end of file