Archived issue #0029514
Configuration, CMake - OpenGL ES should be available for Linux
Description
Current logic expects for using OpenGL ES and EGL:
- Android/iOS: unconditionally enabled.
HAVE_GLES2 and HAVE_EGL are not needed to be defined by CMake (but linkage libraries should be set appropriately, using platform SDK).
- Windows, desktop: optional (disabled by default).
Building environment should find 3rdparty implementation of GLESv2 and EGL (Angle project).
- Windows, UWP: unconditionally enabled.
Building environment should find 3rdparty implementation of GLESv2 and EGL (Angle project).
- Linux: OpenGL ES cannot be selected.
The behavior on Linux is incorrect - modern systems provide GLESv2 and EGL, so OCCT can be optionally built with them as alternative to desktop OpenGL (GL library).
For this, CMake scripts should be adjusted (genproj already allows building with GLESv2 on Linux).
As further extension, it is desired including a dedicated Jenkins job, which would allow building OCCT with GLESv2 enabled on Linux system and execute tests on such configuration.
This can be done by introducing a new flag in standard testing job, so that this will be limited by weekly tests and optionally forced while testing branches containing changes in TKOpenGl toolkit.
- Android/iOS: unconditionally enabled.
HAVE_GLES2 and HAVE_EGL are not needed to be defined by CMake (but linkage libraries should be set appropriately, using platform SDK).
- Windows, desktop: optional (disabled by default).
Building environment should find 3rdparty implementation of GLESv2 and EGL (Angle project).
- Windows, UWP: unconditionally enabled.
Building environment should find 3rdparty implementation of GLESv2 and EGL (Angle project).
- Linux: OpenGL ES cannot be selected.
# OpenGL ES 2.0
if (WIN32 AND CAN_USE_GLES2)
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
set (USE_GLES2 ON)
else()
set (USE_GLES2 OFF CACHE BOOL "${USE_GLES2_DESCR}")
endif()
The behavior on Linux is incorrect - modern systems provide GLESv2 and EGL, so OCCT can be optionally built with them as alternative to desktop OpenGL (GL library).
For this, CMake scripts should be adjusted (genproj already allows building with GLESv2 on Linux).
As further extension, it is desired including a dedicated Jenkins job, which would allow building OCCT with GLESv2 enabled on Linux system and execute tests on such configuration.
This can be done by introducing a new flag in standard testing job, so that this will be limited by weekly tests and optionally forced while testing branches containing changes in TKOpenGl toolkit.
Public activity
6 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Commenter 3.
[revision removed]
Detailed log of new commits:
Author: Commenter 3
Date: Mon Feb 19 12:24:55 2018 +0300
0029514: Configuration, CMake - OpenGL ES should be available for Linux
Allow optionally building OCCT with GLESv2 and EGL on Linux
[revision removed]
Detailed log of new commits:
Author: Commenter 3
Date: Mon Feb 19 12:24:55 2018 +0300
0029514: Configuration, CMake - OpenGL ES should be available for Linux
Allow optionally building OCCT with GLESv2 and EGL on Linux
Opportunity for optional building of OCCT with GLESv2 and EGL on Linux was added to CR29514. All missing gles and egl dev packages were installed on work stations. Jenkins job with USE_GLES2 option and appropriate testing reference data will be created.
Branch [archived branch] has been updated forcibly by Commenter 3.
[revision removed]
[revision removed]
Dear kgv, could you please review OCCT and PRODUCTS branches CR29514.
Testing results:
OCCT: http://occt-tests/IR-2018-02-16-APN-GLES-OCCT/Debian70-64/summary.html
PRODUCTS: http://occt-tests/IR-2018-02-16-APN-GLES-Products/Debian70-64/summary.html
Testing results:
OCCT: http://occt-tests/IR-2018-02-16-APN-GLES-OCCT/Debian70-64/summary.html
PRODUCTS: http://occt-tests/IR-2018-02-16-APN-GLES-Products/Debian70-64/summary.html
Patch looks OK, if tested.
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Related records