Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <campbell@blender.org>2022-09-20 05:53:06 +0300
committerCampbell Barton <campbell@blender.org>2022-09-20 05:53:06 +0300
commit09308c4b6a2b5fa7d5d74e55f484bfd1ca18c273 (patch)
tree85f7047cebdb29f2d1f9529a84efa5831669c238 /build_files
parent9c35f103c0d7eaa1ddd0b0c54be9c681a7c39dc3 (diff)
CMake: fail to build with unsupported versions of wayland-scanner
When WITH_GHOST_WAYLAND_DYNLOAD is enabled.
Diffstat (limited to 'build_files')
-rw-r--r--build_files/cmake/platform/platform_unix.cmake33
1 files changed, 33 insertions, 0 deletions
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index aceddf7295b..d9f06811984 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -770,6 +770,39 @@ if(WITH_GHOST_WAYLAND)
endif()
pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
+
+ # When using dynamic loading, headers generated
+ # from older versions of `wayland-scanner` aren't compatible.
+ if(WITH_GHOST_WAYLAND_DYNLOAD)
+ execute_process(
+ COMMAND ${WAYLAND_SCANNER} --version
+ # The version is written to the `stderr`.
+ ERROR_VARIABLE _wayland_scanner_out
+ ERROR_STRIP_TRAILING_WHITESPACE
+ )
+ if(NOT "${_wayland_scanner_out}" STREQUAL "")
+ string(
+ REGEX REPLACE
+ "^wayland-scanner[ \t]+([0-9]+)\.([0-9]+).*"
+ "\\1.\\2"
+ _wayland_scanner_ver
+ "${_wayland_scanner_out}"
+ )
+ if("${_wayland_scanner_ver}" VERSION_LESS "1.20")
+ message(
+ FATAL_ERROR
+ "Found ${WAYLAND_SCANNER} version \"${_wayland_scanner_ver}\", "
+ "the minimum version is 1.20!"
+ )
+ endif()
+ unset(_wayland_scanner_ver)
+ else()
+ message(WARNING "Unable to access the version from ${WAYLAND_SCANNER}, continuing.")
+ endif()
+ unset(_wayland_scanner_out)
+ endif()
+ # End wayland-scanner version check.
+
endif()
endif()