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