Skip to content

Commit

Permalink
fix build windows
Browse files Browse the repository at this point in the history
optimise building time (no deps)
  • Loading branch information
supermerill committed Apr 30, 2024
1 parent 3a04445 commit 20dc6a2
Show file tree
Hide file tree
Showing 4 changed files with 217 additions and 64 deletions.
33 changes: 9 additions & 24 deletions .github/workflows/ccpp_win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,9 @@ on:
- debug_win

jobs:
build_dep:
runs-on: windows-2019

steps:
- uses: actions/checkout@v3
- uses: ilammy/msvc-dev-cmd@v1
- name: mkdir in deps
run: mkdir deps/build
- name: cmake and make deps
working-directory: ./deps/build
run: |
cmake .. -G "Visual Studio 16 2019" -A x64
msbuild /m ALL_BUILD.vcxproj
- name: Upload artifact
uses: actions/[email protected]
with:
name: deps_win
path: ./deps/build/destdir/

build:
runs-on: windows-2019
needs: build_dep

steps:
- uses: actions/checkout@v1
Expand All @@ -42,13 +23,17 @@ jobs:
shell: powershell
run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("_" + [datetime]::Today.ToString("yyyy-MM-dd"))} | Set-Content version.inc
- run: mkdir deps/destdir
- name: download deps
uses: actions/download-artifact@v1
with:
name: deps_win
path: deps/destdir
- name: copy deps
working-directory: ./deps/destdir
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/deps_25/deps_win.zip", "deps_win.zip")'
- name: unzip deps
working-directory: ./deps/destdir
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x deps_win.zip'
- run: dir deps
- run: dir deps/destdir
- run: dir deps/destdir/usr
- run: mkdir msgfmt_bin
- name: copy gettext
working-directory: ./msgfmt_bin
Expand Down
69 changes: 63 additions & 6 deletions .github/workflows/ccpp_win_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,55 @@ on:
- debug_win

jobs:

build_pot:
runs-on: windows-2019

steps:
- uses: actions/checkout@v1
- uses: ilammy/msvc-dev-cmd@v1
- name: update submodule profiles
working-directory: ./resources/profiles
run: git submodule update --init
- run: mkdir deps/destdir
- name: copy deps
working-directory: ./deps/destdir
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/deps_25/deps_win.zip", "deps_win.zip")'
- name: unzip deps
working-directory: ./deps/destdir
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x deps_win.zip'
- run: dir deps
- run: dir deps/destdir
- run: dir deps/destdir/usr
- run: mkdir msgfmt_bin
- name: copy gettext
working-directory: ./msgfmt_bin
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/gettext/gettext-tools-static-0.18.1.1.zip", "gettext.zip")'
- name: unzip
working-directory: ./msgfmt_bin
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x gettext.zip'
- name: add msgfmt to path
shell: powershell
working-directory: msgfmt_bin
run: echo "$pwd;" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
- name: make .mo
working-directory: ./build
run: msbuild /m /P:Configuration=RelWithDebInfo gettext_po_to_mo.vcxproj
- name: make .pot
working-directory: ./build
run: msbuild /m /P:Configuration=RelWithDebInfo gettext_make_pot.vcxproj

build_dep:
runs-on: windows-2019
needs: build_pot

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -47,12 +94,22 @@ jobs:
with:
name: deps_win
path: deps/destdir
- name: echo dir deps
run: dir deps
- name: echo dir deps destdir
run: dir deps/destdir
- name: mkdir
run: mkdir build
- run: dir deps
- run: dir deps/destdir
- run: mkdir msgfmt_bin
- name: copy gettext
working-directory: ./msgfmt_bin
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/gettext/gettext-tools-static-0.18.1.1.zip", "gettext.zip")'
- name: unzip
working-directory: ./msgfmt_bin
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x gettext.zip'
- name: add msgfmt to path
shell: powershell
working-directory: msgfmt_bin
run: echo "$pwd;" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
Expand Down
118 changes: 118 additions & 0 deletions .github/workflows/ccpp_win_deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
name: C/C++ dep build windows x64

on:
push:
branches:
- debug_win

jobs:
build_dep:
runs-on: windows-2019

steps:
- uses: actions/checkout@v3
- uses: ilammy/msvc-dev-cmd@v1
- name: mkdir in deps
run: mkdir deps/build
- name: cmake and make deps
working-directory: ./deps/build
run: |
cmake .. -G "Visual Studio 16 2019" -A x64
msbuild /m ALL_BUILD.vcxproj
- name: Upload artifact
uses: actions/[email protected]
with:
name: deps_win
path: ./deps/build/destdir/

build:
runs-on: windows-2019
needs: build_dep

steps:
- uses: actions/checkout@v1
- uses: ilammy/msvc-dev-cmd@v1
- name: update submodule profiles
working-directory: ./resources/profiles
run: git submodule update --init
- name: change date in version
shell: powershell
run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("_" + [datetime]::Today.ToString("yyyy-MM-dd"))} | Set-Content version.inc
- run: mkdir deps/destdir
- name: download deps
uses: actions/download-artifact@v1
with:
name: deps_win
path: deps/destdir
- run: dir deps
- run: dir deps/destdir
- run: mkdir msgfmt_bin
- name: copy gettext
working-directory: ./msgfmt_bin
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/gettext/gettext-tools-static-0.18.1.1.zip", "gettext.zip")'
- name: unzip
working-directory: ./msgfmt_bin
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x gettext.zip'
- name: add msgfmt to path
shell: powershell
working-directory: msgfmt_bin
run: echo "$pwd;" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
- name: make
working-directory: ./build
run: msbuild /m /P:Configuration=RelWithDebInfo INSTALL.vcxproj
- name: make .mo
working-directory: ./build
run: msbuild /m /P:Configuration=RelWithDebInfo gettext_po_to_mo.vcxproj
- name: make .pot
working-directory: ./build
run: msbuild /m /P:Configuration=RelWithDebInfo gettext_make_pot.vcxproj
- name: create directory and copy into it
working-directory: ./build
run: ls
- name: create directory and copy into it
working-directory: ./build
shell: powershell
#todo: add the opengl folder
run: mkdir package
- name: copy from release
working-directory: ./build
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/1.75/Slic3r_win_build.zip", "Slic3r_win_build.zip")'
- name: unzip
working-directory: ./build
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x Slic3r_win_build.zip'
- name: copy missing dll content from old release
working-directory: ./build
shell: cmd
run: |
xcopy /RCYIE Slic3r_win_build\*.dll package\
xcopy /RCYIE Slic3r_win_build\local-settings.bat package\${{ github.event.repository.name }}_local-settings.bat
xcopy /RCYIE Slic3r_win_build\mesa package\
- name: copy new resources
working-directory: ./build
shell: cmd
run: xcopy /RCYIE ..\resources package\resources
- name: copy dll & exe
working-directory: ./build
shell: cmd
run: |
xcopy /RCYIE src\RelWithDebInfo\*.dll package\
xcopy /RCYIE src\RelWithDebInfo\*.exe package\
xcopy /RCYIE c:\windows\system32\VCRUNTIME140* package\
del package\opengl32.dll
# - name: create zip
# working-directory: ./build
# shell: cmd
# run: '"C:/Program Files/7-Zip/7z.exe" a -tzip nightly.zip *'
- name: Upload artifact
uses: actions/[email protected]
with:
name: nightly_win64
path: build/package/
61 changes: 27 additions & 34 deletions .github/workflows/ccpp_win_rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,12 @@ on:
push:
branches:
- rc
- debug_win

jobs:
build_dep:
runs-on: windows-2019

steps:
- uses: actions/checkout@v2
with:
ref: 'rc'
- uses: ilammy/msvc-dev-cmd@v1
- name: mkdir in deps
run: mkdir deps/build
- name: cmake and make deps
working-directory: ./deps/build
run: |
cmake .. -G "Visual Studio 16 2019" -A x64
msbuild /m ALL_BUILD.vcxproj
- name: Upload artifact
uses: actions/[email protected]
with:
name: deps_win
path: ./deps/build/destdir/

build:
runs-on: windows-2019
needs: build_dep

steps:
- uses: actions/checkout@v1
Expand All @@ -40,19 +20,32 @@ jobs:
- name: change date in version
shell: powershell
run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("")} | Set-Content version.inc
- name: mkdir in deps directory
run: mkdir deps/destdir
- name: download deps
uses: actions/download-artifact@v1
with:
name: deps_win
path: deps/destdir
- name: echo dir deps
run: dir deps
- name: echo dir deps destdir
run: dir deps/destdir
- name: mkdir
run: mkdir build
- run: mkdir deps/destdir
- name: copy deps
working-directory: ./deps/destdir
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/deps_25/deps_win.zip", "deps_win.zip")'
- name: unzip deps
working-directory: ./deps/destdir
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x deps_win.zip'
- run: dir deps
- run: dir deps/destdir
- run: dir deps/destdir/usr
- run: mkdir msgfmt_bin
- name: copy gettext
working-directory: ./msgfmt_bin
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/gettext/gettext-tools-static-0.18.1.1.zip", "gettext.zip")'
- name: unzip
working-directory: ./msgfmt_bin
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x gettext.zip'
- name: add msgfmt to path
shell: powershell
working-directory: msgfmt_bin
run: echo "$pwd;" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- run: mkdir build
- name: cmake
working-directory: ./build
run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local"
Expand Down

0 comments on commit 20dc6a2

Please sign in to comment.