mirror of
https://github.com/aseprite/aseprite.git
synced 2024-09-02 13:09:27 +00:00
Add support for shared harfbuzz
-DUSE_SHARED_HARFBUZZ (OFF by default)
This commit is contained in:
parent
5d7bf622ba
commit
b1a6b668da
@ -70,6 +70,7 @@ option(USE_SHARED_LIBWEBP "Use your installed copy of libwebp" off)
|
|||||||
option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
|
option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
|
||||||
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
|
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
|
||||||
option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
|
option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
|
||||||
|
option(USE_SHARED_HARFBUZZ "Use shared Harfbuzz library" off)
|
||||||
option(USE_SHARED_ALLEGRO4 "Use shared Allegro 4 library (without resize support)" off)
|
option(USE_SHARED_ALLEGRO4 "Use shared Allegro 4 library (without resize support)" off)
|
||||||
option(ENABLE_MEMLEAK "Enable memory-leaks detector (only for developers)" off)
|
option(ENABLE_MEMLEAK "Enable memory-leaks detector (only for developers)" off)
|
||||||
option(ENABLE_UPDATER "Enable automatic check for updates" on)
|
option(ENABLE_UPDATER "Enable automatic check for updates" on)
|
||||||
@ -258,8 +259,13 @@ endif()
|
|||||||
include_directories(${FREETYPE_INCLUDE_DIRS})
|
include_directories(${FREETYPE_INCLUDE_DIRS})
|
||||||
|
|
||||||
# harfbuzz
|
# harfbuzz
|
||||||
set(HARFBUZZ_LIBRARIES harfbuzz)
|
if(USE_SHARED_HARFBUZZ)
|
||||||
set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_DIR}/src)
|
find_package(HarfBuzz)
|
||||||
|
else()
|
||||||
|
set(HARFBUZZ_LIBRARIES harfbuzz)
|
||||||
|
set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_DIR}/src)
|
||||||
|
endif()
|
||||||
|
include_directories(${HARFBUZZ_INCLUDE_DIRS})
|
||||||
|
|
||||||
if(USE_SHARED_GIFLIB)
|
if(USE_SHARED_GIFLIB)
|
||||||
find_package(GIF REQUIRED)
|
find_package(GIF REQUIRED)
|
||||||
|
72
cmake/FindHarfBuzz.cmake
Normal file
72
cmake/FindHarfBuzz.cmake
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# Copyright (c) 2012, Intel Corporation
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice, this
|
||||||
|
# list of conditions and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions and the following disclaimer in the documentation
|
||||||
|
# and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of Intel Corporation nor the names of its contributors may
|
||||||
|
# be used to endorse or promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# Try to find Harfbuzz include and library directories.
|
||||||
|
#
|
||||||
|
# After successful discovery, this will set for inclusion where needed:
|
||||||
|
# HARFBUZZ_INCLUDE_DIRS - containg the HarfBuzz headers
|
||||||
|
# HARFBUZZ_LIBRARIES - containg the HarfBuzz library
|
||||||
|
|
||||||
|
include(FindPkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_HARFBUZZ harfbuzz>=0.9.7)
|
||||||
|
|
||||||
|
find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
|
||||||
|
HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
|
||||||
|
HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# HarfBuzz 0.9.18 split ICU support into a separate harfbuzz-icu library.
|
||||||
|
if ("${PC_HARFBUZZ_VERSION}" VERSION_GREATER "0.9.17")
|
||||||
|
if (HarfBuzz_FIND_REQUIRED)
|
||||||
|
set(_HARFBUZZ_REQUIRED REQUIRED)
|
||||||
|
else ()
|
||||||
|
set(_HARFBUZZ_REQUIRED "")
|
||||||
|
endif ()
|
||||||
|
pkg_check_modules(PC_HARFBUZZ_ICU harfbuzz-icu>=0.9.18 ${_HARFBUZZ_REQUIRED})
|
||||||
|
find_library(HARFBUZZ_ICU_LIBRARIES NAMES harfbuzz-icu
|
||||||
|
HINTS ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} ${PC_HARFBUZZ_ICU_LIBDIR}
|
||||||
|
)
|
||||||
|
if (HARFBUZZ_ICU_LIBRARIES)
|
||||||
|
list(APPEND HARFBUZZ_LIBRARIES "${HARFBUZZ_ICU_LIBRARIES}")
|
||||||
|
endif ()
|
||||||
|
set(_HARFBUZZ_EXTRA_REQUIRED_VAR "HARFBUZZ_ICU_LIBRARIES")
|
||||||
|
else ()
|
||||||
|
set(_HARFBUZZ_EXTRA_REQUIRED_VAR "")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(HarfBuzz DEFAULT_MSG HARFBUZZ_INCLUDE_DIRS
|
||||||
|
HARFBUZZ_LIBRARIES ${_HARFBUZZ_EXTRA_REQUIRED_VAR})
|
||||||
|
|
||||||
|
mark_as_advanced(
|
||||||
|
HARFBUZZ_ICU_LIBRARIES
|
||||||
|
HARFBUZZ_INCLUDE_DIRS
|
||||||
|
HARFBUZZ_LIBRARIES
|
||||||
|
)
|
5
third_party/CMakeLists.txt
vendored
5
third_party/CMakeLists.txt
vendored
@ -86,7 +86,10 @@ if(NOT USE_SHARED_FREETYPE)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(harfbuzz-cmake)
|
if(NOT USE_SHARED_HARFBUZZ)
|
||||||
|
add_subdirectory(harfbuzz-cmake)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(simpleini)
|
add_subdirectory(simpleini)
|
||||||
add_subdirectory(fmt)
|
add_subdirectory(fmt)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user