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