pull in upstream fix for conflict with ECM/FindFontConfig
This commit is contained in:
parent
6f2725ff7d
commit
f73c5d508b
197
0299-FindFontconfig-Convert-module-variables-to-camel-cas.patch
Normal file
197
0299-FindFontconfig-Convert-module-variables-to-camel-cas.patch
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
From a3a1e69f8a8e6571bbb8c9257b401f04c22bd1e2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brad King <brad.king@kitware.com>
|
||||||
|
Date: Tue, 26 Mar 2019 13:44:52 -0400
|
||||||
|
Subject: [PATCH 299/303] FindFontconfig: Convert module variables to camel
|
||||||
|
case
|
||||||
|
|
||||||
|
Our documented standard for find module variable names is to match the
|
||||||
|
case of the find module package name. This was overlooked when the
|
||||||
|
module was added by commit 84e7920b3a (FindFontconfig: Add module to
|
||||||
|
find Fontconfig, 2018-09-27, v3.14.0-rc1~523^2).
|
||||||
|
|
||||||
|
The module was released with the upper case names in CMake 3.14.0, so
|
||||||
|
fix it to have camel case names in 3.14.1. This is incompatible but
|
||||||
|
anyone using a given release series should be using the latest patch on
|
||||||
|
it and we've made breaking fixups on newly released features like this
|
||||||
|
before.
|
||||||
|
|
||||||
|
Reported-by: Christophe Giboudeaux <christophe@krop.fr>
|
||||||
|
Fixes: #19094
|
||||||
|
---
|
||||||
|
Help/release/3.14.rst | 14 ++++++
|
||||||
|
Modules/FindFontconfig.cmake | 56 ++++++++++++------------
|
||||||
|
Modules/FindX11.cmake | 2 +-
|
||||||
|
Tests/FindFontconfig/Test/CMakeLists.txt | 6 +--
|
||||||
|
4 files changed, 46 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Help/release/3.14.rst b/Help/release/3.14.rst
|
||||||
|
index 5038a75175..f2a91c6147 100644
|
||||||
|
--- a/Help/release/3.14.rst
|
||||||
|
+++ b/Help/release/3.14.rst
|
||||||
|
@@ -377,3 +377,17 @@ Other Changes
|
||||||
|
* CMake no longer issues a warning if a target listed in an
|
||||||
|
:command:`install(TARGETS)` command has its :prop_tgt:`EXCLUDE_FROM_ALL`
|
||||||
|
property set to true.
|
||||||
|
+
|
||||||
|
+Updates
|
||||||
|
+=======
|
||||||
|
+
|
||||||
|
+Changes made since CMake 3.14.0 include the following.
|
||||||
|
+
|
||||||
|
+3.14.1
|
||||||
|
+------
|
||||||
|
+
|
||||||
|
+* The :module:`FindFontconfig` module added by 3.14.0 accidentally
|
||||||
|
+ used uppercase ``FONTCONFIG_*`` variable names that do not match
|
||||||
|
+ our conventions. 3.14.1 revises the module to use ``Fontconfig_*``
|
||||||
|
+ variable names. This is incompatible with 3.14.0 but since the
|
||||||
|
+ module is new in the 3.14 series usage should not yet be widespread.
|
||||||
|
diff --git a/Modules/FindFontconfig.cmake b/Modules/FindFontconfig.cmake
|
||||||
|
index 96e1e7608c..a6f0180b37 100644
|
||||||
|
--- a/Modules/FindFontconfig.cmake
|
||||||
|
+++ b/Modules/FindFontconfig.cmake
|
||||||
|
@@ -18,15 +18,15 @@ Result Variables
|
||||||
|
|
||||||
|
This will define the following variables in your project:
|
||||||
|
|
||||||
|
-``FONTCONFIG_FOUND``
|
||||||
|
+``Fontconfig_FOUND``
|
||||||
|
true if (the requested version of) Fontconfig is available.
|
||||||
|
-``FONTCONFIG_VERSION``
|
||||||
|
+``Fontconfig_VERSION``
|
||||||
|
the version of Fontconfig.
|
||||||
|
-``FONTCONFIG_LIBRARIES``
|
||||||
|
+``Fontconfig_LIBRARIES``
|
||||||
|
the libraries to link against to use Fontconfig.
|
||||||
|
-``FONTCONFIG_INCLUDE_DIRS``
|
||||||
|
+``Fontconfig_INCLUDE_DIRS``
|
||||||
|
where to find the Fontconfig headers.
|
||||||
|
-``FONTCONFIG_COMPILE_OPTIONS``
|
||||||
|
+``Fontconfig_COMPILE_OPTIONS``
|
||||||
|
this should be passed to target_compile_options(), if the
|
||||||
|
target is not used for linking
|
||||||
|
|
||||||
|
@@ -37,10 +37,10 @@ This will define the following variables in your project:
|
||||||
|
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||||
|
find_package(PkgConfig QUIET)
|
||||||
|
pkg_check_modules(PKG_FONTCONFIG QUIET fontconfig)
|
||||||
|
-set(FONTCONFIG_COMPILE_OPTIONS ${PKG_FONTCONFIG_CFLAGS_OTHER})
|
||||||
|
-set(FONTCONFIG_VERSION ${PKG_FONTCONFIG_VERSION})
|
||||||
|
+set(Fontconfig_COMPILE_OPTIONS ${PKG_FONTCONFIG_CFLAGS_OTHER})
|
||||||
|
+set(Fontconfig_VERSION ${PKG_FONTCONFIG_VERSION})
|
||||||
|
|
||||||
|
-find_path( FONTCONFIG_INCLUDE_DIR
|
||||||
|
+find_path( Fontconfig_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
fontconfig/fontconfig.h
|
||||||
|
HINTS
|
||||||
|
@@ -48,24 +48,24 @@ find_path( FONTCONFIG_INCLUDE_DIR
|
||||||
|
/usr/X11/include
|
||||||
|
)
|
||||||
|
|
||||||
|
-find_library( FONTCONFIG_LIBRARY
|
||||||
|
+find_library( Fontconfig_LIBRARY
|
||||||
|
NAMES
|
||||||
|
fontconfig
|
||||||
|
PATHS
|
||||||
|
${PKG_FONTCONFIG_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
-if (FONTCONFIG_INCLUDE_DIR AND NOT FONTCONFIG_VERSION)
|
||||||
|
- file(STRINGS ${FONTCONFIG_INCLUDE_DIR}/fontconfig/fontconfig.h _contents REGEX "^#define[ \t]+FC_[A-Z]+[ \t]+[0-9]+$")
|
||||||
|
- unset(FONTCONFIG_VERSION)
|
||||||
|
+if (Fontconfig_INCLUDE_DIR AND NOT Fontconfig_VERSION)
|
||||||
|
+ file(STRINGS ${Fontconfig_INCLUDE_DIR}/fontconfig/fontconfig.h _contents REGEX "^#define[ \t]+FC_[A-Z]+[ \t]+[0-9]+$")
|
||||||
|
+ unset(Fontconfig_VERSION)
|
||||||
|
foreach(VPART MAJOR MINOR REVISION)
|
||||||
|
foreach(VLINE ${_contents})
|
||||||
|
if(VLINE MATCHES "^#define[\t ]+FC_${VPART}[\t ]+([0-9]+)$")
|
||||||
|
- set(FONTCONFIG_VERSION_PART "${CMAKE_MATCH_1}")
|
||||||
|
- if(FONTCONFIG_VERSION)
|
||||||
|
- string(APPEND FONTCONFIG_VERSION ".${FONTCONFIG_VERSION_PART}")
|
||||||
|
+ set(Fontconfig_VERSION_PART "${CMAKE_MATCH_1}")
|
||||||
|
+ if(Fontconfig_VERSION)
|
||||||
|
+ string(APPEND Fontconfig_VERSION ".${Fontconfig_VERSION_PART}")
|
||||||
|
else()
|
||||||
|
- set(FONTCONFIG_VERSION "${FONTCONFIG_VERSION_PART}")
|
||||||
|
+ set(Fontconfig_VERSION "${Fontconfig_VERSION_PART}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
@@ -75,27 +75,27 @@ endif ()
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Fontconfig
|
||||||
|
FOUND_VAR
|
||||||
|
- FONTCONFIG_FOUND
|
||||||
|
+ Fontconfig_FOUND
|
||||||
|
REQUIRED_VARS
|
||||||
|
- FONTCONFIG_LIBRARY
|
||||||
|
- FONTCONFIG_INCLUDE_DIR
|
||||||
|
+ Fontconfig_LIBRARY
|
||||||
|
+ Fontconfig_INCLUDE_DIR
|
||||||
|
VERSION_VAR
|
||||||
|
- FONTCONFIG_VERSION
|
||||||
|
+ Fontconfig_VERSION
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
-if(FONTCONFIG_FOUND AND NOT TARGET Fontconfig::Fontconfig)
|
||||||
|
+if(Fontconfig_FOUND AND NOT TARGET Fontconfig::Fontconfig)
|
||||||
|
add_library(Fontconfig::Fontconfig UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(Fontconfig::Fontconfig PROPERTIES
|
||||||
|
- IMPORTED_LOCATION "${FONTCONFIG_LIBRARY}"
|
||||||
|
- INTERFACE_COMPILE_OPTIONS "${FONTCONFIG_COMPILE_OPTIONS}"
|
||||||
|
- INTERFACE_INCLUDE_DIRECTORIES "${FONTCONFIG_INCLUDE_DIR}"
|
||||||
|
+ IMPORTED_LOCATION "${Fontconfig_LIBRARY}"
|
||||||
|
+ INTERFACE_COMPILE_OPTIONS "${Fontconfig_COMPILE_OPTIONS}"
|
||||||
|
+ INTERFACE_INCLUDE_DIRECTORIES "${Fontconfig_INCLUDE_DIR}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-mark_as_advanced(FONTCONFIG_LIBRARY FONTCONFIG_INCLUDE_DIR)
|
||||||
|
+mark_as_advanced(Fontconfig_LIBRARY Fontconfig_INCLUDE_DIR)
|
||||||
|
|
||||||
|
-if(FONTCONFIG_FOUND)
|
||||||
|
- set(FONTCONFIG_LIBRARIES ${FONTCONFIG_LIBRARY})
|
||||||
|
- set(FONTCONFIG_INCLUDE_DIRS ${FONTCONFIG_INCLUDE_DIR})
|
||||||
|
+if(Fontconfig_FOUND)
|
||||||
|
+ set(Fontconfig_LIBRARIES ${Fontconfig_LIBRARY})
|
||||||
|
+ set(Fontconfig_INCLUDE_DIRS ${Fontconfig_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
|
diff --git a/Modules/FindX11.cmake b/Modules/FindX11.cmake
|
||||||
|
index 46a7449eda..b28dd125da 100644
|
||||||
|
--- a/Modules/FindX11.cmake
|
||||||
|
+++ b/Modules/FindX11.cmake
|
||||||
|
@@ -206,7 +206,7 @@ if (UNIX)
|
||||||
|
if(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
|
||||||
|
find_package(Freetype QUIET)
|
||||||
|
find_package(Fontconfig QUIET)
|
||||||
|
- if (FREETYPE_FOUND AND FONTCONFIG_FOUND)
|
||||||
|
+ if (FREETYPE_FOUND AND Fontconfig_FOUND)
|
||||||
|
set(X11_Xft_FOUND TRUE)
|
||||||
|
endif ()
|
||||||
|
list(APPEND X11_INCLUDE_DIR ${X11_Xft_INCLUDE_PATH})
|
||||||
|
diff --git a/Tests/FindFontconfig/Test/CMakeLists.txt b/Tests/FindFontconfig/Test/CMakeLists.txt
|
||||||
|
index 81db3ba4cd..36c76b1041 100644
|
||||||
|
--- a/Tests/FindFontconfig/Test/CMakeLists.txt
|
||||||
|
+++ b/Tests/FindFontconfig/Test/CMakeLists.txt
|
||||||
|
@@ -4,13 +4,13 @@ include(CTest)
|
||||||
|
|
||||||
|
find_package(Fontconfig REQUIRED)
|
||||||
|
|
||||||
|
-add_definitions(-DCMAKE_EXPECTED_FONTCONFIG_VERSION="${FONTCONFIG_VERSION}")
|
||||||
|
+add_definitions(-DCMAKE_EXPECTED_FONTCONFIG_VERSION="${Fontconfig_VERSION}")
|
||||||
|
|
||||||
|
add_executable(test_tgt main.c)
|
||||||
|
target_link_libraries(test_tgt Fontconfig::Fontconfig)
|
||||||
|
add_test(NAME test_tgt COMMAND test_tgt)
|
||||||
|
|
||||||
|
add_executable(test_var main.c)
|
||||||
|
-target_include_directories(test_var PRIVATE ${FONTCONFIG_INCLUDE_DIRS})
|
||||||
|
-target_link_libraries(test_var PRIVATE ${FONTCONFIG_LIBRARIES})
|
||||||
|
+target_include_directories(test_var PRIVATE ${Fontconfig_INCLUDE_DIRS})
|
||||||
|
+target_link_libraries(test_var PRIVATE ${Fontconfig_LIBRARIES})
|
||||||
|
add_test(NAME test_var COMMAND test_var)
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
Name: %{orig_name}%{?name_suffix}
|
Name: %{orig_name}%{?name_suffix}
|
||||||
Version: %{major_version}.%{minor_version}.0
|
Version: %{major_version}.%{minor_version}.0
|
||||||
Release: 1%{?relsuf}%{?dist}
|
Release: 2%{?relsuf}%{?dist}
|
||||||
Summary: Cross-platform make system
|
Summary: Cross-platform make system
|
||||||
|
|
||||||
# most sources are BSD
|
# most sources are BSD
|
||||||
@ -96,6 +96,9 @@ Patch101: %{name}-fedora-flag_release.patch
|
|||||||
# https://gitlab.kitware.com/cmake/cmake/issues/17600
|
# https://gitlab.kitware.com/cmake/cmake/issues/17600
|
||||||
Patch102: %{name}-mingw-dl.patch
|
Patch102: %{name}-mingw-dl.patch
|
||||||
|
|
||||||
|
## upstream fix for FindFontConfig.cmake conflict with ECM
|
||||||
|
Patch299: 0299-FindFontconfig-Convert-module-variables-to-camel-cas.patch
|
||||||
|
|
||||||
# Patch for renaming on EPEL
|
# Patch for renaming on EPEL
|
||||||
%if 0%{?name_suffix:1}
|
%if 0%{?name_suffix:1}
|
||||||
Patch1: %{name}-rename.patch
|
Patch1: %{name}-rename.patch
|
||||||
@ -479,6 +482,9 @@ mv -f Modules/FindLibArchive.disabled Modules/FindLibArchive.cmake
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 28 2019 Rex Dieter <rdieter@fedoraproject.org> - 3.14.0-2
|
||||||
|
- pull in upstream fix for conflict with ECM/FindFontConfig
|
||||||
|
|
||||||
* Fri Mar 15 2019 Björn Esser <besser82@fedoraproject.org> - 3.14.0-1
|
* Fri Mar 15 2019 Björn Esser <besser82@fedoraproject.org> - 3.14.0-1
|
||||||
- 3.14.0
|
- 3.14.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user