Skip to content

Commit f99c7c8

Browse files
iljukhaputdimkanovikov
authored andcommitted
Fix BugSplat integration
1 parent c204db1 commit f99c7c8

File tree

4 files changed

+97
-35
lines changed

4 files changed

+97
-35
lines changed

.github/workflows/build_starc_linux.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ jobs:
4040
- name: Add info about dev build to the env
4141
shell: bash
4242
run: |
43-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
43+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
44+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
45+
if [ "$DEV_BUILD" -gt "0" ]; then
46+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
47+
else
48+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
49+
fi
4450
4551
- name: Install Qt
4652
uses: jurplel/install-qt-action@v3
@@ -107,7 +113,7 @@ jobs:
107113
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
108114
database: "${{ secrets.BUGSPLAT_DATABASE }}"
109115
application: "starcapp-linux"
110-
version: "${{ env.APP_VERSION }}"
116+
version: "${{ env.BUGSPLAT_VERSION }}"
111117
files: "**/*.so"
112118
directory: "src/_build"
113119
node-version: "22"
@@ -120,7 +126,7 @@ jobs:
120126
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
121127
database: "${{ secrets.BUGSPLAT_DATABASE }}"
122128
application: "starcapp-linux"
123-
version: "${{ env.APP_VERSION }}"
129+
version: "${{ env.BUGSPLAT_VERSION }}"
124130
files: "starcapp"
125131
directory: "src/_build"
126132
node-version: "22"
@@ -177,7 +183,13 @@ jobs:
177183
- name: Add info about dev build to the env
178184
shell: bash
179185
run: |
180-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
186+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
187+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
188+
if [ "$DEV_BUILD" -gt "0" ]; then
189+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
190+
else
191+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
192+
fi
181193
182194
- name: Install Qt
183195
uses: jurplel/install-qt-action@v3
@@ -245,7 +257,7 @@ jobs:
245257
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
246258
database: "${{ secrets.BUGSPLAT_DATABASE }}"
247259
application: "starcapp-linux"
248-
version: "${{ env.APP_VERSION }}"
260+
version: "${{ env.BUGSPLAT_VERSION }}"
249261
files: "**/*.so"
250262
directory: "src/_build"
251263
node-version: "22"
@@ -258,7 +270,7 @@ jobs:
258270
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
259271
database: "${{ secrets.BUGSPLAT_DATABASE }}"
260272
application: "starcapp-linux"
261-
version: "${{ env.APP_VERSION }}"
273+
version: "${{ env.BUGSPLAT_VERSION }}"
262274
files: "starcapp"
263275
directory: "src/_build"
264276
node-version: "22"

.github/workflows/build_starc_mac.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ jobs:
4040
- name: Add info about dev build to the env
4141
shell: bash
4242
run: |
43-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
43+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
44+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
45+
if [ "$DEV_BUILD" -gt "0" ]; then
46+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
47+
else
48+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
49+
fi
4450
4551
- name: Install Qt
4652
uses: jurplel/install-qt-action@v4
@@ -74,7 +80,7 @@ jobs:
7480
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
7581
database: "${{ secrets.BUGSPLAT_DATABASE }}"
7682
application: "starcapp-mac"
77-
version: "${{ env.APP_VERSION }}"
83+
version: "${{ env.BUGSPLAT_VERSION }}"
7884
files: "**/*.dSYM"
7985
directory: "src/_build"
8086
node-version: "22"
@@ -142,7 +148,13 @@ jobs:
142148
- name: Add info about dev build to the env
143149
shell: bash
144150
run: |
145-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
151+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
152+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
153+
if [ "$DEV_BUILD" -gt "0" ]; then
154+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
155+
else
156+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
157+
fi
146158
147159
- name: Install Qt
148160
uses: jurplel/install-qt-action@v4
@@ -177,7 +189,7 @@ jobs:
177189
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
178190
database: "${{ secrets.BUGSPLAT_DATABASE }}"
179191
application: "starcapp-mac"
180-
version: "${{ env.APP_VERSION }}"
192+
version: "${{ env.BUGSPLAT_VERSION }}"
181193
files: "**/*.dSYM"
182194
directory: "src/_build"
183195
node-version: "22"

.github/workflows/build_starc_windows.yml

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ jobs:
4040
- name: Add info about dev build to the env
4141
shell: bash
4242
run: |
43-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
43+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
44+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
45+
if [ "$DEV_BUILD" -gt "0" ]; then
46+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
47+
else
48+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
49+
fi
4450
4551
- name: Install Qt
4652
uses: jurplel/install-qt-action@v3
@@ -109,7 +115,7 @@ jobs:
109115
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
110116
database: "${{ secrets.BUGSPLAT_DATABASE }}"
111117
application: "starcapp-win"
112-
version: ${{env.APP_VERSION}}
118+
version: ${{env.BUGSPLAT_VERSION}}
113119
files: "*.{pdb,exe,dll}"
114120
directory: "src/_build"
115121
node-version: "22"
@@ -122,7 +128,7 @@ jobs:
122128
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
123129
database: "${{ secrets.BUGSPLAT_DATABASE }}"
124130
application: "starcapp-win"
125-
version: ${{env.APP_VERSION}}
131+
version: ${{env.BUGSPLAT_VERSION}}
126132
files: "*.{pdb,dll}"
127133
directory: "src/_build/plugins"
128134
node-version: "22"
@@ -194,7 +200,13 @@ jobs:
194200
- name: Add info about dev build to the env
195201
shell: bash
196202
run: |
197-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
203+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
204+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
205+
if [ "$DEV_BUILD" -gt "0" ]; then
206+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
207+
else
208+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
209+
fi
198210
199211
- name: Install Qt
200212
uses: jurplel/install-qt-action@v3
@@ -261,7 +273,7 @@ jobs:
261273
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
262274
database: "${{ secrets.BUGSPLAT_DATABASE }}"
263275
application: "starcapp-win"
264-
version: ${{env.APP_VERSION}}
276+
version: ${{env.BUGSPLAT_VERSION}}
265277
files: "*.{pdb,exe,dll}"
266278
directory: "src/_build"
267279
node-version: "22"
@@ -274,7 +286,7 @@ jobs:
274286
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
275287
database: "${{ secrets.BUGSPLAT_DATABASE }}"
276288
application: "starcapp-win"
277-
version: ${{env.APP_VERSION}}
289+
version: ${{env.BUGSPLAT_VERSION}}
278290
files: "*.{pdb,dll}"
279291
directory: "src/_build/plugins"
280292
node-version: "22"
@@ -346,7 +358,13 @@ jobs:
346358
- name: Add info about dev build to the env
347359
shell: bash
348360
run: |
349-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
361+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
362+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
363+
if [ "$DEV_BUILD" -gt "0" ]; then
364+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD" >> $GITHUB_ENV
365+
else
366+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}" >> $GITHUB_ENV
367+
fi
350368
351369
- name: Install Qt
352370
uses: jurplel/install-qt-action@v3
@@ -415,7 +433,7 @@ jobs:
415433
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
416434
database: "${{ secrets.BUGSPLAT_DATABASE }}"
417435
application: "starcapp-win"
418-
version: ${{env.APP_VERSION}}
436+
version: ${{env.BUGSPLAT_VERSION}}
419437
files: "*.{pdb,exe,dll}"
420438
directory: "src/_build"
421439
node-version: "22"
@@ -428,7 +446,7 @@ jobs:
428446
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
429447
database: "${{ secrets.BUGSPLAT_DATABASE }}"
430448
application: "starcapp-win"
431-
version: ${{env.APP_VERSION}}
449+
version: ${{env.BUGSPLAT_VERSION}}
432450
files: "*.{pdb,dll}"
433451
directory: "src/_build/plugins"
434452
node-version: "22"

src/core/core.pro

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,46 +47,66 @@ isEmpty(CRASHPAD_ARCH) {
4747
CRASHPAD_ARCH = x64
4848
}
4949

50-
# Определяем путь к объектам crashpad в зависимости от режима сборки
50+
#
51+
# Определяем базовый путь к директории сборки crashpad
5152
# Для macOS universal build используем специальный путь
53+
#
5254
macx:equals(CRASHPAD_ARCH, universal) {
5355
CONFIG(debug, debug|release) {
54-
CRASHPAD_OBJ = $$PWD/../../bin/crashpad/debug_universal/obj
55-
CRASHPAD_GEN = $$PWD/../../bin/crashpad/debug_universal/gen
56+
CRASHPAD_BUILD = $$PWD/../../bin/crashpad/debug_universal
5657
}
5758
CONFIG(release, debug|release) {
58-
CRASHPAD_OBJ = $$PWD/../../bin/crashpad/release_universal/obj
59-
CRASHPAD_GEN = $$PWD/../../bin/crashpad/release_universal/gen
59+
CRASHPAD_BUILD = $$PWD/../../bin/crashpad/release_universal
6060
}
6161
} else {
6262
CONFIG(debug, debug|release) {
63-
CRASHPAD_OBJ = $$PWD/../../bin/crashpad/debug_$${CRASHPAD_ARCH}/obj
64-
CRASHPAD_GEN = $$PWD/../../bin/crashpad/debug_$${CRASHPAD_ARCH}/gen
63+
CRASHPAD_BUILD = $$PWD/../../bin/crashpad/debug_$${CRASHPAD_ARCH}
6564
}
6665
CONFIG(release, debug|release) {
67-
CRASHPAD_OBJ = $$PWD/../../bin/crashpad/release_$${CRASHPAD_ARCH}/obj
68-
CRASHPAD_GEN = $$PWD/../../bin/crashpad/release_$${CRASHPAD_ARCH}/gen
66+
CRASHPAD_BUILD = $$PWD/../../bin/crashpad/release_$${CRASHPAD_ARCH}
6967
}
7068
}
7169

7270
INCLUDEPATH += $$CRASHPAD_SRC
7371
INCLUDEPATH += $$CRASHPAD_SRC/third_party/mini_chromium/mini_chromium
74-
INCLUDEPATH += $$CRASHPAD_GEN
72+
INCLUDEPATH += $$CRASHPAD_BUILD/gen
7573

76-
LIBS += -L$$CRASHPAD_OBJ/client/ -lcommon
77-
LIBS += -L$$CRASHPAD_OBJ/client/ -lclient
78-
LIBS += -L$$CRASHPAD_OBJ/util/ -lutil
79-
LIBS += -L$$CRASHPAD_OBJ/third_party/mini_chromium/mini_chromium/base/ -lbase
74+
LIBS += -L$$CRASHPAD_BUILD/obj/client/ -lcommon
75+
LIBS += -L$$CRASHPAD_BUILD/obj/client/ -lclient
76+
LIBS += -L$$CRASHPAD_BUILD/obj/util/ -lutil
77+
LIBS += -L$$CRASHPAD_BUILD/obj/third_party/mini_chromium/mini_chromium/base/ -lbase
8078
win32 {
8179
LIBS += -lAdvapi32
8280
}
8381
macx {
84-
LIBS += -L$$CRASHPAD_OBJ/util/ -lmig_output
82+
LIBS += -L$$CRASHPAD_BUILD/obj/util/ -lmig_output
8583

8684
LIBS += -L/usr/lib/ -lbsm
8785
LIBS += -framework AppKit
8886
LIBS += -framework Security
8987
}
88+
89+
win32 {
90+
CRASHPAD_HANDLER_SRC = $$CRASHPAD_BUILD/crashpad_handler.exe
91+
} else {
92+
CRASHPAD_HANDLER_SRC = $$CRASHPAD_BUILD/crashpad_handler
93+
}
94+
95+
#
96+
# Копируем crashpad_handler в директорию сборки
97+
#
98+
macx {
99+
QMAKE_POST_LINK += "mkdir -p $$OUT_PWD/crashpad"
100+
QMAKE_POST_LINK += " && cp $$CRASHPAD_HANDLER_SRC $$OUT_PWD/crashpad/crashpad_handler"
101+
}
102+
win32 {
103+
QMAKE_POST_LINK += "mkdir $$shell_path($$OUT_PWD)\\crashpad"
104+
QMAKE_POST_LINK += " & copy /y $$shell_path($$CRASHPAD_HANDLER_SRC) $$shell_path($$OUT_PWD)\\crashpad\\crashpad_handler.exe"
105+
}
106+
linux {
107+
QMAKE_POST_LINK += "mkdir -p $$OUT_PWD/crashpad"
108+
QMAKE_POST_LINK += " && cp $$CRASHPAD_HANDLER_SRC $$OUT_PWD/crashpad/crashpad_handler"
109+
}
90110
#
91111

92112
#
@@ -308,5 +328,5 @@ RESOURCES += \
308328

309329
mac {
310330
load(resolve_target)
311-
QMAKE_POST_LINK += "install_name_tool -change libcorelib.1.dylib @executable_path/../Frameworks/libcorelib.dylib $$QMAKE_RESOLVED_TARGET"
331+
QMAKE_POST_LINK += " && install_name_tool -change libcorelib.1.dylib @executable_path/../Frameworks/libcorelib.dylib $$QMAKE_RESOLVED_TARGET"
312332
}

0 commit comments

Comments
 (0)