diff options
author | Brad King <brad.king@kitware.com> | 2019-03-26 13:44:52 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-03-26 14:14:09 -0400 |
commit | a3a1e69f8a8e6571bbb8c9257b401f04c22bd1e2 (patch) | |
tree | 85da4b56082686a8bfaea0c61fb855dc3197707c | |
parent | bf02d625325535f485512eba307cff54c08bb257 (diff) | |
download | cmake-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.rst | 14 | ||||
-rw-r--r-- | Modules/FindFontconfig.cmake | 56 | ||||
-rw-r--r-- | Modules/FindX11.cmake | 2 | ||||
-rw-r--r-- | 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) |