added smack rule file
[apps/core/preloaded/app-selector.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(app-selector C)
3
4 SET(SRCS app-selector.c app-selector-view.c app-selector-util.c)
5
6 SET(VENDOR "tizen")
7 SET(PACKAGE ${PROJECT_NAME})
8 SET(PKGNAME "org.${VENDOR}.${PACKAGE}")
9 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
10 SET(BINDIR "${PREFIX}/bin")
11 SET(DATADIR "${PREFIX}/share")
12 SET(LOCALEDIR "${DATADIR}/locale")
13 SET(ICONDIR "${DATADIR}/icons")
14 SET(EDJDIR "${DATADIR}/edje/${PACKAGE}")
15
16 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
17         SET(CMAKE_BUILD_TYPE "Release")
18 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
19 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
20
21 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
22
23 INCLUDE(FindPkgConfig)
24 pkg_check_modules(pkgs REQUIRED appcore-efl aul utilX ecore-x eina evas ecore ecore-file ecore-input edje ail appsvc x11 libsoup-2.4)
25
26 FOREACH(flag ${pkgs_CFLAGS})
27         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
28 ENDFOREACH(flag)
29
30 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
31 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
32 SET(CMAKE_C_FLAGS_RELEASE "-O2")
33
34 FIND_PROGRAM(UNAME NAMES uname)
35 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
36 IF("${ARCH}" MATCHES "^arm.*")
37         ADD_DEFINITIONS("-DTARGET")
38         MESSAGE("add -DTARGET")
39 ENDIF("${ARCH}" MATCHES "^arm.*")
40
41 ADD_DEFINITIONS("-fpie")
42
43 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
44 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
45 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
46 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
47 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
48
49 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
50
51 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
52 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-pie")
53
54 ADD_CUSTOM_TARGET(app-selector.edj
55                 COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
56                 ${CMAKE_SOURCE_DIR}/app-selector.edc ${CMAKE_BINARY_DIR}/app-selector.edj
57                 DEPENDS ${CMAKE_SOURCE_DIR}/app-selector.edc
58 )
59 ADD_DEPENDENCIES(${PROJECT_NAME} app-selector.edj)
60
61 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
62 INSTALL(FILES ${CMAKE_BINARY_DIR}/app-selector.edj DESTINATION ${EDJDIR})
63
64 # install manifest file & icon
65 CONFIGURE_FILE(${PKGNAME}.xml.in ${CMAKE_BINARY_DIR}/${PKGNAME}.xml)
66 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages)
67
68 # install smack rule
69 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.app-selector.rule DESTINATION /etc/smack/accesses2.d)
70
71 # i18n
72 ADD_SUBDIRECTORY(po)
73