[waffle] [PATCH 4/7] cmake: Add option waffle_has_surfaceless_egl
Chad Versace
chadversary at chromium.org
Tue Oct 18 17:33:02 UTC 2016
This patch contains just the CMake changes for the new surfaceless_egl
platform. Code will come in the following patches.
Cc: Gurchetan Singh <gurchetansingh at chromium.org>
Cc: Haixia Shi <hshi at chromium.org>
---
Options.cmake | 3 +++
cmake/Modules/WaffleDefineCompilerFlags.cmake | 4 ++++
cmake/Modules/WaffleDefineInternalOptions.cmake | 3 ++-
cmake/Modules/WafflePrintConfigurationSummary.cmake | 3 +++
cmake/Modules/WaffleValidateOptions.cmake | 15 ++++++++++++++-
5 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/Options.cmake b/Options.cmake
index 4f097a0..699ec59 100644
--- a/Options.cmake
+++ b/Options.cmake
@@ -23,11 +23,14 @@ if(waffle_on_linux)
set(gbm_default OFF)
endif()
+ set(surfaceless_egl_default ${egl_FOUND})
+
# On Linux, you must enable at least one of the below options.
option(waffle_has_glx "Build support for GLX" ${glx_default})
option(waffle_has_wayland "Build support for Wayland" ${wayland_default})
option(waffle_has_x11_egl "Build support for X11/EGL" ${x11_egl_default})
option(waffle_has_gbm "Build support for GBM" ${gbm_default})
+ option(waffle_has_surfaceless_egl "Build support for EGL_MESA_platform_surfaceless" ${surfaceless_egl_default})
option(waffle_has_nacl "Build support for NaCl" OFF)
# NaCl specific settings.
diff --git a/cmake/Modules/WaffleDefineCompilerFlags.cmake b/cmake/Modules/WaffleDefineCompilerFlags.cmake
index 7b67325..4eb4392 100644
--- a/cmake/Modules/WaffleDefineCompilerFlags.cmake
+++ b/cmake/Modules/WaffleDefineCompilerFlags.cmake
@@ -122,6 +122,10 @@ if(waffle_on_linux)
add_definitions(-DWAFFLE_HAS_GBM)
endif()
+ if(waffle_has_surfaceless_egl)
+ add_definitions(-DWAFFLE_HAS_SURFACELESS_EGL)
+ endif()
+
if(waffle_has_tls)
add_definitions(-DWAFFLE_HAS_TLS)
endif()
diff --git a/cmake/Modules/WaffleDefineInternalOptions.cmake b/cmake/Modules/WaffleDefineInternalOptions.cmake
index 3ef7a25..b3a4f7b 100644
--- a/cmake/Modules/WaffleDefineInternalOptions.cmake
+++ b/cmake/Modules/WaffleDefineInternalOptions.cmake
@@ -1,4 +1,5 @@
-if(waffle_has_wayland OR waffle_has_x11_egl OR waffle_has_gbm)
+if(waffle_has_wayland OR waffle_has_x11_egl OR waffle_has_gbm OR
+ waffle_has_surfaceless_egl)
set(waffle_has_egl TRUE)
else(waffle_has_wayland OR waffle_has_x11_egl)
set(waffle_has_egl FALSE)
diff --git a/cmake/Modules/WafflePrintConfigurationSummary.cmake b/cmake/Modules/WafflePrintConfigurationSummary.cmake
index 1199ea3..f36555c 100644
--- a/cmake/Modules/WafflePrintConfigurationSummary.cmake
+++ b/cmake/Modules/WafflePrintConfigurationSummary.cmake
@@ -47,6 +47,9 @@ endif()
if(waffle_has_gbm)
message(" gbm")
endif()
+if(waffle_has_surfaceless_egl)
+ message(" surfaceless_egl")
+endif()
if(waffle_on_windows)
message(" wgl")
endif()
diff --git a/cmake/Modules/WaffleValidateOptions.cmake b/cmake/Modules/WaffleValidateOptions.cmake
index 1275463..8f83338 100644
--- a/cmake/Modules/WaffleValidateOptions.cmake
+++ b/cmake/Modules/WaffleValidateOptions.cmake
@@ -47,12 +47,14 @@ endif()
if(waffle_on_linux)
if(NOT waffle_has_glx AND NOT waffle_has_wayland AND
NOT waffle_has_x11_egl AND NOT waffle_has_gbm AND
+ NOT waffle_has_surfaceless_egl AND
NOT waffle_has_nacl)
message(FATAL_ERROR
"Must enable at least one of: "
"waffle_has_glx, waffle_has_wayland, "
"waffle_has_x11_egl, waffle_has_gbm, "
- "waffle_has_nacl.")
+ "waffle_has_surfaceless_egl, "
+ "waffle_has_nacl")
endif()
if(waffle_has_nacl)
if(NOT EXISTS ${nacl_sdk_path})
@@ -149,6 +151,11 @@ if(waffle_on_linux)
message(FATAL_ERROR "x11_egl dependency is missing: ${x11_egl_missing_deps}")
endif()
endif()
+ if(waffle_has_surfaceless_egl)
+ if(NOT egl_FOUND)
+ message(FATAL_ERROR "surfaceless_egl dependency is missing: egl")
+ endif()
+ endif()
elseif(waffle_on_mac)
if(waffle_has_gbm)
message(FATAL_ERROR "Option is not supported on Darwin: waffle_has_gbm.")
@@ -162,6 +169,9 @@ elseif(waffle_on_mac)
if(waffle_has_x11_egl)
message(FATAL_ERROR "Option is not supported on Darwin: waffle_has_x11_egl.")
endif()
+ if(waffle_has_surfaceless_egl)
+ message(FATAL_ERROR "Option is not supported on Darwin: waffle_has_surfaceless_egl.")
+ endif()
elseif(waffle_on_windows)
if(waffle_has_gbm)
message(FATAL_ERROR "Option is not supported on Windows: waffle_has_gbm.")
@@ -175,4 +185,7 @@ elseif(waffle_on_windows)
if(waffle_has_x11_egl)
message(FATAL_ERROR "Option is not supported on Windows: waffle_has_x11_egl.")
endif()
+ if(waffle_has_surfaceless_egl)
+ message(FATAL_ERROR "Option is not supported on Darwin: waffle_has_surfaceless_egl.")
+ endif()
endif()
--
2.10.0
More information about the waffle
mailing list