[Title] Modified CMakeLists to apply libCOREGL 4
[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(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include")
8 SET(COREGL_VERSION_MAJOR 4)
9 SET(COREGL_VERSION_MINOR 0)
10 SET(EGL_VERSION_MAJOR 1)
11 SET(EGL_VERSION_MINOR 4)
12 SET(GLES2_VERSION_MAJOR 2)
13 SET(GLES2_VERSION_MINOR 0)
14 SET(COREGL_VERSION "${COREGL_VERSION_MAJOR}.${COREGL_VERSION_MINOR}")
15 SET(EGL_VERSION "${EGL_VERSION_MAJOR}.${EGL_VERSION_MINOR}")
16 SET(GLES2_VERSION "${GLES2_VERSION_MAJOR}.${GLES2_VERSION_MINOR}")
17
18 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
19
20 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
21
22 EXEC_PROGRAM(date OUTPUT_VARIABLE COMPILE_DATE)
23 ADD_DEFINITIONS("-D_COREGL_COMPILE_DATE=\"${COMPILE_DATE}\"")
24
25 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
26 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -O2 -fPIC -Wall -std=c99 -D_COREGL_EMBEDDED_GL")
27 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
28
29 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
30
31 #################################################################
32 # Build coregl Library
33 # ------------------------------
34 SET(COREGL "COREGL")
35 SET(SRCS_common
36                 src/coregl.c
37                 src/coregl_thread_pthread.c
38                 src/coregl_trace.c
39                 src/coregl_export.c
40                 src/coregl_export_egl.c
41                 src/coregl_export_gl.c
42                 src/modules/coregl_module.c
43                 src/modules/tracepath/coregl_tracepath.c
44                 src/modules/tracepath/coregl_tracepath_egl.c
45                 src/modules/tracepath/coregl_tracepath_gl.c
46
47                 src/modules/fastpath/coregl_fastpath.c
48                 src/modules/fastpath/coregl_fastpath_egl.c
49                 src/modules/fastpath/coregl_fastpath_gl.c
50
51                 src/modules/appopt/coregl_appopt.c
52                 src/modules/appopt/coregl_appopt_egl.c
53                 src/modules/appopt/coregl_appopt_gl.c
54 )
55 #################################################################
56 # Build egl Library
57 # ------------------------------
58 SET(EGL "EGL")
59 SET(EGL_SRCS_common
60                 src/wraps/coregl_egl.c
61 )
62 #################################################################
63 # Build gles2 Library
64 # ------------------------------
65 SET(GLES2 "GLESv2")
66 SET(GLES2_SRCS_common
67                 src/wraps/coregl_gl.c
68 )
69
70
71
72 #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)
73
74 INCLUDE(FindPkgConfig)
75 pkg_check_modules(pkg_common REQUIRED x11)
76 pkg_check_modules(dlog REQUIRED dlog)
77
78 INCLUDE_DIRECTORIES(${dlog_INCLUDE_DIRS})
79 INCLUDE_DIRECTORIES(${dlog_INCLUDEDIR})
80
81 FOREACH(flag ${pkg_common_CFLAGS})
82         SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} ${flag} -lGLESv2_drv -lEGL_drv")
83 ENDFOREACH(flag)
84
85 ADD_LIBRARY(${COREGL} SHARED ${SRCS_common})
86 SET_TARGET_PROPERTIES(${COREGL} PROPERTIES SOVERSION ${COREGL_VERSION_MAJOR})
87 SET_TARGET_PROPERTIES(${COREGL} PROPERTIES VERSION ${COREGL_VERSION})
88 #SET_TARGET_PROPERTIES(${COREGL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
89 TARGET_LINK_LIBRARIES(${COREGL} ${pkg_common_LDFLAGS} ${dlog_LIBRARIES} "-ldl -g -O2 -fvisibility=hidden -Wall -std=c99 -lpthread")
90
91 ADD_LIBRARY(${EGL} SHARED ${EGL_SRCS_common})
92 SET_TARGET_PROPERTIES(${EGL} PROPERTIES SOVERSION ${EGL_VERSION_MAJOR})
93 SET_TARGET_PROPERTIES(${EGL} PROPERTIES VERSION ${EGL_VERSION})
94 #SET_TARGET_PROPERTIES(${COREGL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
95 TARGET_LINK_LIBRARIES(${EGL} ${pkg_common_LDFLAGS} ${dlog_LIBRARIES} "-ldl -g -O2 -fvisibility=hidden -Wall -std=c99 -lpthread")
96
97 ADD_LIBRARY(${GLES2} SHARED ${GLES2_SRCS_common})
98 SET_TARGET_PROPERTIES(${GLES2} PROPERTIES SOVERSION ${GLES2_VERSION_MAJOR})
99 SET_TARGET_PROPERTIES(${GLES2} PROPERTIES VERSION ${GLES2_VERSION})
100 #SET_TARGET_PROPERTIES(${COREGL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_common})
101 TARGET_LINK_LIBRARIES(${GLES2} ${pkg_common_LDFLAGS} ${dlog_LIBRARIES} "-ldl -g -O2 -fvisibility=hidden -Wall -std=c99 -lpthread")
102
103 CONFIGURE_FILE(${COREGL}.pc.in ${COREGL}.pc @ONLY)
104
105 INSTALL(TARGETS ${COREGL} DESTINATION lib COMPONENT RuntimeLibraries)
106 INSTALL(TARGETS ${EGL} DESTINATION lib COMPONENT RuntimeLibraries)
107 INSTALL(TARGETS ${GLES2} DESTINATION lib COMPONENT RuntimeLibraries)
108
109 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${COREGL}.pc DESTINATION lib/pkgconfig)
110
111 #FOREACH(hfile ${HEADERS_common})
112 #       INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/coregl)
113 #ENDFOREACH(hfile)
114 #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/coregl.h DESTINATION include)
115