aboutsummaryrefslogtreecommitdiff
path: root/ports/skia/skiaConfig.cmake.in
blob: 8ce8c1002d26a208a1a44f162f6ee50f362cacf7 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
add_library(skia INTERFACE)
add_library(skia::skia ALIAS skia)
set(SKIA_DEP_DBG @SKIA_DEP_DBG@)
set(SKIA_DEP_REL @SKIA_DEP_REL@)

set(SKIA_LIBRARY_NAME_DBG @SKIA_LIBRARY_NAME_DBG@)
set(SKIA_LIBRARY_NAME_REL @SKIA_LIBRARY_NAME_REL@)
set(SKIA_LIBRARY_IMPLIB_DBG @SKIA_LIBRARY_IMPLIB_DBG@)
set(SKIA_LIBRARY_IMPLIB_REL @SKIA_LIBRARY_IMPLIB_REL@)

set(SKIA_PUBLIC_DEFINITIONS @SKIA_PUBLIC_DEFINITIONS@)

# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
  set(_IMPORT_PREFIX "")
endif()

find_library(SKIA_LIB NAMES skia skia.dll)
target_link_libraries(skia INTERFACE "${SKIA_LIB}")

function(set_dependencies CONFIG LIBRARIES)
    foreach(LIB ${LIBRARIES})
        if(LIB MATCHES "^/")
            if(WIN32)
                string(SUBSTRING "${LIB}" 1 -1 LIB)
            endif()
            target_link_libraries(skia INTERFACE 
                "$<$<CONFIG:${CONFIG}>:${LIB}>")
        else()
            string(REGEX REPLACE "\\.framework" "" LIB ${LIB})
            string(REGEX REPLACE "[^a-zA-Z]" "_" LIB_NAME ${LIB})
            string(TOUPPER ${LIB_NAME} LIB_NAME)
            set(LIB_NAME SKIA_${LIB_NAME}_LIBRARY)
            find_library(${LIB_NAME} ${LIB})
            target_link_libraries(skia INTERFACE 
                "$<$<CONFIG:${CONFIG}>:${${LIB_NAME}}>")
        endif()
    endforeach()
endfunction()

set_dependencies(Debug "${SKIA_DEP_DBG}")
set_dependencies(Release "${SKIA_DEP_REL}")

set(SKIA_DEFINITIONS_DBG
        _CRT_SECURE_NO_WARNINGS
        _HAS_EXCEPTIONS=0
        WIN32_LEAN_AND_MEAN
        NOMINMAX
        SK_GL
        SK_ENABLE_DUMP_GPU
        SK_SUPPORT_PDF
        SK_HAS_JPEG_LIBRARY
        SK_USE_LIBGIFCODEC
        SK_HAS_HEIF_LIBRARY
        SK_HAS_PNG_LIBRARY
        SK_ENABLE_SKSL_INTERPRETER
        SK_HAS_WEBP_LIBRARY
        SK_XML
        SKIA_DLL
        SK_SUPPORT_ATLAS_TEXT=1)

set(SKIA_DEFINITIONS_REL
        _CRT_SECURE_NO_WARNINGS
        _HAS_EXCEPTIONS=0
        WIN32_LEAN_AND_MEAN
        NOMINMAX
        NDEBUG
        SK_GL
        SK_SUPPORT_PDF
        SK_HAS_JPEG_LIBRARY
        SK_USE_LIBGIFCODEC
        SK_HAS_PNG_LIBRARY
        SK_HAS_WEBP_LIBRARY
        SK_XML
        SKIA_DLL)

target_compile_definitions(skia INTERFACE
        $<$<CONFIG:Debug>:${SKIA_DEFINITIONS_DBG}>
        $<$<CONFIG:Release>:${SKIA_DEFINITIONS_REL}>)

target_include_directories(skia INTERFACE ${_IMPORT_PREFIX}/include)
target_compile_definitions(skia INTERFACE ${SKIA_PUBLIC_DEFINITIONS})