feat(gl): dependency-free GL loader, RAII handles, caps probe, headless EGL harness
This commit is contained in:
1 parent
ed71719df7
commit
258caa38a7
11 files changed
+1458
-1
No files matched your search
+27
-1
@@ -1,8 +1,34 @@
|
||||
# EGL powers the surfaceless headless context the GL tests assert pixels
|
||||
# against. It is a *test-only* dependency: plot_core never links or includes it,
|
||||
# so a machine without EGL can still build the library (-DPLOT_BUILD_TESTS=OFF).
|
||||
# Prefer CMake's own module, fall back to pkg-config, and fail loudly if neither
|
||||
# can supply EGL rather than silently dropping the GL tests.
|
||||
find_package(EGL QUIET)
|
||||
if(NOT EGL_FOUND)
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(EGL_PC QUIET IMPORTED_TARGET egl)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(TARGET EGL::EGL)
|
||||
set(plot_egl_library EGL::EGL)
|
||||
elseif(TARGET PkgConfig::EGL_PC)
|
||||
set(plot_egl_library PkgConfig::EGL_PC)
|
||||
else()
|
||||
message(FATAL_ERROR
|
||||
"plot: PLOT_BUILD_TESTS=ON requires EGL (EGL/egl.h plus libEGL) for the headless "
|
||||
"OpenGL context used by the GL tests. Install it (e.g. libegl-dev, libegl1-mesa-dev "
|
||||
"or mesa-libEGL-devel) or configure with -DPLOT_BUILD_TESTS=OFF.")
|
||||
endif()
|
||||
|
||||
add_executable(plot_tests
|
||||
main.cpp
|
||||
test_transform.cpp
|
||||
test_gl_context.cpp
|
||||
egl_headless.cpp
|
||||
)
|
||||
target_link_libraries(plot_tests PRIVATE plot::core)
|
||||
target_link_libraries(plot_tests PRIVATE plot::core ${plot_egl_library})
|
||||
plot_apply_warnings(plot_tests)
|
||||
|
||||
add_test(NAME plot_tests COMMAND plot_tests)
|
||||
Reference in new issue
Block a user