upload tizen1.0 source
[pkgs/n/native-installer.git] / backend / 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_CURRENT_SOURCE_DIR}/inc)
6
7 INCLUDE(FindPkgConfig)
8 pkg_check_modules(pkgs REQUIRED pkgmgr-installer-status-broadcast-server security-server vconf sqlite3 dbus-glib-1 glib-2.0 db-util )
9
10 FOREACH(flag ${pkgs_CFLAGS})
11         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
12 ENDFOREACH(flag)
13
14 pkg_check_modules(libpkgs REQUIRED vconf sqlite3 dbus-glib-1 glib-2.0 db-util pkgmgr-installer-status-broadcast-server)
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)
21
22 link_directories (${STATUS_LIBRARY_DIRS})
23 include_directories (${STATUS_INCLUDE_DIRS})
24
25 SET(backend_dir "${CMAKE_CURRENT_SOURCE_DIR}")
26 SET(backend_inc_dir "${backend_dir}/include")
27 SET(backend_c_src_dir "${backend_dir}/src")
28 SET(backend_script_dir "${backend_dir}/scripts")
29 SET(SCRIPTS_DIR "${backend_script_dir}")
30
31 ## Additional flag
32 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall")
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35 ###################################################################################################
36 ## for native-backend (binary)
37 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)
38 SET(native-backend_CFLAGS " -I. -I${backend_inc_dir} ${pkg_CFLAGS}")
39 SET(native-backend_LDFLAGS ${pkgs_LDFLAGS})
40
41 ADD_EXECUTABLE(native-backend ${native-backend_SOURCES})
42 TARGET_LINK_LIBRARIES(native-backend native-util)
43 TARGET_LINK_LIBRARIES(native-backend ${libpkgs_LDFLAGS})
44 TARGET_LINK_LIBRARIES(native-backend ${STATUS_LIBRARIES})
45 SET_TARGET_PROPERTIES(native-backend PROPERTIES COMPILE_FLAGS "${native-backend_CFLAGS}")
46 ####################################################################################################
47
48 ### Create pc file 
49 configure_file(${backend_script_dir}/install_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/install_spk.sh @ONLY)
50 configure_file(${backend_script_dir}/audit_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/audit_spk.sh @ONLY)
51 configure_file(${backend_script_dir}/extract_manifest.sh.in ${CMAKE_CURRENT_BINARY_DIR}/extract_manifest.sh @ONLY)
52 configure_file(${backend_script_dir}/uninstall_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/uninstall_spk.sh @ONLY)
53 configure_file(${backend_script_dir}/update_avail_spk.sh.in ${CMAKE_CURRENT_BINARY_DIR}/update_avail_spk.sh @ONLY)
54 configure_file(${backend_script_dir}/find_package.sh.in ${CMAKE_CURRENT_BINARY_DIR}/find_package.sh @ONLY)
55 #SET(CLEAN_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/extract_manifest.sh;${CLEAN_FILE_LIST}")
56 #SET(CLEAN_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/install_spk.sh;${CLEAN_FILE_LIST}")
57 #SET(CLEAN_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/audit_spk.sh;${CLEAN_FILE_LIST}")
58 #SET(CLEAN_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/uninstall_spk.sh;${CLEAN_FILE_LIST}")
59 #SET(CLEAN_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/update_avail_spk.sh;${CLEAN_FILE_LIST}")
60 #SET(CLEAN_FILE_LIST "${CLEAN_FILE_LIST}update_avail_spk.sh")
61
62 ####################################################################################################
63
64 INSTALL(TARGETS native-backend DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
65 INSTALL(FILES 
66                 ${CMAKE_CURRENT_BINARY_DIR}/install_spk.sh 
67                 ${CMAKE_CURRENT_BINARY_DIR}/audit_spk.sh 
68                 ${CMAKE_CURRENT_BINARY_DIR}/extract_manifest.sh 
69                 ${CMAKE_CURRENT_BINARY_DIR}/uninstall_spk.sh 
70                 ${CMAKE_CURRENT_BINARY_DIR}/update_avail_spk.sh 
71                 ${CMAKE_CURRENT_BINARY_DIR}/find_package.sh 
72                 DESTINATION bin)
73
74
75 #INSTALL(DIRECTORY ${SCIPTS_DIR}/ DESTINATION bin FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
76 #INSTALL(TARGETS native-backend DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE)
77 ####################################################################################################
78
79