blob: 0ef0e5b92d13b0bcbefbef3534577f2a2990c26a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
if (UNIX)
set(LIB_ARCH_DIR ${CMAKE_SYSTEM_PREFIX_PATH})
list(TRANSFORM LIB_ARCH_DIR APPEND "/lib/${CMAKE_LIBRARY_ARCHITECTURE}")
message("${LIB_ARCH_DIR}")
find_library(LIB_CAIRO cairo REQUIRED)
find_library(LIB_GOBJECT NAMES gobject gobject-2.0 REQUIRED)
find_library(LIB_PANGO NAMES pango pango-1.0 REQUIRED)
find_library(LIB_PANGOCAIRO NAMES pangocairo pangocairo-1.0 REQUIRED)
find_path(CAIRO_HEADER_DIR NAMES cairo.h PATH_SUFFIXES cairo REQUIRED)
find_path(GLIB_HEADER_DIR NAMES glib.h PATH_SUFFIXES glib glib-2.0 REQUIRED)
find_path(GLIBCONFIG_HEADER_DIR NAMES glibconfig.h HINTS ${LIB_ARCH_DIR} PATH_SUFFIXES glib glib/include glib-2.0 glib-2.0/include REQUIRED)
find_path(HARFBUZZ_HEADER_DIR NAMES hb.h PATH_SUFFIXES harfbuzz REQUIRED)
find_path(PANGO_HEADER_DIR NAMES pango PATH_SUFFIXES pango pango-1.0 REQUIRED)
add_library(CruPlatformGraphicsCairo SHARED
Base.cpp
CairoBrush.cpp
CairoGeometry.cpp
CairoGraphicsFactory.cpp
CairoPainter.cpp
CairoResource.cpp
PangoFont.cpp
PangoTextLayout.cpp
)
target_compile_definitions(CruPlatformGraphicsCairo PRIVATE CRU_PLATFORM_GRAPHICS_CAIRO_EXPORT_API)
target_link_libraries(CruPlatformGraphicsCairo PUBLIC CruPlatformGraphics PUBLIC ${LIB_GOBJECT} ${LIB_CAIRO} ${LIB_PANGO} ${LIB_PANGOCAIRO})
target_include_directories(CruPlatformGraphicsCairo PUBLIC ${CAIRO_HEADER_DIR} ${GLIB_HEADER_DIR} ${GLIBCONFIG_HEADER_DIR} ${HARFBUZZ_HEADER_DIR} ${PANGO_HEADER_DIR})
endif()
|