aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/angle/cmake-buildsystem/PlatformMac.cmake
blob: fdfdc35df52a2a4f6afb6adc9e81afa1fcf903f3 (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
find_package(ZLIB REQUIRED)

list(APPEND ANGLE_SOURCES
    ${libangle_gpu_info_util_mac_sources}
    ${libangle_gpu_info_util_sources}
    ${libangle_mac_sources}
)

list(APPEND ANGLEGLESv2_LIBRARIES
    "-framework CoreGraphics"
    "-framework Foundation"
    "-framework IOKit"
    "-framework IOSurface"
    "-framework Quartz"
)

# Metal backend
if(USE_METAL)
    list(APPEND ANGLE_SOURCES
        ${metal_backend_sources}

        ${angle_translator_lib_msl_sources}

        ${angle_translator_glsl_apple_sources}
    )

    list(APPEND ANGLE_DEFINITIONS
        ANGLE_ENABLE_METAL
    )

    list(APPEND ANGLEGLESv2_LIBRARIES
        "-framework Metal"
    )
endif()

# OpenGL backend
if(USE_OPENGL)
    list(APPEND ANGLE_SOURCES
        ${angle_translator_glsl_base_sources}
        ${angle_translator_glsl_sources}
        ${angle_translator_glsl_apple_sources}
    )
    # Enable GLSL compiler output.
    list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL ANGLE_ENABLE_GL_DESKTOP_BACKEND ANGLE_ENABLE_APPLE_WORKAROUNDS ANGLE_ENABLE_CGL)

    # Still need to link with Metal as we call MTLCreateSystemDefaultDevice even if USE_METAL is not defined
    list(APPEND ANGLEGLESv2_LIBRARIES
        "-framework Metal"
    )
endif()

if(USE_OPENGL OR ENABLE_WEBGL)
    list(APPEND ANGLE_SOURCES
        ${gl_backend_sources}

        ${libangle_gl_egl_dl_sources}
        ${libangle_gl_egl_sources}
        ${libangle_gl_sources}
    )

    list(APPEND ANGLE_DEFINITIONS
        ANGLE_ENABLE_OPENGL
    )
endif()