summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorDan Lipsa <dan.lipsa@kitware.com>2023-02-08 11:00:14 -0500
committerGitHub <noreply@github.com>2023-02-08 10:00:14 -0600
commit126accfce1df6aa774f2554b3ea730f162d19594 (patch)
treebf7ed4f9f3dcac11b4fd2c375d2acc7428018965 /var
parent27c2ff6c64e0228ef66891e9618405abd1c1c200 (diff)
downloadspack-126accfce1df6aa774f2554b3ea730f162d19594.tar.gz
spack-126accfce1df6aa774f2554b3ea730f162d19594.tar.bz2
spack-126accfce1df6aa774f2554b3ea730f162d19594.tar.xz
spack-126accfce1df6aa774f2554b3ea730f162d19594.zip
Fix external freetype that provides freetype-config.cmake (#35363)
* Fix external freetype that provides freetype-config.cmake --------- Co-authored-by: Dan Lipsa <dan.lipsa@khq.kitware.com>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/paraview/FindFreetype.cmake.patch35
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py3
2 files changed, 38 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/paraview/FindFreetype.cmake.patch b/var/spack/repos/builtin/packages/paraview/FindFreetype.cmake.patch
new file mode 100644
index 0000000000..ebb5f7c29c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/paraview/FindFreetype.cmake.patch
@@ -0,0 +1,35 @@
+diff --git a/VTK/CMake/FindFreetype.cmake b/VTK/CMake/FindFreetype.cmake
+index b4532735c2..f06d32327e 100644
+--- a/VTK/CMake/FindFreetype.cmake
++++ b/VTK/CMake/FindFreetype.cmake
+@@ -63,6 +63,30 @@ directory of a Freetype installation.
+ # I'm going to attempt to cut out the middleman and hope
+ # everything still works.
+
++find_package(freetype CONFIG) # foward `QUIET`, version, and components here, but not `REQUIRED`
++if (freetype_FOUND)
++ if (NOT TARGET Freetype::Freetype)
++ # make target chain to target from config mode
++ get_target_property(freetype_library_type freetype TYPE)
++ get_target_property(freetype_location freetype LOCATION)
++ if (freetype_library_type STREQUAL STATIC_LIBRARY)
++ set(freetype_library_type STATIC)
++ endif()
++ get_target_property(freetype_interface_include_directories freetype INTERFACE_INCLUDE_DIRECTORIES)
++ get_target_property(freetype_interface_link_libraries freetype INTERFACE_LINK_LIBRARIES)
++ add_library(Freetype::Freetype "${freetype_library_type}" IMPORTED)
++ set_target_properties(Freetype::Freetype PROPERTIES
++ INTERFACE_INCLUDE_DIRECTORIES "${freetype_interface_include_directories}"
++ INTERFACE_LINK_LIBRARIES "${freetype_interface_link_libraries}"
++ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
++ IMPORTED_LOCATION "${freetype_location}")
++ endif ()
++ set(FREETYPE_INCLUDE_DIRS "${freetype_interface_include_directories}")
++ set(FREETYPE_LIBRARIES "${freetype_interface_link_libraries}")
++ set(Freetype_FOUND 1) # might need to also forward the version found
++ return ()
++endif ()
++
+ set(FREETYPE_FIND_ARGS
+ HINTS
+ ENV FREETYPE_DIR
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index e3401ec4ac..702f9b800c 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -273,6 +273,9 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage):
patch("vtk-xdmf2-hdf51.13.1.patch", when="@5.10.0:5.10")
patch("vtk-xdmf2-hdf51.13.2.patch", when="@5.10:")
+ # Fix VTK to work with external freetype using CONFIG mode for find_package
+ patch("FindFreetype.cmake.patch", when="@5.10.1:")
+
@property
def generator(self):
# https://gitlab.kitware.com/paraview/paraview/-/issues/21223