Add egl.pc
[platform/core/uifw/coregl.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(coregl C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(INCLUDEDIR "\${prefix}/include_KHR")
7 SET(COREGL_VERSION_MAJOR 4)
8 SET(COREGL_VERSION_MINOR 0)
9 SET(EGL_VERSION_MAJOR 1)
10 SET(EGL_VERSION_MINOR 4)
11 SET(GLES2_VERSION_MAJOR 2)
12 SET(GLES2_VERSION_MINOR 0)
13 SET(COREGL_VERSION "${COREGL_VERSION_MAJOR}.${COREGL_VERSION_MINOR}")
14 SET(EGL_VERSION "${EGL_VERSION_MAJOR}.${EGL_VERSION_MINOR}")
15 SET(GLES2_VERSION "${GLES2_VERSION_MAJOR}.${GLES2_VERSION_MINOR}")
16 SET(BUILD_ARCH "$ENV{RPM_ARCH}")
17
18 IF(${BUILD_ARCH} MATCHES "aarch64")
19 SET(LIBDIR "/usr/lib64")
20 ELSE(${BUILD_ARCH} MATCHES "aarch64")
21 SET(LIBDIR "/usr/lib")
22 ENDIF(${BUILD_ARCH} MATCHES "aarch64")
23
24 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include_KHR)
25
26 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
27
28 EXEC_PROGRAM(date OUTPUT_VARIABLE COMPILE_DATE)
29 ADD_DEFINITIONS("-D_COREGL_COMPILE_DATE=\"${COMPILE_DATE}\"")
30
31 IF(USE_ADRENO)
32 ADD_DEFINITIONS("-D_COREGL_VENDOR_EGL_LIB_PATH=\"/usr/lib/egl/libEGL.so\"")
33 ADD_DEFINITIONS("-D_COREGL_VENDOR_GL_LIB_PATH=\"/usr/lib/egl/libGLESv2.so\"")
34 ELSE(USE_ADRENO)
35 ADD_DEFINITIONS("-D_COREGL_VENDOR_EGL_LIB_PATH=\"${LIBDIR}/driver/libEGL.so\"")
36 ADD_DEFINITIONS("-D_COREGL_VENDOR_GL_LIB_PATH=\"${LIBDIR}/driver/libGLESv2.so\"")
37 ENDIF(USE_ADRENO)
38
39 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
40 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -O2 -fPIC -Wall -std=c99 -D_COREGL_EMBEDDED_GL")
41 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
42
43 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
44
45 #################################################################
46 # Build coregl Library
47 # ------------------------------
48 SET(COREGL "COREGL")
49 SET(SRCS_common
50                 src/coregl.c
51                 src/coregl_thread_pthread.c
52                 src/coregl_trace.c
53                 src/coregl_export.c
54                 src/coregl_export_egl.c
55                 src/coregl_export_gl.c
56                 src/modules/coregl_module.c
57                 src/modules/tracepath/coregl_tracepath.c
58                 src/modules/tracepath/coregl_tracepath_egl.c
59                 src/modules/tracepath/coregl_tracepath_gl.c
60
61                 src/modules/fastpath/coregl_fastpath.c
62                 src/modules/fastpath/coregl_fastpath_egl.c
63                 src/modules/fastpath/coregl_fastpath_gl.c
64
65                 src/modules/appopt/coregl_appopt.c
66                 src/modules/appopt/coregl_appopt_egl.c
67                 src/modules/appopt/coregl_appopt_gl.c
68 )
69 #################################################################
70 # Build egl Library
71 # ------------------------------
72 SET(EGL "EGL")
73 SET(EGL_SRCS_common
74                 src/wraps/coregl_egl.c
75 )
76 #################################################################
77 # Build gles2 Library
78 # ------------------------------
79 SET(GLES2 "GLESv2")
80 SET(GLES2_SRCS_common
81                 src/wraps/coregl_gl.c
82 )
83
84
85
86 #SET(HEADERS_common src/coregl_export.h src/coregl_fastpath.h src/coregl_fastpath_state.h src/coregl.h src/coregl_internal.h src/coregl_thread_pthread.h src/coregl_wrappath.h)
87
88 INCLUDE(FindPkgConfig)
89 pkg_check_modules(dlog REQUIRED dlog)
90 pkg_check_modules(libpng REQUIRED libpng)
91
92 INCLUDE_DIRECTORIES(${dlog_INCLUDE_DIRS})
93 INCLUDE_DIRECTORIES(${dlog_INCLUDEDIR})
94
95 FOREACH(flag ${pkg_common_CFLAGS})
96         SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} ${flag} -lGLESv2_drv -lEGL_drv")
97 ENDFOREACH(flag)
98
99 ADD_LIBRARY(${COREGL} SHARED ${SRCS_common})
100 SET_TARGET_PROPERTIES(${COREGL} PROPERTIES SOVERSION ${COREGL_VERSION_MAJOR})
101 SET_TARGET_PROPERTIES(${COREGL} PROPERTIES VERSION ${COREGL_VERSION})
102 #SET_TARGET_PROPERTIES(${COREGL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
103 TARGET_LINK_LIBRARIES(${COREGL} ${pkg_common_LDFLAGS} ${dlog_LIBRARIES} "-ldl -g -O2 -fvisibility=hidden -Wall -std=c99 -lpthread")
104
105 ADD_LIBRARY(${EGL} SHARED ${EGL_SRCS_common})
106 SET_TARGET_PROPERTIES(${EGL} PROPERTIES SOVERSION ${EGL_VERSION_MAJOR})
107 SET_TARGET_PROPERTIES(${EGL} PROPERTIES VERSION ${EGL_VERSION})
108 #SET_TARGET_PROPERTIES(${COREGL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
109 TARGET_LINK_LIBRARIES(${EGL} ${pkg_common_LDFLAGS} ${dlog_LIBRARIES} "-ldl -g -O2 -fvisibility=hidden -Wall -std=c99 -lpthread")
110
111 ADD_LIBRARY(${GLES2} SHARED ${GLES2_SRCS_common})
112 SET_TARGET_PROPERTIES(${GLES2} PROPERTIES SOVERSION ${GLES2_VERSION_MAJOR})
113 SET_TARGET_PROPERTIES(${GLES2} PROPERTIES VERSION ${GLES2_VERSION})
114 #SET_TARGET_PROPERTIES(${COREGL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
115 TARGET_LINK_LIBRARIES(${GLES2} ${pkg_common_LDFLAGS} ${dlog_LIBRARIES} "-ldl -g -O2 -fvisibility=hidden -Wall -std=c99 -lpthread")
116
117 INSTALL(TARGETS ${COREGL} DESTINATION lib COMPONENT RuntimeLibraries)
118 INSTALL(TARGETS ${EGL} DESTINATION lib COMPONENT RuntimeLibraries)
119 INSTALL(TARGETS ${GLES2} DESTINATION lib COMPONENT RuntimeLibraries)
120
121 #FOREACH(hfile ${HEADERS_common})
122 #       INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/coregl)
123 #ENDFOREACH(hfile)
124 #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/coregl.h DESTINATION include)
125