summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-03-26 13:44:52 -0400
committerBrad King <brad.king@kitware.com>2019-03-26 14:14:09 -0400
commita3a1e69f8a8e6571bbb8c9257b401f04c22bd1e2 (patch)
tree85da4b56082686a8bfaea0c61fb855dc3197707c
parentbf02d625325535f485512eba307cff54c08bb257 (diff)
downloadcmake-a3a1e69f8a8e6571bbb8c9257b401f04c22bd1e2.tar.gz
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
-rw-r--r--Help/release/3.14.rst14
-rw-r--r--Modules/FindFontconfig.cmake56
-rw-r--r--Modules/FindX11.cmake2
-rw-r--r--Tests/FindFontconfig/Test/CMakeLists.txt6
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)