Restore gbs build
[apps/native/home/homescreen-efl.git] / CMake / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(homescreen-efl C)
3
4 SET(INSTALL_EXEC_PREFIX "${INSTALL_PREFIX}/bin")
5 SET(INSTALL_RESDIR "${INSTALL_PREFIX}/res")
6 SET(INSTALL_IMAGEDIR "${INSTALL_RESDIR}/images")
7 SET(EDJEDIR "${INSTALL_RESDIR}/edje")
8 SET(LOCALEDIR "${INSTALL_RESDIR}/locale")
9 SET(CMAKE_VERBOSE_MAKEFILE 0)
10
11 SET(PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}/..")
12 SET(PROJECT_RESOURCES_DIR "${PROJECT_ROOT_DIR}/res")
13 SET(PROJECT_EDC_DIR "${PROJECT_RESOURCES_DIR}/edje")
14 SET(PROJECT_IMAGES_DIR "${PROJECT_RESOURCES_DIR}/images")
15 SET(PROJECT_PO_DIR "${PROJECT_RESOURCES_DIR}/po")
16
17 INCLUDE(FindPkgConfig)
18 pkg_check_modules(MENU_PKGS REQUIRED
19         appsvc
20         badge
21         capi-appfw-application
22         capi-system-info
23         capi-appfw-package-manager
24         capi-appfw-app-manager
25         capi-system-system-settings
26         dlog
27         elementary
28         shortcut
29         syspopup-caller
30         widget_viewer
31         widget_service
32         widget_viewer_evas
33         capi-appfw-preference
34         sqlite3
35 )
36
37 FOREACH (flag ${MENU_PKGS_CFLAGS})
38     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
39 ENDFOREACH(flag)
40
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIC")
42 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
43 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
44
45 INCLUDE_DIRECTORIES(${PROJECT_ROOT_DIR}/inc)
46
47 ADD_EXECUTABLE(${PROJECT_NAME}
48         ${PROJECT_ROOT_DIR}/src/homescreen-efl.c
49         ${PROJECT_ROOT_DIR}/src/all_apps.c
50         ${PROJECT_ROOT_DIR}/src/app_mgr.c
51         ${PROJECT_ROOT_DIR}/src/app_item.c
52         ${PROJECT_ROOT_DIR}/src/data_model.c
53         ${PROJECT_ROOT_DIR}/src/tree.c
54
55         ${PROJECT_ROOT_DIR}/src/app_grid.c
56         ${PROJECT_ROOT_DIR}/src/layout.c
57         ${PROJECT_ROOT_DIR}/src/page_scroller.c
58         ${PROJECT_ROOT_DIR}/src/util.c
59         ${PROJECT_ROOT_DIR}/src/app_icon.c
60         ${PROJECT_ROOT_DIR}/src/key.c
61         ${PROJECT_ROOT_DIR}/src/option_menu.c
62         ${PROJECT_ROOT_DIR}/src/mouse.c
63         ${PROJECT_ROOT_DIR}/src/folder_panel.c
64         ${PROJECT_ROOT_DIR}/src/popup.c
65         ${PROJECT_ROOT_DIR}/src/dynamic_index.c
66         ${PROJECT_ROOT_DIR}/src/livebox_all_pages.c
67         ${PROJECT_ROOT_DIR}/src/db/db.c
68
69         ${PROJECT_ROOT_DIR}/src/livebox/livebox_panel.c
70         ${PROJECT_ROOT_DIR}/src/livebox/livebox_animator.c
71         ${PROJECT_ROOT_DIR}/src/livebox/grid_item_resize.c
72         ${PROJECT_ROOT_DIR}/src/livebox/livebox_utils.c
73         ${PROJECT_ROOT_DIR}/src/livebox/grid_reposition.c
74         ${PROJECT_ROOT_DIR}/src/livebox/livebox_widget.c
75 )
76
77 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
78 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MENU_PKGS_LDFLAGS})
79
80 # Install
81 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX})
82
83 INSTALL(FILES ${PROJECT_ROOT_DIR}/tizen-manifest.xml DESTINATION ${SYS_PACKAGES_DIR} RENAME org.tizen.homescreen-efl.xml)
84 INSTALL(DIRECTORY DESTINATION ${PREFIX}/data)
85 INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/homescreen-efl.png DESTINATION ${SYS_ICONS_DIR})
86
87 # End of a file
88 ADD_SUBDIRECTORY(res)