run: |
cd install
call env.bat vc14 win64 release
- cd bin
set GTEST_OUTPUT=""
OpenCascadeGTest.exe --gtest_output=xml:gtest_results.xml > gtest_output.log 2>&1
type gtest_output.log
with:
name: gtest-results-${{ inputs.platform }}-${{ inputs.compiler }}-${{ inputs.artifact-suffix }}
path: |
- install/bin/gtest_results.xml
- install/bin/gtest_output.log
+ install/**/gtest_results.xml
+ install/**/gtest_output.log
retention-days: 15
- name: Check for test failures on Windows
id: check-failures-windows
shell: pwsh
run: |
- cd install/bin
+ cd install
$log = Get-Content "gtest_output.log" -Raw
if ($log -match "\[\s+FAILED\s+\]") {
Write-Error "GTest failures detected in the output."
OCCT_CHECK_AND_UNSET ("INSTALL_JEMALLOC")
endif()
+# GTest
+if (BUILD_GTEST)
+ OCCT_ADD_VCPKG_FEATURE ("gtest")
+ list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/gtest")
+else()
+ OCCT_UNSET_VCPKG_FEATURE ("gtest")
+ OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GTEST")
+ OCCT_CHECK_AND_UNSET_GROUP ("GTest")
+ OCCT_CHECK_AND_UNSET ("INSTALL_GTEST")
+endif()
+
# qt for samples
if (BUILD_SAMPLES_QT)
# check qt 3rdparty path
# Setup Google Test integration if enabled
if (BUILD_GTEST)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gtest")
enable_testing()
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_gtest")
# Set environment variables for all tests
OCCT_SET_GTEST_ENVIRONMENT()
-else()
- # Disable GTest integration if not enabled
- OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GTEST")
- OCCT_CHECK_AND_UNSET_GROUP ("GTest")
- OCCT_CHECK_AND_UNSET ("INSTALL_GTEST")
endif()
if (BUILD_DOC_Overview OR BUILD_DOC_RefMan)
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "opencascade",
- "version": "7.8.1",
+ "version": "8.0.0",
"description": "Open CASCADE Technology (OCCT) is an open-source software development platform for 3D CAD, CAM, CAE.",
"homepage": "https://github.com/Open-Cascade-SAS/OCCT",
- "documentation": "https://github.com/Open-Cascade-SAS/OCCT/wiki",
+ "documentation": "https://dev.opencascade.org/doc/overview/html",
"license": "LGPL-2.1",
"dependencies": [
{
],
"features": {
"angle": {
- "description": "Enables optional usage of OpenGL ES 2.0. Part of the module-visualization.",
+ "description": "Enables OpenGL ES 2.0 through ANGLE project. Required for 3D visualization in OCCT on UWP platform where desktop OpenGL is not available.",
"dependencies": [
{
"name": "angle",
]
},
"opengl": {
- "description": "Enables optional usage of OpenGL. Part of the module-visualization.",
+ "description": "Enables OpenGL support for 3D visualization toolkit. Required for OCCT's OpenGL rendering pipeline and graphical display drivers.",
"dependencies": [
"opengl"
]
},
"tcl": {
- "description": "Enables optional usage of Tcl. Part of the module-foundation-classes.",
+ "description": "Enables Tcl scripting support for OCCT's DRAWEXE test harness and command-line interface. Provides access to OCCT's geometric algorithms through scripting.",
"dependencies": [
"tcl"
]
},
"tcltk": {
- "description": "Enables optional usage of TclTk. Part of the module-foundation-classes.",
+ "description": "Enables Tcl/Tk GUI support for DRAWEXE test harness. Provides windowed interface for OCCT's geometric modeling and visualization tools.",
"dependencies": [
{
"name": "tcl",
]
},
"freeimage": {
- "description": "Enables optional usage of FreeImage. Part of the module-visualization.",
+ "description": "Enables FreeImage support for advanced image file format handling (TIFF, PNG, JPEG, etc.) in OCCT's imaging and visualization components.",
"dependencies": [
"freeimage"
]
},
"freetype": {
- "description": "Enables optional usage of FreeType. Part of the module-visualization.",
+ "description": "Enables FreeType font rendering engine for high-quality text display in OCCT's 3D visualization and technical drawing output.",
"supports": "!uwp",
"dependencies": [
"fontconfig",
]
},
"rapidjson": {
- "description": "Enables optional usage of RapidJSON. Part of the module-data-exchange.",
+ "description": "Enables RapidJSON for efficient JSON parsing and serialization in OCCT's glTF 2.0 import/export functionality.",
"dependencies": [
"rapidjson"
]
},
"tbb": {
- "description": "Enables optional usage of TBB. Part of the module-foundation-classes.",
+ "description": "Enables Intel Threading Building Blocks for optimized parallel computing. Replaces OCCT's default threading with TBB's task-based parallelism for better performance.",
"dependencies": [
"tbb"
]
},
"vtk": {
- "description": "Enables optional usage of VTK. Part of the module-visualization.",
+ "description": "Enables VTK (Visualization Toolkit) integration for advanced scientific visualization capabilities and mesh processing in OCCT.",
"dependencies": [
{
"name": "vtk",
]
},
"draco": {
- "description": "Enables optional usage of Draco. Part of the module-data-exchange.",
+ "description": "Enables Google Draco geometry compression for efficient mesh storage and transmission in OCCT's glTF 2.0 import/export workflow.",
"dependencies": [
"draco"
]
},
"ffmpeg": {
- "description": "Enables optional usage of FFmpeg. Part of the module-visualization.",
+ "description": "Enables FFmpeg multimedia framework for video encoding/decoding and animation export capabilities in OCCT's visualization pipeline.",
"dependencies": [
"ffmpeg"
]
},
"openvr": {
- "description": "Enables optional usage of OpenVR. Part of the module-visualization.",
+ "description": "Enables OpenVR SDK integration for virtual reality support in OCCT's 3D visualization, allowing immersive CAD model exploration.",
"dependencies": [
"openvr"
]
},
"jemalloc": {
- "description": "Enables optional usage of jemalloc. Part of the module-foundation-classes.",
+ "description": "Enables jemalloc high-performance memory allocator as replacement for system malloc. Improves memory usage patterns for large-scale CAD operations.",
"dependencies": [
"jemalloc"
]
+ },
+ "gtest": {
+ "description": "Enables Google Test framework for building OCCT's unit test suite. Required for running automated tests and validation of OCCT functionality.",
+ "dependencies": [
+ "gtest"
+ ]
}
}
}
\ No newline at end of file