Skip to content

Commit 097892a

Browse files
Enable PDB files for both dynamic and static builds (openvinotoolkit#29174)
### Details: - Use default `/Zi` instead of `/Z7`, which allows to reduce binary size of static libraries in debug build. - Create cpack component for PDB files and build them for Release, Debug and both static / dynamic builds. - Switched cmake generator for Windows static build to MSVC because of issue with default names for PDB files in Ninja. Can be reverted back once uxlfoundation/oneDNN#2795 is merged and used within OpenVINO. ### Tickets: - CVS-160554 - CVS-163245
1 parent dd2580f commit 097892a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+835
-683
lines changed

.github/workflows/coverage.yml

-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ jobs:
6363
-DCMAKE_VERBOSE_MAKEFILE=ON
6464
-DENABLE_PYTHON=ON
6565
-DENABLE_ONEDNN_FOR_GPU=ON
66-
-DBUILD_SHARED_LIBS=ON
6766
-DENABLE_TESTS=ON
6867
-DENABLE_OV_ONNX_FRONTEND=ON
6968
-DENABLE_FASTER_BUILD=ON

.github/workflows/dev_cpu_linux_snippets_libxsmm.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,15 @@ jobs:
179179
path: ${{ env.SCCACHE_ERROR_LOG }}
180180
if-no-files-found: 'ignore'
181181

182-
- name: Upload openvino package
182+
- name: Upload OpenVINO package
183183
if: ${{ always() }}
184184
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
185185
with:
186186
name: openvino_package
187187
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
188188
if-no-files-found: 'error'
189189

190-
- name: Upload openvino tests package
190+
- name: Upload OpenVINO tests package
191191
if: ${{ always() }}
192192
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
193193
with:

.github/workflows/job_build_linux.yml

+11-12
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,10 @@ jobs:
190190

191191
- name: Cmake install - OpenVINO
192192
run: |
193-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${INSTALL_DIR}
194-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${INSTALL_WHEELS_DIR} --component python_wheels
195-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${INSTALL_TEST_DIR} --component tests
196-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${DEVELOPER_PACKAGE_DIR} --component developer_package
197-
working-directory: ${{ env.BUILD_DIR }}
193+
cmake --install ${BUILD_DIR} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${INSTALL_DIR}
194+
cmake --install ${BUILD_DIR} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${INSTALL_WHEELS_DIR} --component python_wheels
195+
cmake --install ${BUILD_DIR} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${INSTALL_TEST_DIR} --component tests
196+
cmake --install ${BUILD_DIR} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${DEVELOPER_PACKAGE_DIR} --component developer_package
198197
199198
- name: Pack openvino_package
200199
run: tar -cvf - * | pigz > ${BUILD_DIR}/openvino_package.tar.gz
@@ -276,55 +275,55 @@ jobs:
276275
path: ${{ env.SCCACHE_ERROR_LOG }}
277276
if-no-files-found: 'ignore'
278277

279-
- name: Upload openvino package
278+
- name: Upload OpenVINO package
280279
if: ${{ always() }}
281280
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
282281
with:
283282
name: openvino_package
284283
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
285284
if-no-files-found: 'error'
286285

287-
- name: Upload openvino wheels
286+
- name: Upload OpenVINO wheels
288287
if: ${{ inputs.os != 'debian_10' && inputs.arch != 'arm' }}
289288
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
290289
with:
291290
name: openvino_wheels
292291
path: ${{ env.INSTALL_WHEELS_DIR }}/wheels/*.whl
293292
if-no-files-found: 'error'
294293

295-
- name: Upload openvino js package
294+
- name: Upload OpenVINO js package
296295
if: ${{ fromJSON(inputs.affected-components).JS_API && inputs.build-js }}
297296
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
298297
with:
299298
name: openvino_js_package
300299
path: ${{ env.BUILD_DIR }}/openvino_js_package.tar.gz
301300
if-no-files-found: 'error'
302301

303-
- name: Upload openvino developer package
302+
- name: Upload OpenVINO developer package
304303
if: ${{ always() }}
305304
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
306305
with:
307306
name: openvino_developer_package
308307
path: ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
309308
if-no-files-found: 'error'
310309

311-
- name: Upload openvino RPM packages
310+
- name: Upload OpenVINO RPM packages
312311
if: ${{ inputs.build-rpm-packages }}
313312
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
314313
with:
315314
name: openvino_rpm_packages
316315
path: ${{ env.BUILD_DIR }}/*.rpm
317316
if-no-files-found: 'error'
318317

319-
- name: Upload openvino debian packages
318+
- name: Upload OpenVINO debian packages
320319
if: ${{ inputs.build-debian-packages }}
321320
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
322321
with:
323322
name: openvino_debian_packages
324323
path: ${{ env.BUILD_DIR }}/*.deb
325324
if-no-files-found: 'error'
326325

327-
- name: Upload openvino tests package
326+
- name: Upload OpenVINO tests package
328327
if: ${{ always() }}
329328
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
330329
with:

.github/workflows/job_build_windows.yml

+30-14
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
INSTALL_DIR_JS: "${{ github.workspace }}\\openvino_install\\js"
5454
INSTALL_TEST_DIR: "${{ github.workspace }}\\tests_install"
5555
INSTALL_WHEELS_DIR: "${{ github.workspace }}\\install\\wheels"
56+
INSTALL_PDB_DIR: "${{ github.workspace }}\\install_pdb"
5657
BUILD_DIR: "${{ github.workspace }}\\openvino_build"
5758
ARTIFACTS_SHARE: "C:\\mount\\build-artifacts"
5859
MANIFEST_PATH: "${{ github.workspace }}\\manifest.yml"
@@ -163,7 +164,7 @@ jobs:
163164
run: echo SSL_CERT_FILE=$(python3 -m certifi) >> $env:GITHUB_ENV
164165

165166
- name: CMake configure
166-
run: cmake -S ${{ env.OPENVINO_REPO }} -B ${{ env.BUILD_DIR }} ${{ inputs.cmake-options }}
167+
run: cmake -S ${{ env.OPENVINO_REPO }} -B ${{ env.BUILD_DIR }} ${{ inputs.cmake-options }} -DCMAKE_CXX_FLAGS="/Zi" -DCMAKE_C_FLAGS="/Zi" -DCMAKE_SHARED_LINKER_FLAGS="/DEBUG" -DCMAKE_MODULE_LINKER_FLAGS="/DEBUG"
167168

168169
- name: Clean ccache stats
169170
run: '& ccache --zero-stats'
@@ -176,10 +177,10 @@ jobs:
176177

177178
- name: Cmake install - OpenVINO
178179
run: |
179-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_DIR }}
180-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_WHEELS_DIR }} --component python_wheels
181-
cmake --install . --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_TEST_DIR }} --component tests
182-
working-directory: ${{ env.BUILD_DIR }}
180+
cmake --install ${{ env.BUILD_DIR }} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_DIR }}
181+
cmake --install ${{ env.BUILD_DIR }} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_WHEELS_DIR }} --component python_wheels
182+
cmake --install ${{ env.BUILD_DIR }} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_TEST_DIR }} --component tests
183+
cmake --install ${{ env.BUILD_DIR }} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_PDB_DIR }} --component pdb
183184
184185
# Setup additional Python versions for wheels building
185186
- name: Setup Python 3.9
@@ -218,18 +219,18 @@ jobs:
218219
foreach ($pyVersion in $pyVersions) {
219220
$pyBuildDir = "${{ github.workspace }}/py$pyVersion"
220221
New-Item -ItemType Directory -Path "$pyBuildDir" -Force
221-
222+
222223
$pythonCommand = "py -$pyVersion -c `"import sys; print(f'{sys.executable}')`""
223224
$pythonExecutablePath = & cmd /c $pythonCommand
224225
225226
$pipVersion = & $pythonExecutablePath -c "import pip; print(pip.__version__)"
226227
Write-Host "Using pip version: $pipVersion for $pyVersion"
227228
$env:PIP_CACHE_DIR="${{ env.PIP_CACHE_PATH }}/$pipVersion"
228-
229+
229230
& $pythonExecutablePath -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
230231
231232
cmake -DPython3_EXECUTABLE="$pythonExecutablePath" -DOpenVINODeveloperPackage_DIR=${{ env.BUILD_DIR }} -S ${{ env.OPENVINO_REPO }}/src/bindings/python -B "$pyBuildDir" &&
232-
cmake --build "$pyBuildDir" --parallel $ENV:NUMBER_OF_PROCESSORS --target ie_wheel --config ${{ env.CMAKE_BUILD_TYPE }} &&
233+
cmake --build "$pyBuildDir" --parallel $ENV:NUMBER_OF_PROCESSORS --target ie_wheel --config ${{ env.CMAKE_BUILD_TYPE }} &&
233234
cmake --install "$pyBuildDir" --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_WHEELS_DIR }} --component python_wheels
234235
if ($LASTEXITCODE -ne 0) {
235236
Write-Host "Failed to build Python wheels for Python $pyVersion"
@@ -255,6 +256,14 @@ jobs:
255256
}
256257
Compress-Archive @compress
257258
259+
$file=Get-ChildItem -Path "${{ env.INSTALL_PDB_DIR }}"
260+
$compress = @{
261+
Path = $file
262+
CompressionLevel = "Optimal"
263+
DestinationPath = "${{ env.BUILD_DIR }}/openvino_pdb.zip"
264+
}
265+
Compress-Archive @compress
266+
258267
- name: CMake configure, build and install - OpenVINO JS API
259268
if: ${{ fromJSON(inputs.affected-components).JS_API }}
260269
run: |
@@ -264,7 +273,7 @@ jobs:
264273
-DENABLE_WHEEL=OFF
265274
cmake --build ${{ env.BUILD_DIR }} --parallel $ENV:NUMBER_OF_PROCESSORS
266275
cmake --install ${{ env.BUILD_DIR }} --config ${{ env.CMAKE_BUILD_TYPE }} --prefix ${{ env.INSTALL_DIR_JS }}
267-
276+
268277
- name: Pack JS Artifacts
269278
if: ${{ fromJSON(inputs.affected-components).JS_API }}
270279
run: |
@@ -280,29 +289,36 @@ jobs:
280289
# Upload build artifacts and logs
281290
#
282291

283-
- name: Upload openvino package
292+
- name: Upload OpenVINO package
284293
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
285294
with:
286295
name: openvino_package
287296
path: ${{ env.BUILD_DIR }}/openvino_package.zip
288297
if-no-files-found: 'error'
289-
290-
- name: Upload openvino wheels
298+
299+
- name: Upload OpenVINO wheels
291300
if: ${{ inputs.build-type != 'Debug' }}
292301
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
293302
with:
294303
name: openvino_wheels
295304
path: ${{ env.INSTALL_WHEELS_DIR }}/wheels/*.whl
296305
if-no-files-found: 'error'
297306

298-
- name: Upload openvino tests package
307+
- name: Upload OpenVINO tests package
299308
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
300309
with:
301310
name: openvino_tests
302311
path: ${{ env.BUILD_DIR }}/openvino_tests.zip
303312
if-no-files-found: 'error'
304313

305-
- name: Upload openvino js package
314+
- name: Upload OpenVINO PDB package
315+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
316+
with:
317+
name: openvino_pdb
318+
path: ${{ env.BUILD_DIR }}/openvino_pdb.zip
319+
if-no-files-found: 'error'
320+
321+
- name: Upload OpenVINO js package
306322
if: ${{ fromJSON(inputs.affected-components).JS_API }}
307323
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
308324
with:

.github/workflows/job_tokenizers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ jobs:
128128
# Upload build artifacts
129129
#
130130

131-
- name: Upload openvino tokenizers wheel
131+
- name: Upload OpenVINO tokenizers wheel
132132
if: ${{ always() }}
133133
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
134134
with:

.github/workflows/linux_conditional_compilation.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,13 @@ jobs:
188188
189189
- name: Build C++ samples - OpenVINO build tree
190190
run: |
191-
cmake -G "${{ env.CMAKE_GENERATOR }}" -DOpenVINO_DIR=${BUILD_DIR} -S ${INSTALL_DIR}/samples/cpp -B ${BUILD_DIR}/cpp_samples
191+
cmake -G "${{ env.CMAKE_GENERATOR }}" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DOpenVINO_DIR=${BUILD_DIR} -S ${INSTALL_DIR}/samples/cpp -B ${BUILD_DIR}/cpp_samples
192192
cmake --build ${BUILD_DIR}/cpp_samples --parallel $(nproc) --config ${{ env.CMAKE_BUILD_TYPE }} --target hello_query_device
193193
194194
- name: Build C samples - OpenVINO install tree
195195
run: ${INSTALL_DIR}/samples/c/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/c_samples
196+
env:
197+
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
196198

197199
- name: Ctest - OpenVINO unit tests
198200
run: ctest -C ${{ env.CMAKE_BUILD_TYPE }} --test-dir ${BUILD_DIR} -V -L UNIT
@@ -236,7 +238,7 @@ jobs:
236238
path: ${{ env.SCCACHE_ERROR_LOG }}
237239
if-no-files-found: 'ignore'
238240

239-
- name: Upload openvino package
241+
- name: Upload OpenVINO package
240242
if: ${{ always() }}
241243
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
242244
with:

.github/workflows/linux_sanitizers.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ jobs:
178178
-DENABLE_SYSTEM_OPENCL=ON \
179179
-DCMAKE_VERBOSE_MAKEFILE=ON \
180180
-DCPACK_GENERATOR=TGZ \
181-
-DBUILD_SHARED_LIBS=ON \
182181
-DENABLE_OV_TF_FRONTEND=ON \
183182
-DENABLE_OV_TF_LITE_FRONTEND=ON \
184183
-DENABLE_OV_PADDLE_FRONTEND=ON \
@@ -233,15 +232,15 @@ jobs:
233232
path: ${{ env.SCCACHE_ERROR_LOG }}
234233
if-no-files-found: 'error'
235234

236-
- name: Upload openvino package
235+
- name: Upload OpenVINO package
237236
if: ${{ always() }}
238237
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
239238
with:
240239
name: openvino_package_${{ matrix.SANITIZER }}
241240
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
242241
if-no-files-found: 'error'
243242

244-
- name: Upload openvino tests package
243+
- name: Upload OpenVINO tests package
245244
if: ${{ always() }}
246245
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
247246
with:

.github/workflows/mac.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -275,38 +275,38 @@ jobs:
275275
# Upload build artifacts
276276
#
277277

278-
- name: Upload openvino package
278+
- name: Upload OpenVINO package
279279
if: ${{ always() }}
280280
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
281281
with:
282282
name: openvino_package
283283
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
284284
if-no-files-found: 'error'
285285

286-
- name: Upload openvino wheels
286+
- name: Upload OpenVINO wheels
287287
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
288288
with:
289289
name: openvino_wheels
290290
path: ${{ env.INSTALL_WHEELS_DIR }}/wheels/*.whl
291291
if-no-files-found: 'error'
292292

293-
- name: Upload openvino tests package
293+
- name: Upload OpenVINO tests package
294294
if: ${{ always() }}
295295
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
296296
with:
297297
name: openvino_tests
298298
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
299299
if-no-files-found: 'error'
300300

301-
- name: Upload openvino developer package
301+
- name: Upload OpenVINO developer package
302302
if: ${{ always() }}
303303
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
304304
with:
305305
name: openvino_developer_package
306306
path: ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
307307
if-no-files-found: 'error'
308308

309-
- name: Upload openvino js package
309+
- name: Upload OpenVINO js package
310310
if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API
311311
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
312312
with:

.github/workflows/mac_arm64.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -253,30 +253,30 @@ jobs:
253253
# Upload build artifacts
254254
#
255255

256-
- name: Upload openvino package
256+
- name: Upload OpenVINO package
257257
if: ${{ always() }}
258258
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
259259
with:
260260
name: openvino_package
261261
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
262262
if-no-files-found: 'error'
263263

264-
- name: Upload openvino wheels
264+
- name: Upload OpenVINO wheels
265265
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
266266
with:
267267
name: openvino_wheels
268268
path: ${{ env.INSTALL_WHEELS_DIR }}/wheels/*.whl
269269
if-no-files-found: 'error'
270270

271-
- name: Upload openvino tests package
271+
- name: Upload OpenVINO tests package
272272
if: ${{ always() }}
273273
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
274274
with:
275275
name: openvino_tests
276276
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
277277
if-no-files-found: 'error'
278278

279-
- name: Upload openvino js package
279+
- name: Upload OpenVINO js package
280280
if: fromJSON(needs.smart_ci.outputs.affected_components).JS_API
281281
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
282282
with:

.github/workflows/manylinux_2014.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -209,23 +209,23 @@ jobs:
209209
#
210210
# Upload build artifacts
211211
#
212-
- name: Upload openvino package
212+
- name: Upload OpenVINO package
213213
if: ${{ always() }}
214214
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
215215
with:
216216
name: openvino_package
217217
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
218218
if-no-files-found: 'error'
219219

220-
- name: Upload openvino wheels
220+
- name: Upload OpenVINO wheels
221221
if: ${{ always() }}
222222
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
223223
with:
224224
name: openvino_wheels
225225
path: ${{ env.INSTALL_WHEELS_DIR }}/wheels/*.whl
226226
if-no-files-found: 'error'
227227

228-
- name: Upload openvino tests package
228+
- name: Upload OpenVINO tests package
229229
if: ${{ always() }}
230230
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
231231
with:

0 commit comments

Comments
 (0)