tizen 2.4 release
[sdk/emulator-yagl.git] / EGL / CMakeLists.txt
1 set(SOURCES
2     yagl_avl.c
3     yagl_vector.c
4     yagl_range_list.c
5     yagl_object.c
6     yagl_namespace.c
7     yagl_sharegroup.c
8     yagl_client_image.c
9     yagl_transport.c
10     yagl_context.c
11     yagl_display.c
12     yagl_egl_calls.c
13     yagl_egl_state.c
14     yagl_egl_fence.c
15     yagl_host_egl_calls.c
16     yagl_image.c
17     yagl_log.c
18     yagl_malloc.c
19     yagl_offscreen.c
20     yagl_offscreen_image_pixmap.c
21     yagl_offscreen_surface.c
22     yagl_onscreen.c
23     yagl_onscreen_image_pixmap.c
24     yagl_onscreen_image_gl_texture_2d.c
25     yagl_onscreen_image_tizen_sfc.c
26     yagl_onscreen_surface.c
27     yagl_onscreen_fence.c
28     yagl_onscreen_utils.c
29     yagl_ref.c
30     yagl_render.c
31     yagl_resource.c
32     yagl_state.c
33     yagl_surface.c
34     yagl_fence.c
35     yagl_utils.c
36     yagl_native_platform.c
37     yagl_native_display.c
38     yagl_native_drawable.c
39     yagl_native_image.c
40 )
41
42 set(LIBRARIES
43     ${CMAKE_THREAD_LIBS_INIT}
44     ${LIBDRM_LIBRARIES}
45     ${LIBDRM_VIGS_LIBRARIES}
46     ${LIBTBM_LIBRARIES}
47     dl
48 )
49
50 if (PLATFORM_X11)
51     set(SOURCES ${SOURCES}
52         x11/yagl_dri2.c
53         x11/yagl_dri3.c
54         x11/yagl_x11_platform.c
55         x11/yagl_x11_display.c
56         x11/yagl_x11_drawable.c
57         x11/yagl_x11_image.c
58     )
59     set(LIBRARIES ${LIBRARIES}
60         ${X11_LIBRARIES}
61         ${XEXT_LIBRARIES}
62         ${XFIXES_LIBRARIES}
63         ${XCB_LIBRARIES}
64         X11-xcb
65         xcb-dri3
66         xcb-present
67         xshmfence
68         xcb-sync
69     )
70     add_definitions(-DYAGL_PLATFORM_X11)
71 endif ()
72
73 if (PLATFORM_GBM)
74     set(SOURCES ${SOURCES}
75         gbm/yagl_gbm_platform.c
76         gbm/yagl_gbm_display.c
77         gbm/yagl_gbm_window.c
78         gbm/yagl_gbm_pixmap.c
79     )
80     set(LIBRARIES ${LIBRARIES}
81         gbm-yagl
82         ${LIBUDEV_LIBRARIES}
83     )
84     add_definitions(-DYAGL_PLATFORM_GBM)
85 endif ()
86
87 if (PLATFORM_WAYLAND)
88     set(SOURCES ${SOURCES}
89         wayland/yagl_wayland_platform.c
90         wayland/yagl_wayland_display.c
91         wayland/yagl_wayland_window.c
92         yagl_onscreen_image_wl_buffer.c
93     )
94     set(LIBRARIES ${LIBRARIES}
95         wayland-egl-yagl
96         wayland-drm
97         ${WAYLAND_CLIENT_LIBRARIES}
98     )
99     add_definitions(-DYAGL_PLATFORM_WAYLAND)
100 endif ()
101
102 include_directories(.)
103
104 add_library(EGL SHARED ${SOURCES})
105 set_target_properties(EGL PROPERTIES VERSION 1.0 SOVERSION 1)
106
107 target_link_libraries(EGL ${LIBRARIES})
108
109 install(
110     TARGETS EGL
111     LIBRARY DESTINATION ${INSTALL_LIB_DIR}
112 )