upload tizen1.0 source
[pkgs/n/native-installer.git] / frontend / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 set(CMAKE_SKIP_BUILD_RPATH true)
3
4 #Verbose
5 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc ${CMAKE_SOURCE_DIR}/backend/inc ${CMAKE_CURRENT_SOURCE_DIR}/inc)
6
7 INCLUDE(FindPkgConfig)
8 pkg_check_modules(pkgs REQUIRED pkgmgr-installer pkgmgr-installer-status-broadcast-server security-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util elementary appcore-efl)
9
10 FOREACH(flag ${pkgs_CFLAGS})
11         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
12 ENDFOREACH(flag)
13
14 pkg_check_modules(libpkgs REQUIRED security-server pkgmgr-installer pkgmgr-installer-status-broadcast-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util elementary appcore-efl)
15
16 FOREACH(flag ${libpkgs_CFLAGS})
17         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 ENDFOREACH(flag)
19
20 pkg_check_modules(STATUS pkgmgr-installer-status-broadcast-server pkgmgr-installer)
21 link_directories (${STATUS_LIBRARY_DIRS})
22 include_directories (${STATUS_INCLUDE_DIRS})
23
24 pkg_check_modules(COMMCLIENT pkgmgr-installer-client)
25 link_directories (${COMMCLIENT_LIBRARY_DIRS})
26 include_directories (${COMMCLIENT_INCLUDE_DIRS})
27
28 pkg_check_modules(APPCODEEFL appcore-efl evas ecore edje ecore-input ecore-x)
29 link_directories (${APPCODEEFL_LIBRARY_DIRS})
30 include_directories (${APPCODEEFL_INCLUDE_DIRS})
31
32 pkg_check_modules(SECURITYSERVER security-server)
33 link_directories (${SECURITYSERVER_LIBRARY_DIRS})
34 include_directories (${SECURITYSERVER_INCLUDE_DIRS})
35
36 ## DEFINITIONS
37 ADD_DEFINITIONS("-DAPP_DIR=\"${CMAKE_INSTALL_PREFIX}\"")
38 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
39
40 SET(backend_dir "${CMAKE_CURRENT_SOURCE_DIR}/../backend")
41 SET(backend_inc_dir "${backend_dir}/include")
42 SET(backend_c_src_dir "${backend_dir}/src")
43 SET(backend_script_dir "${backend_dir}/scripts")
44 SET(SCRIPTS_DIR "${backend_script_dir}")
45
46 SET(frontend_dir "${CMAKE_CURRENT_SOURCE_DIR}")
47 SET(frontend_inc_dir "${frontend_dir}/inc")
48 SET(frontend_c_src_dir "${frontend_dir}/src")
49 SET(frontend_c_ui_src_dir "${frontend_dir}/ui/src")
50 SET(frontend_c_ui_inc_dir "${frontend_dir}/ui/include")
51
52
53
54 ## Additional flag
55 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
56 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -rdynamic")
57 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
58
59 ####################################################################################################
60 ## for native-backend (binary)
61 SET(native-backend_SOURCES ${backend_c_src_dir}/core/nativeinstallercore.c ${backend_c_src_dir}/core/nativeinstallertool.c ${backend_c_src_dir}/dpkg/nativeinstallerdpkg.c ${backend_c_src_dir}/parser/nativeinstallermanifestparser.c ${backend_c_src_dir}/vconf/nativebackendvconfintf.c ${frontend_c_src_dir}/frontendappcoreintf.c  ${frontend_c_src_dir}/frontendcmdline.c  ${frontend_c_ui_src_dir}/frontendhomeview.c)
62
63 SET(native-backend_CFLAGS " -I. -I${backend_inc_dir} -I${frontend_inc_dir} -I${frontend_c_ui_inc_dir} ${pkg_CFLAGS}")
64 SET(native-backend_LDFLAGS ${pkgs_LDFLAGS})
65
66 ADD_EXECUTABLE(native-backend ${native-backend_SOURCES})
67 TARGET_LINK_LIBRARIES(native-backend native-util)
68 TARGET_LINK_LIBRARIES(native-backend ${libpkgs_LDFLAGS})
69 TARGET_LINK_LIBRARIES(native-backend ${COMMCLIENT_LIBRARIES})
70 TARGET_LINK_LIBRARIES(native-backend ${APPCODEEFL_LIBRARIES})
71 TARGET_LINK_LIBRARIES(native-backend ${SECURITYSERVER_LIBRARIES})
72 TARGET_LINK_LIBRARIES(native-backend ${STATUS_LIBRARIES})
73
74 SET_TARGET_PROPERTIES(native-backend PROPERTIES COMPILE_FLAGS "${native-backend_CFLAGS}")
75 ####################################################################################################
76
77 SET(RESOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ui/res")
78
79 # INSTALL
80 INSTALL(DIRECTORY ${RESOURCE_DIR}/icon DESTINATION share)
81 #INSTALL(DIRECTORY ${RESOURCE_DIR}/data DESTINATION share)
82
83 ADD_CUSTOM_TARGET(c-empty.edj
84                 COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/ui/layout
85                 ${CMAKE_CURRENT_SOURCE_DIR}/ui/layout/c-empty.edc ${CMAKE_CURRENT_SOURCE_DIR}/c-empty.edj
86         )
87         
88 ADD_DEPENDENCIES(native-backend c-empty.edj)
89 SET(CLEAN_FILE_LIST "${CMAKE_CURRENT_SOURCE_DIR}/c-empty.edj;${CLEAN_FILE_LIST}")
90 INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/c-empty.edj" DESTINATION share/data)
91         
92 SET(CLEAN_FILE_LIST "${CLEAN_FILE_LIST}c-empty.edj")
93
94 MESSAGE("${CLEAN_FILE_LIST}")
95 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CLEAN_FILE_LIST}")
96
97
98 # INCLUDE LOCALE DIRECTORY
99 ADD_SUBDIRECTORY(ui/res/locale)
100
101 ###################################################################################################i
102 configure_file(${backend_script_dir}/install_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/install_spk.sh @ONLY)
103 configure_file(${backend_script_dir}/audit_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/audit_spk.sh @ONLY)
104 configure_file(${backend_script_dir}/extract_manifest.sh.in ${CMAKE_CURRENT_BINARY_DIR}/extract_manifest.sh @ONLY)
105 configure_file(${backend_script_dir}/uninstall_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/uninstall_spk.sh @ONLY)
106 configure_file(${backend_script_dir}/update_avail_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/update_avail_spk.sh @ONLY)
107 configure_file(${backend_script_dir}/find_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/find_package.sh @ONLY)
108
109 INSTALL(FILES
110                 ${CMAKE_CURRENT_BINARY_DIR}/install_spk.sh
111                 ${CMAKE_CURRENT_BINARY_DIR}/audit_spk.sh
112                 ${CMAKE_CURRENT_BINARY_DIR}/extract_manifest.sh
113                 ${CMAKE_CURRENT_BINARY_DIR}/uninstall_spk.sh
114                 ${CMAKE_CURRENT_BINARY_DIR}/update_avail_spk.sh
115                 ${CMAKE_CURRENT_BINARY_DIR}/find_package.sh
116                 DESTINATION bin)
117
118
119 INSTALL(TARGETS native-backend DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
120