Add unit TC
[platform/core/appfw/widget-service.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(widget_service 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 ${FULLVER})
10
11 set(CMAKE_SKIP_BUILD_RPATH true)
12
13 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
14
15 INCLUDE(FindPkgConfig)
16 pkg_check_modules(pkgs REQUIRED
17         dlog
18         glib-2.0
19         gio-2.0
20         sqlite3
21         db-util
22         pkgmgr-info
23         vconf
24         icu-uc
25         bundle
26         capi-base-common
27         capi-system-info
28         capi-appfw-app-common
29         aul
30         libtzplatform-config
31         uuid
32         cynara-client
33         iniparser
34         libsmack
35 )
36
37 FOREACH(flag ${pkgs_CFLAGS})
38         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
39 ENDFOREACH(flag)
40 FOREACH(flag ${pkg_extra_CFLAGS})
41         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
42 ENDFOREACH(flag)
43
44 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline -g")
45
46 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
47
48 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
49 ADD_DEFINITIONS("-DLOG_TAG=\"WIDGET_SERVICE\"")
50 ADD_DEFINITIONS("-DNDEBUG")
51 ADD_DEFINITIONS("-D_USE_ECORE_TIME_GET")
52 ADD_DEFINITIONS("-DRESOLUTION_FILE=\"/usr/share/widget-service/resolution.ini\"")
53
54 SET(BUILD_SOURCE
55         src/widget_service.c
56         src/widget_instance.c
57 )
58
59 ADD_LIBRARY(${PROJECT_NAME} SHARED ${BUILD_SOURCE})
60
61 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJORVER})
62 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER})
63 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${pkg_extra_LDFLAGS})
64
65 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
66 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
67
68 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
69 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
70
71 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/widget_service.h DESTINATION include/${PROJECT_NAME})
72 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/widget_service_internal.h DESTINATION include/${PROJECT_NAME})
73 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/widget_errno.h DESTINATION include/${PROJECT_NAME})
74 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/widget_instance.h DESTINATION include/${PROJECT_NAME})
75
76 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.resolution.ini DESTINATION /usr/share/${PROJECT_NAME} RENAME "mobile.resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
77 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.wearable.resolution.ini DESTINATION /usr/share/${PROJECT_NAME} RENAME "wearable.resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
78 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.320x480.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/320x480 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
79 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.480x800.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/480x800 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
80 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.wearable.360x480.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/360x480 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
81 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.wearable.360x360.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/360x360 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
82 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/720x1280 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
83 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.wearable.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/320x320 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
84 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.540x960.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/540x960 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
85 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.600x1024.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/600x1024 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
86 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.1080x1920.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/1080x1920 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
87 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.1440x2560.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/1440x2560 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
88 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.mobile.1440x3040.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/1440x3040 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
89 INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/wayland.common.1280x720.resolution.ini DESTINATION /usr/share/${PROJECT_NAME}/1280x720 RENAME "resolution.ini" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
90
91 ADD_SUBDIRECTORY(parser)
92 ADD_SUBDIRECTORY(tool)
93 ADD_SUBDIRECTORY(unittest)
94
95 ENABLE_TESTING()
96 SET(WIDGET_SERVICE_UNIT_TESTS widget_service_unittests)
97 ADD_TEST(NAME ${WIDGET_SERVICE_UNIT_TESTS} COMMAND ${WIDGET_SERVICE_UNIT_TESTS}
98                 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest)
99
100 # End of a file