Merge branch 'devel/home/master'
[apps/native/widget/widget.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(livebox C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(PROJECT_NAME "${PROJECT_NAME}")
7 SET(LIBDIR "\${exec_prefix}/lib")
8 SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
9 SET(VERSION_MAJOR 0)
10 SET(VERSION "${VERSION_MAJOR}.0.1")
11
12 set(CMAKE_SKIP_BUILD_RPATH true)
13
14 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
15
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(pkgs REQUIRED
18         dlog
19         livebox-service
20         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("-Werror")
56 #ADD_DEFINITIONS("-Wall")
57 #ADD_DEFINITIONS("-Wextra")
58 #ADD_DEFINITIONS("-ansi")
59 #ADD_DEFINITIONS("-pedantic")
60
61 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
62 ADD_DEFINITIONS("-DLOG_TAG=\"LIVEBOX\"")
63 ADD_DEFINITIONS("-DNDEBUG")
64 ADD_DEFINITIONS("-D_USE_ECORE_TIME_GET")
65 ADD_DEFINITIONS("-DMASTER_PKGNAME=\"data-provider-master\"")
66 ADD_DEFINITIONS("-DSLAVE_PKGNAME=\"com.samsung.data-provider-slave\"")
67
68 SET (BUILD_SOURCE
69         ${BUILD_SOURCE}
70         src/dlist.c
71         src/livebox.c
72         src/util.c
73 )
74
75 ADD_LIBRARY(${PROJECT_NAME} SHARED ${BUILD_SOURCE})
76 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
77 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
78 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${pkgs_extra_LDFLAGS} "-lpthread")
79
80 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
81 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
82
83 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
84 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
85 INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/livebox.h DESTINATION include/${PROJECT_NAME})
86 INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/livebox_product.h DESTINATION include/${PROJECT_NAME})
87 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "lib${PROJECT_NAME}")
88
89 ADD_SUBDIRECTORY(data)