upload tizen1.0 source
[platform/core/security/libprivilege-control.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(libprivilege-control C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include")
8 SET(VERSION 1.0)
9
10 SET(VERSION_MAJOR 0)
11 SET(VERSION "${VERSION_MAJOR}.0.2")
12
13 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
14
15 INCLUDE(FindPkgConfig)
16 pkg_check_modules(pkgs REQUIRED security-server openssl)
17
18 FOREACH(flag ${pkgs_CFLAGS})
19         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
20 ENDFOREACH(flag)
21
22 SET(src_dir "./src")
23 SET(include_dir "./include")
24
25 ## Additional flag
26 SET(activate "-DUSE_PRIVILEGE_CONTROL")
27
28 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
29 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
30
31 ###################################################################################################
32 ## for libprivilege-control.so (library)
33 SET(libprivilege-control_SOURCES ${src_dir}/privilege-control.c ${src_dir}/account-manage.c)
34 SET(libprivilege-control_LDFLAGS " -module -avoid-version ")
35 SET(libprivilege-control_CFLAGS  " ${CFLAGS} -fPIC -I${include_dir} ${activate} ")
36 #SET(libprivilege-control_LIBADD " ")
37
38 ADD_LIBRARY(privilege-control SHARED ${libprivilege-control_SOURCES})
39 TARGET_LINK_LIBRARIES(privilege-control ${pkgs_LDFLAGS})
40 SET_TARGET_PROPERTIES(privilege-control PROPERTIES COMPILE_FLAGS "${libprivilege-control_CFLAGS}")
41 SET_TARGET_PROPERTIES(privilege-control PROPERTIES SOVERSION ${VERSION_MAJOR})
42 SET_TARGET_PROPERTIES(privilege-control PROPERTIES VERSION ${VERSION})
43 ###################################################################################################
44
45 ###################################################################################################
46 ## for slp-su (excutable)
47 SET(slp-su_SOURCES ${src_dir}/slp-su.c)
48 SET(slp-su_LDFLAGS " -module -avoid-version ")
49 SET(slp-su_CFLAGS  " ${CFLAGS} -fPIC -I${include_dir} ${activate} ")
50
51 ADD_EXECUTABLE(slp-su ${slp-su_SOURCES})
52 TARGET_LINK_LIBRARIES(slp-su ${pkgs_LDFLAGS} privilege-control)
53 SET_TARGET_PROPERTIES(slp-su PROPERTIES COMPILE_FLAGS "${slp-su_CFLAGS}")
54 ###################################################################################################
55
56 ###################################################################################################
57 ## for debug-util (excutable)
58 SET(debug-util_SOURCES ${src_dir}/debug-util.c)
59 SET(debug-util_LDFLAGS " -module -avoid-version ")
60 SET(debug-util_CFLAGS  " ${CFLAGS} -fPIC -I${include_dir} ${activate} ")
61
62 ADD_EXECUTABLE(debug-util ${debug-util_SOURCES})
63 TARGET_LINK_LIBRARIES(debug-util ${pkgs_LDFLAGS} privilege-control)
64 SET_TARGET_PROPERTIES(debug-util PROPERTIES COMPILE_FLAGS "${debug-util_CFLAGS}")
65 ###################################################################################################
66
67 ###################################################################################################
68 ## for kill_app (excutable)
69 SET(kill-app_SOURCES ${src_dir}/kill_app.c)
70 SET(kill-app_LDFLAGS " -module -avoid-version ")
71 SET(kill-app_CFLAGS  " ${CFLAGS} -fPIC -I${include_dir} ${activate} ")
72
73 ADD_EXECUTABLE(kill_app ${kill-app_SOURCES})
74 #TARGET_LINK_LIBRARIES(kill_app ${pkgs_LDFLAGS} privilege-control)
75 SET_TARGET_PROPERTIES(kill_app PROPERTIES COMPILE_FLAGS "${kill-app_CFLAGS}")
76 ###################################################################################################
77
78 CONFIGURE_FILE(libprivilege-control.pc.in libprivilege-control.pc @ONLY)
79
80 FILE(GLOB datfiles ${CMAKE_CURRENT_SOURCE_DIR}/permissions/*.dat)
81 FILE(GLOB udevfiles ${CMAKE_CURRENT_SOURCE_DIR}/udev/rules/*)
82
83 INSTALL(TARGETS privilege-control DESTINATION lib COMPONENT RuntimeLibraries)
84 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libprivilege-control.pc DESTINATION lib/pkgconfig)
85 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/passwd DESTINATION /opt/etc/)
86 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/group DESTINATION /opt/etc/)
87 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/privilege-control.h DESTINATION include)
88 INSTALL(FILES ${datfiles} DESTINATION /usr/share/privilege-control)
89 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/app_group_list DESTINATION /usr/share/privilege-control)
90 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dev_group_list DESTINATION /usr/share/privilege-control)
91 INSTALL(FILES ${udevfiles} DESTINATION /lib/udev/rules.d)
92 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/slp-su DESTINATION bin)
93 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/debug-util DESTINATION bin)
94 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/kill_app DESTINATION bin)