diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dbaac8902..52c345d99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,8 +132,6 @@ jobs: os-arch: x86_64 os: windows-latest cmake-gen: Ninja - env: - EXTRACT_TOOL: 7z x name: | ${{ matrix.os-name }} <${{ matrix.compiler-name }}, @@ -169,21 +167,18 @@ jobs: - name: Acquire Dependencies shell: bash + working-directory: ${{ runner.workspace }} run: | - $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/dep-win.7z - $EXTRACT_TOOL dep-win.7z - - - name: Acquire Crashpad - shell: bash - run: | - $DOWNLOAD_TOOL https://olivevideoeditor.org/deps/crashpad-win.7z - $EXTRACT_TOOL crashpad-win.7z + $DOWNLOAD_TOOL https://github.com/olive-editor/dependencies/releases/download/continuous/olive-dep-win32.tar.gz + tar xzf olive-dep-win32.tar.gz - name: Configure CMake shell: bash + env: + DEP_LOCATION: ${{ runner.workspace }}/install working-directory: ${{ runner.workspace }}/build run: | - PATH=$GITHUB_WORKSPACE:$PATH \ + PATH=$DEP_LOCATION:$DEP_LOCATION/crashpad:$PATH \ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -G "${{ matrix.cmake-gen }}" - name: Build @@ -201,6 +196,8 @@ jobs: - name: Create Package working-directory: ${{ runner.workspace }}/build shell: bash + env: + DEP_LOCATION: ${{ runner.workspace }}/install run: | mkdir olive-editor cp app/olive-editor.exe olive-editor @@ -208,9 +205,9 @@ jobs: cp app/olive-editor.pdb olive-editor windeployqt olive-editor/olive-crashhandler.exe windeployqt olive-editor/olive-editor.exe - cp $(cygpath $GITHUB_WORKSPACE)/bin/*.dll olive-editor - cp $(cygpath $GITHUB_WORKSPACE)/out/Default/crashpad_handler.exe olive-editor - cp $(cygpath $GITHUB_WORKSPACE)/breakpad/bin/* olive-editor + cp $(cygpath $DEP_LOCATION)/bin/*.dll olive-editor + cp $(cygpath $DEP_LOCATION)/out/Default/crashpad_handler.exe olive-editor + cp $(cygpath $DEP_LOCATION)/bin/minidump_stackwalk.exe olive-editor - name: Export Crashpad symbols working-directory: ${{ runner.workspace }}/build diff --git a/cmake/FindGoogleCrashpad.cmake b/cmake/FindGoogleCrashpad.cmake index 574e4e8b5..84fea590f 100644 --- a/cmake/FindGoogleCrashpad.cmake +++ b/cmake/FindGoogleCrashpad.cmake @@ -26,6 +26,17 @@ find_path(CRASHPAD_CLIENT_INCLUDE_DIR ) list(APPEND CRASHPAD_INCLUDE_DIRS ${CRASHPAD_CLIENT_INCLUDE_DIR}) +find_path(CRASHPAD_BUILD_INCLUDE_DIR + build/chromeos_buildflags.h + HINTS + "${CRASHPAD_LOCATION}" + "$ENV{CRASHPAD_LOCATION}" + "${CRASHPAD_BASE_DIR}" + PATH_SUFFIXES + "out/Default/gen" +) +list(APPEND CRASHPAD_INCLUDE_DIRS ${CRASHPAD_BUILD_INCLUDE_DIR}) + find_path(CRASHPAD_BASE_INCLUDE_DIR base/files/file_path.h HINTS @@ -89,7 +100,7 @@ HINTS "$ENV{BREAKPAD_LOCATION}" "${BREAKPAD_BASE_DIR}" PATH_SUFFIXES - breakpad/bin + bin ) find_package_handle_standard_args(GoogleCrashpad @@ -98,6 +109,7 @@ find_package_handle_standard_args(GoogleCrashpad CRASHPAD_UTIL_LIB CRASHPAD_BASE_LIB BREAKPAD_BIN_DIR + CRASHPAD_BUILD_INCLUDE_DIR CRASHPAD_CLIENT_INCLUDE_DIR CRASHPAD_BASE_INCLUDE_DIR )