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