From 322f6cd8057cc4c8018eb5efa17c692ce5bde0cf Mon Sep 17 00:00:00 2001 From: Artem Pavlenko Date: Wed, 3 Aug 2022 16:19:07 +0100 Subject: [PATCH] Fix font installation logic --- CMakeLists.txt | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f2dc1f02d..d87a7052d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,11 +5,11 @@ cmake_minimum_required(VERSION 3.15) include(cmake/GetVersion.cmake) get_mapnik_version() -project(mapnik +project(mapnik VERSION ${MAPNIK_MAJOR_VERSION}.${MAPNIK_MINOR_VERSION}.${MAPNIK_PATCH_VERSION} - HOMEPAGE_URL "https://mapnik.org/" - DESCRIPTION "Mapnik is an open source toolkit for developing mapping applications" - LANGUAGES CXX + HOMEPAGE_URL "https://mapnik.org/" + DESCRIPTION "Mapnik is an open source toolkit for developing mapping applications" + LANGUAGES CXX ) message(STATUS "mapnik version: ${PROJECT_VERSION}") @@ -116,7 +116,7 @@ endif() set(PLUGINS_INSTALL_DIR ${DEFAULT_PLUGINS_INSTALL_DIR} CACHE STRING "installs the plugins in the specified directory") message(STATUS "Installing plugins to ${PLUGINS_INSTALL_DIR}") -set(FONTS_INSTALL_DIR ${MAPNIK_BIN_DIR}/fonts CACHE STRING "installs the fonts in the specified directory") +set(FONTS_INSTALL_DIR ${MAPNIK_LIB_DIR}/mapnik/fonts CACHE STRING "installs the fonts in the specified directory") message(STATUS "Installing fonts to ${FONTS_INSTALL_DIR}") set(MAPNIK_COMPILE_DEFS "") @@ -159,7 +159,7 @@ if(harfbuzz_FOUND) message(STATUS "Found harfbuzz native cmake") list(APPEND MAPNIK_OPTIONAL_LIBS harfbuzz::harfbuzz) else() - # Use pkg-config when harfbuzz is not found. + # Use pkg-config when harfbuzz is not found. # It might be possible that in future version harfbuzz could only be found via pkg-config. # harfbuzz related discussion: https://github.com/harfbuzz/harfbuzz/issues/2653 message(STATUS "harfbuzz not found via cmake. Searching via pkg-config...") @@ -174,13 +174,13 @@ if(USE_EXTERNAL_MAPBOX_GEOMETRY) find_path(MAPBOX_GEOMETRY_INCLUDE_DIRS "mapbox/geometry.hpp" REQUIRED) endif() else() - set(MAPBOX_GEOMETRY_INCLUDE_DIRS + set(MAPBOX_GEOMETRY_INCLUDE_DIRS $ $ ) endif() if(NOT MAPBOX_GEOMETRY_INCLUDE_DIRS) - message(FATAL_ERROR "Set -DMAPBOX_GEOMETRY_INCLUDE_DIRS to the mapbox/geometry.hpp include dir") + message(FATAL_ERROR "Set -DMAPBOX_GEOMETRY_INCLUDE_DIRS to the mapbox/geometry.hpp include dir") endif() if(USE_EXTERNAL_MAPBOX_POLYLABEL) @@ -189,13 +189,13 @@ if(USE_EXTERNAL_MAPBOX_POLYLABEL) find_path(MAPBOX_POLYLABEL_INCLUDE_DIRS "mapbox/polylabel.hpp") endif() else() - set(MAPBOX_POLYLABEL_INCLUDE_DIRS + set(MAPBOX_POLYLABEL_INCLUDE_DIRS $ $ ) endif() if(NOT MAPBOX_POLYLABEL_INCLUDE_DIRS) - message(FATAL_ERROR "Set MAPBOX_POLYLABEL_INCLUDE_DIRS to the mapbox/geometry include dir") + message(FATAL_ERROR "Set MAPBOX_POLYLABEL_INCLUDE_DIRS to the mapbox/geometry include dir") endif() if(USE_EXTERNAL_MAPBOX_PROTOZERO) @@ -204,13 +204,13 @@ if(USE_EXTERNAL_MAPBOX_PROTOZERO) find_path(MAPBOX_PROTOZERO_INCLUDE_DIRS "protozero/pbf_message.hpp") endif() else() - set(MAPBOX_PROTOZERO_INCLUDE_DIRS + set(MAPBOX_PROTOZERO_INCLUDE_DIRS $ $ ) endif() if(NOT MAPBOX_PROTOZERO_INCLUDE_DIRS) - message(FATAL_ERROR "Set MAPBOX_PROTOZERO_INCLUDE_DIRS to the mapbox/protozero include dir") + message(FATAL_ERROR "Set MAPBOX_PROTOZERO_INCLUDE_DIRS to the mapbox/protozero include dir") endif() if(USE_EXTERNAL_MAPBOX_VARIANT) @@ -219,13 +219,13 @@ if(USE_EXTERNAL_MAPBOX_VARIANT) find_path(MAPBOX_VARIANT_INCLUDE_DIRS "mapbox/variant.hpp") endif() else() - set(MAPBOX_VARIANT_INCLUDE_DIRS + set(MAPBOX_VARIANT_INCLUDE_DIRS $ $ ) endif() if(NOT MAPBOX_VARIANT_INCLUDE_DIRS) - message(FATAL_ERROR "Set MAPBOX_VARIANT_INCLUDE_DIRS to the mapbox/variant include dir") + message(FATAL_ERROR "Set MAPBOX_VARIANT_INCLUDE_DIRS to the mapbox/variant include dir") endif() # (used by MapnikInstall.cmake. properties are needed since "set(...)" will be out of scope @@ -237,7 +237,7 @@ if(USE_GLIBC_WORKAROUND) list(APPEND MAPNIK_COMPILE_DEFS MAPNIK_ENABLE_GLIBC_WORKAROUND) endif() -if(USE_BIGINT) +if(USE_BIGINT) list(APPEND MAPNIK_COMPILE_DEFS BIGINT) endif() @@ -338,7 +338,7 @@ if(USE_SVG_RENDERER) list(APPEND MAPNIK_COMPILE_DEFS SVG_RENDERER) endif() -if(NOT WIN32) +if(NOT WIN32) message(STATUS "Compiling with -DMAPNIK_HAS_DLCFN") list(APPEND MAPNIK_COMPILE_DEFS MAPNIK_HAS_DLCFN) list(APPEND MAPNIK_OPTIONAL_LIBS ${CMAKE_DL_LIBS}) @@ -352,8 +352,8 @@ add_compile_options("$<$:/utf-8>") add_library(core INTERFACE) add_library(mapnik::core ALIAS core) -target_include_directories(core INTERFACE - $ +target_include_directories(core INTERFACE + $ $ $ $ @@ -362,7 +362,7 @@ target_include_directories(core INTERFACE $ ${MAPNIK_OPTIONAL_LIBS_INCLUDE} ) -target_link_libraries(core INTERFACE +target_link_libraries(core INTERFACE Threads::Threads ICU::uc ICU::data @@ -399,7 +399,8 @@ include(MapnikExportPkgConfig) install(DIRECTORY include/ DESTINATION ${MAPNIK_INCLUDE_DIR}) install(DIRECTORY deps/agg/include/ DESTINATION ${MAPNIK_INCLUDE_DIR}) install(DIRECTORY deps/mapnik DESTINATION ${MAPNIK_INCLUDE_DIR}) -install(DIRECTORY fonts/ DESTINATION ${FONTS_INSTALL_DIR} FILES_MATCHING PATTERN "*.py" EXCLUDE PATTERN "*") +file(GLOB TTF_FONT_FILES "fonts/*/*/*.ttf") +install(FILES ${TTF_FONT_FILES} DESTINATION ${FONTS_INSTALL_DIR}) if(NOT USE_EXTERNAL_MAPBOX_GEOMETRY) install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mapbox/geometry/include/ DESTINATION ${MAPNIK_INCLUDE_DIR})