aseprite/third_party/harfbuzz-cmake/CMakeLists.txt

84 lines
2.4 KiB
CMake

# Copyright (C) 2017 by David Capello
set(USE_UCDN 1)
set(USE_ICU 0)
add_definitions(-DHAVE_OT)
if(USE_UCDN)
add_definitions(-DHAVE_UCDN)
set(HARFBUZZ_EXTRA_SOURCES
../harfbuzz/src/hb-ucdn.cc)
endif()
if(USE_ICU)
add_definitions(
-DHAVE_ICU
-DHAVE_ICU_BUILTIN)
set(HARFBUZZ_EXTRA_SOURCES
../harfbuzz/src/hb-icu.cc)
endif()
if(UNIX AND NOT APPLE)
include(CheckCSourceCompiles)
check_c_source_compiles("
void memory_barrier (void) { __sync_synchronize (); }
int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); }
int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); }
void mutex_unlock (int *m) { __sync_lock_release (m); }
int main() { ; return 0; }"
HAVE_INTEL_ATOMIC_PRIMITIVES)
if(HAVE_INTEL_ATOMIC_PRIMITIVES)
add_definitions(-DHAVE_INTEL_ATOMIC_PRIMITIVES)
endif()
endif()
add_library(harfbuzz
../harfbuzz/src/hb-blob.cc
../harfbuzz/src/hb-buffer-serialize.cc
../harfbuzz/src/hb-buffer.cc
../harfbuzz/src/hb-common.cc
../harfbuzz/src/hb-face.cc
../harfbuzz/src/hb-font.cc
../harfbuzz/src/hb-ft.cc
../harfbuzz/src/hb-ot-font.cc
../harfbuzz/src/hb-ot-layout.cc
../harfbuzz/src/hb-ot-map.cc
../harfbuzz/src/hb-ot-math.cc
../harfbuzz/src/hb-ot-shape-complex-arabic.cc
../harfbuzz/src/hb-ot-shape-complex-default.cc
../harfbuzz/src/hb-ot-shape-complex-hangul.cc
../harfbuzz/src/hb-ot-shape-complex-hebrew.cc
../harfbuzz/src/hb-ot-shape-complex-indic-table.cc
../harfbuzz/src/hb-ot-shape-complex-indic.cc
../harfbuzz/src/hb-ot-shape-complex-myanmar.cc
../harfbuzz/src/hb-ot-shape-complex-thai.cc
../harfbuzz/src/hb-ot-shape-complex-tibetan.cc
../harfbuzz/src/hb-ot-shape-complex-use-table.cc
../harfbuzz/src/hb-ot-shape-complex-use.cc
../harfbuzz/src/hb-ot-shape-fallback.cc
../harfbuzz/src/hb-ot-shape-normalize.cc
../harfbuzz/src/hb-ot-shape.cc
../harfbuzz/src/hb-ot-tag.cc
../harfbuzz/src/hb-ot-var.cc
../harfbuzz/src/hb-set.cc
../harfbuzz/src/hb-shape-plan.cc
../harfbuzz/src/hb-shape.cc
../harfbuzz/src/hb-shaper.cc
../harfbuzz/src/hb-unicode.cc
../harfbuzz/src/hb-warning.cc
${HARFBUZZ_EXTRA_SOURCES})
target_include_directories(harfbuzz PUBLIC
../harfbuzz/src)
target_link_libraries(harfbuzz freetype)
if(USE_UCDN)
add_library(ucdn
../harfbuzz/src/hb-ucdn/ucdn.c)
target_include_directories(ucdn PUBLIC
../harfbuzz/src/hb-ucdn)
target_link_libraries(harfbuzz ucdn)
endif(USE_UCDN)