[Bf-blender-cvs] [66f184d981f] master: Deps: add libdecor for Wayland window frames

Campbell Barton noreply at git.blender.org
Fri Oct 7 23:04:28 CEST 2022


Commit: 66f184d981ff62e81eb366274f8e20b97dedc2ed
Author: Campbell Barton
Date:   Sat Oct 8 07:54:22 2022 +1100
Branches: master
https://developer.blender.org/rB66f184d981ff62e81eb366274f8e20b97dedc2ed

Deps: add libdecor for Wayland window frames

Include libdecor, note that this only bundles a header file
as Blender dynamically loads on the system at run-time.

Part of D16091.

===================================================================

M	build_files/build_environment/CMakeLists.txt
M	build_files/build_environment/cmake/download.cmake
M	build_files/build_environment/cmake/harvest.cmake
M	build_files/build_environment/cmake/versions.cmake
A	build_files/build_environment/cmake/wayland_libdecor.cmake

===================================================================

diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 468a434b887..03c85742ada 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -172,6 +172,7 @@ if(UNIX AND NOT APPLE)
   include(cmake/wayland_protocols.cmake)
   # Can be removed when the build-bot upgrades to v1.20.x or newer.
   include(cmake/wayland.cmake)
+  include(cmake/wayland_libdecor.cmake)
 endif()
 
 include(cmake/harvest.cmake)
diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake
index 7c91fe5455e..35bc028a1e3 100644
--- a/build_files/build_environment/cmake/download.cmake
+++ b/build_files/build_environment/cmake/download.cmake
@@ -133,6 +133,7 @@ download_source(NASM)
 download_source(XR_OPENXR_SDK)
 download_source(WL_PROTOCOLS)
 download_source(WAYLAND)
+download_source(WAYLAND_LIBDECOR)
 download_source(ISPC)
 download_source(GMP)
 download_source(POTRACE)
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index 85e1dcab3fd..9afc1974677 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -119,6 +119,7 @@ else()
     harvest(wayland-protocols/share/wayland-protocols wayland-protocols/share/wayland-protocols/ "*.xml")
     harvest(wayland/bin wayland/bin "wayland-scanner")
     harvest(wayland/include wayland/include "*.h")
+    harvest(wayland_libdecor/include wayland_libdecor/include "*.h")
   else()
     harvest(blosc/lib openvdb/lib "*.a")
     harvest(xml2/lib opencollada/lib "*.a")
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 01996efa9bd..938ecd393dc 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -464,6 +464,12 @@ set(WAYLAND_URI https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.21.0
 set(WAYLAND_HASH f2653a2293bcd882d756c6a83d278903)
 set(WAYLAND_HASH_TYPE MD5)
 
+set(WAYLAND_LIBDECOR_VERSION 0.1.0)
+set(WAYLAND_LIBDECOR_FILE libdecor-${WAYLAND_LIBDECOR_VERSION}.tar.xz)
+set(WAYLAND_LIBDECOR_URI https://gitlab.gnome.org/jadahl/libdecor/uploads/81adf91d27620e20bcc5f6b9b312d768/libdecor-${WAYLAND_LIBDECOR_VERSION}.tar.xz )
+set(WAYLAND_LIBDECOR_HASH 47b59eba76faa3787f0878bf8700e912)
+set(WAYLAND_LIBDECOR_HASH_TYPE MD5)
+
 set(ISPC_VERSION v1.17.0)
 set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
 set(ISPC_HASH 4f476a3109332a77fe839a9014c60ca9)
diff --git a/build_files/build_environment/cmake/wayland_libdecor.cmake b/build_files/build_environment/cmake/wayland_libdecor.cmake
new file mode 100644
index 00000000000..f4628fa3a1b
--- /dev/null
+++ b/build_files/build_environment/cmake/wayland_libdecor.cmake
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# NOTE: currently only the header file is extracted, no compilation is needed
+# as the library is dynamically loaded when found on the system.
+
+ExternalProject_Add(external_wayland_libdecor
+  URL file://${PACKAGE_DIR}/${WAYLAND_LIBDECOR_FILE}
+  DOWNLOAD_DIR ${DOWNLOAD_DIR}
+  URL_HASH ${WAYLAND_LIBDECOR_HASH_TYPE}=${WAYLAND_LIBDECOR_HASH}
+  PREFIX ${BUILD_DIR}/wayland_libdecor
+  BUILD_COMMAND echo .
+  CONFIGURE_COMMAND echo .
+  INSTALL_COMMAND cp ../external_wayland_libdecor/src/libdecor.h ${LIBDIR}/wayland_libdecor/include/libdecor-0/libdecor.h
+  INSTALL_DIR ${LIBDIR}/wayland_libdecor/include/libdecor-0
+)



More information about the Bf-blender-cvs mailing list