Build in a pure Wayland environment
[platform/core/base/rpm-installer.git] / frontend / CMakeLists.txt
1 #
2 # Copyright (c) 2008 ~ 2010 Samsung Electronics Co., Ltd.
3 # All rights reserved
4 #
5
6 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
7 set(CMAKE_SKIP_BUILD_RPATH true)
8
9 #Verbose
10 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc ${CMAKE_SOURCE_DIR}/backend/inc ${CMAKE_CURRENT_SOURCE_DIR}/inc)
11
12 INCLUDE(FindPkgConfig)
13 pkg_check_modules(pkgs REQUIRED pkgmgr pkgmgr-installer pkgmgr-parser pkgmgr-info pkgmgr-installer-status-broadcast-server security-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util elementary appcore-efl libxml-2.0 app2sd)
14
15 FOREACH(flag ${pkgs_CFLAGS})
16         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
17 ENDFOREACH(flag)
18
19 pkg_check_modules(libpkgs REQUIRED security-server pkgmgr pkgmgr-installer pkgmgr-parser pkgmgr-info pkgmgr-installer-status-broadcast-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util elementary appcore-efl libxml-2.0 app2sd)
20
21 FOREACH(flag ${libpkgs_CFLAGS})
22         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
23 ENDFOREACH(flag)
24
25 pkg_check_modules(STATUS pkgmgr-installer-status-broadcast-server pkgmgr pkgmgr-installer pkgmgr-parser libxml-2.0 app2sd pkgmgr-info libtzplatform-config)
26 link_directories (${STATUS_LIBRARY_DIRS})
27 include_directories (${STATUS_INCLUDE_DIRS})
28
29 pkg_check_modules(COMMCLIENT pkgmgr-installer-client)
30 link_directories (${COMMCLIENT_LIBRARY_DIRS})
31 include_directories (${COMMCLIENT_INCLUDE_DIRS})
32
33 IF(X11_SUPPORT)
34        SET(WIN_PKG "ecore-x")
35 ENDIF(X11_SUPPORT)
36 IF(WAYLAND_SUPPORT)
37        SET(WIN_PKG "${WIN_PKG} ecore-wayland")
38 ENDIF(WAYLAND_SUPPORT)
39 pkg_check_modules(APPCODEEFL appcore-efl evas ecore edje ecore-input ${WIN_PKG})
40 link_directories (${APPCODEEFL_LIBRARY_DIRS})
41 include_directories (${APPCODEEFL_INCLUDE_DIRS})
42
43 pkg_check_modules(SECURITYSERVER security-server)
44 link_directories (${SECURITYSERVER_LIBRARY_DIRS})
45 include_directories (${SECURITYSERVER_INCLUDE_DIRS})
46
47 ## DEFINITIONS
48
49 IF(WAYLAND_SUPPORT)
50  ADD_DEFINITIONS("-DHAVE_WAYLAND")
51 ENDIF(WAYLAND_SUPPORT)
52
53 IF(X11_SUPPORT)
54  ADD_DEFINITIONS("-DHAVE_X11")
55 ENDIF(X11_SUPPORT)
56
57 ADD_DEFINITIONS("-DAPP_DIR=\"${CMAKE_INSTALL_PREFIX}\"")
58 ADD_DEFINITIONS("-DPACKAGE=\"${PROJECT_NAME}\"")
59
60 link_directories ("${STATUS_LIBRARY_DIRS} /usr/lib")
61 include_directories (${STATUS_INCLUDE_DIRS})
62 find_library(RPM_LIBRARY rpm "/usr/lib")
63
64
65 SET(backend_dir "${CMAKE_CURRENT_SOURCE_DIR}/../backend")
66 SET(backend_inc_dir "${backend_dir}/include")
67 SET(backend_c_src_dir "${backend_dir}/src")
68 SET(backend_script_dir "${backend_dir}/scripts")
69 SET(SCRIPTS_DIR "${backend_script_dir}")
70
71 SET(frontend_dir "${CMAKE_CURRENT_SOURCE_DIR}")
72 SET(frontend_inc_dir "${frontend_dir}/inc")
73 SET(frontend_c_src_dir "${frontend_dir}/src")
74 SET(frontend_c_ui_src_dir "${frontend_dir}/ui/src")
75 SET(frontend_c_ui_inc_dir "${frontend_dir}/ui/include")
76
77
78
79 ## Additional flag
80 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
81 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -rdynamic")
82 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
83
84 ####################################################################################################
85 ## for rpm-backend (binary)
86 SET(rpm-backend_SOURCES ${backend_c_src_dir}/core/rpm-installer-core.c ${backend_c_src_dir}/core/rpm-installer-tool.c ${backend_c_src_dir}/rpm/rpm-installer.c ${backend_c_src_dir}/vconf/rpm-vconf-intf.c ${frontend_c_src_dir}/rpm-appcore-intf.c  ${frontend_c_src_dir}/rpm-cmdline.c  ${frontend_c_ui_src_dir}/rpm-homeview.c)
87
88 SET(rpm-backend_CFLAGS " -I. -I/usr/include/rpm -I${backend_inc_dir} -I${frontend_inc_dir} -I${frontend_c_ui_inc_dir} ${pkg_CFLAGS}")
89 SET(rpm-backend_LDFLAGS ${pkgs_LDFLAGS})
90
91 ADD_EXECUTABLE(rpm-backend ${rpm-backend_SOURCES})
92 TARGET_LINK_LIBRARIES(rpm-backend rpm-util "rpm" "rpmio")
93 TARGET_LINK_LIBRARIES(rpm-backend ${libpkgs_LDFLAGS})
94 TARGET_LINK_LIBRARIES(rpm-backend ${COMMCLIENT_LIBRARIES})
95 TARGET_LINK_LIBRARIES(rpm-backend ${APPCODEEFL_LIBRARIES})
96 TARGET_LINK_LIBRARIES(rpm-backend ${SECURITYSERVER_LIBRARIES})
97 TARGET_LINK_LIBRARIES(rpm-backend ${STATUS_LIBRARIES})
98
99 SET_TARGET_PROPERTIES(rpm-backend PROPERTIES COMPILE_FLAGS "${rpm-backend_CFLAGS}")
100 ####################################################################################################
101
102 #SET(RESOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ui/res")
103
104 # INSTALL
105
106 MESSAGE("${CLEAN_FILE_LIST}")
107 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CLEAN_FILE_LIST}")
108
109
110
111 ###################################################################################################i
112 configure_file(${backend_script_dir}/install_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package.sh @ONLY)
113 configure_file(${backend_script_dir}/uninstall_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/uninstall_rpm_package.sh @ONLY)
114 configure_file(${backend_script_dir}/upgrade_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package.sh @ONLY)
115 configure_file(${backend_script_dir}/query_rpm_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/query_rpm_package.sh @ONLY)
116
117 INSTALL(FILES
118                 ${CMAKE_CURRENT_BINARY_DIR}/install_rpm_package.sh
119                 ${CMAKE_CURRENT_BINARY_DIR}/uninstall_rpm_package.sh
120                 ${CMAKE_CURRENT_BINARY_DIR}/upgrade_rpm_package.sh
121                 ${CMAKE_CURRENT_BINARY_DIR}/query_rpm_package.sh
122                 DESTINATION bin)
123
124
125 INSTALL(TARGETS rpm-backend DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
126