Fix the build error for wayland
[apps/native/widget/widget.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(widget C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(PROJECT_NAME "${PROJECT_NAME}")
7 SET(LIBDIR ${LIB_INSTALL_DIR})
8 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
9 SET(VERSION_MAJOR 1)
10 SET(VERSION "${VERSION_MAJOR}.0.0")
11
12 set(CMAKE_SKIP_BUILD_RPATH true)
13
14 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
15
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(pkgs REQUIRED
18         dlog
19         widget_service
20         widget_provider
21         evas
22         ecore
23         elementary
24 )
25
26 IF (X11_SUPPORT)
27 pkg_check_modules(pkgs_extra REQUIRED
28         x11
29 )
30 ADD_DEFINITIONS("-DHAVE_X11")
31 SET(BUILD_SOURCE 
32         src/virtual_window.c
33 )
34 ENDIF (X11_SUPPORT)
35
36 IF (WAYLAND_SUPPORT)
37 ADD_DEFINITIONS("-DHAVE_WAYLAND")
38 SET(BUILD_SOURCE 
39         src/virtual_window_wayland.c
40 )
41 ENDIF (WAYLAND_SUPPORT)
42
43 FOREACH(flag ${pkgs_CFLAGS})
44         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
45 ENDFOREACH(flag)
46
47 FOREACH(flag ${pkgs_extra_CFLAGS})
48         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
49 ENDFOREACH(flag)
50
51 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
52
53 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g")
54
55 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
56 ADD_DEFINITIONS("-DLOG_TAG=\"WIDGET\"")
57 ADD_DEFINITIONS("-DNDEBUG")
58 ADD_DEFINITIONS("-D_USE_ECORE_TIME_GET")
59 ADD_DEFINITIONS("-DMASTER_PKGNAME=\"data-provider-master\"")
60 ADD_DEFINITIONS("-DSLAVE_PKGNAME=\"com.samsung.data-provider-slave\"")
61 #ADD_DEFINITIONS("-D_ENABLE_PERF")
62
63 SET (BUILD_SOURCE
64         ${BUILD_SOURCE}
65         src/dlist.c
66         src/util.c
67         src/binder.c
68         src/widget.c
69         src/snapshot_window.c
70 )
71
72 ADD_LIBRARY(${PROJECT_NAME} SHARED ${BUILD_SOURCE})
73 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
74 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
75 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${pkgs_extra_LDFLAGS} "-lpthread")
76
77 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
78
79 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
80 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
81
82 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
83         
84 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/widget.h DESTINATION include/${PROJECT_NAME})
85 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/widget_internal.h DESTINATION include/${PROJECT_NAME})
86
87 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "lib${PROJECT_NAME}")
88         
89 ADD_SUBDIRECTORY(data)