APPLY_RSA
[apps/home/calculator.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(calculator C)
3
4 SET(SRCS 
5     src/calc-main.c 
6     src/calculator_edje.c 
7     src/calculator_parser.c
8     src/calc-expression.c
9     src/calc-string.c
10     src/calc-view.c
11         src/decnumber/decNumber.c
12         src/decnumber/decContext.c)
13     
14 SET(VENDOR "tizen")
15 SET(PACKAGE ${PROJECT_NAME})
16 SET(PKGNAME "org.${VENDOR}.${PACKAGE}")
17 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
18 #SET(INSTALL_DIR_APPS "/opt/apps/${PKGNAME}")
19 SET(INSTALL_DIR_PRE "/opt")
20
21 SET(BINDIR "${PREFIX}/bin")
22 SET(RESDIR "${PREFIX}/res")
23 SET(DATADIR "${PREFIX}/data")
24 SET(LOCALEDIR "${RESDIR}/locale")
25 SET(ICONDIR "${RESDIR}/icons")
26 SET(DESKTOPICONDIR "${ICONDIR}/default/small")
27 SET(EDJDIR "${RESDIR}/edje")
28     
29 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
30
31 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
32
33 INCLUDE(FindPkgConfig)
34 pkg_check_modules(pkgs REQUIRED elementary  utilX
35                                 dlog svi evas edje
36                                 ecore-x ecore ecore-input capi-appfw-application
37 )
38
39 FIND_LIBRARY(LIB_M m)
40
41 # Apply Public emulator image
42 FIND_PROGRAM(UNAME NAMES uname)
43 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
44 IF("${ARCH}" STREQUAL "arm")
45     INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.calculator.png DESTINATION ${ICONDIR})
46     MESSAGE("install confidential icon ...")
47 ELSE("${ARCH}" STREQUAL "arm")
48     INSTALL(FILES ${CMAKE_SOURCE_DIR}/03_mainmenu_icon_calculator.png DESTINATION ${ICONDIR} RENAME
49     org.tizen.calculator.png)
50     MESSAGE("install releasable icon ...")
51 ENDIF("${ARCH}" STREQUAL "arm")
52
53 ADD_DEFINITIONS(${pkgs_CFLAGS})
54 ADD_DEFINITIONS("-fpie")
55
56 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
57 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
58 ADD_DEFINITIONS("-DSLP_DEBUG")
59 ADD_DEFINITIONS("-DSLP_PROF")
60
61 ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
62 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
63 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
64 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
65
66 ADD_DEFINITIONS("-DINSTALL_DIR_APPS=\"${INSTALL_DIR_APPS}\"")
67 ADD_DEFINITIONS("-DBINDIR=\"${BINDIR}\"")
68 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
69 ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
70 ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
71
72
73 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
74 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-pie" ${LIB_M})
75
76 ADD_CUSTOM_TARGET(calculator.edj 
77     COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images
78     ${CMAKE_SOURCE_DIR}/calculator.edc ${CMAKE_BINARY_DIR}/calculator.edj
79     DEPENDS ${CMAKE_SOURCE_DIR}/calculator.edc
80 )
81 ADD_DEPENDENCIES(${PROJECT_NAME} calculator.edj)
82
83 ADD_CUSTOM_TARGET(calculator_theme.edj
84     COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/theme
85     ${CMAKE_SOURCE_DIR}/theme/calculator_theme.edc ${CMAKE_BINARY_DIR}/theme/calculator_theme.edj
86     DEPENDS ${CMAKE_SOURCE_DIR}/theme/calculator_theme.edc
87 )
88 ADD_DEPENDENCIES(${PROJECT_NAME} calculator_theme.edj)
89
90 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION 
91 ${BINDIR})
92 INSTALL(FILES ${CMAKE_BINARY_DIR}/calculator.edj DESTINATION ${EDJDIR})
93 INSTALL(FILES ${CMAKE_BINARY_DIR}/theme/calculator_theme.edj DESTINATION 
94 ${EDJDIR})
95
96 # install application HOME directory
97 INSTALL(DIRECTORY DESTINATION ${DATADIR})
98
99 # process setting
100 install(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.ini DESTINATION /opt/share/process-info )
101
102 ADD_SUBDIRECTORY(po)
103
104 # desktop icon
105 set(PREFIX ${CMAKE_INSTALL_PREFIX})
106 install(FILES ${CMAKE_SOURCE_DIR}/org.tizen.calculator.xml DESTINATION /opt/share/packages)
107 install(FILES ${CMAKE_SOURCE_DIR}/org.tizen.calculator.png DESTINATION  /opt/share/icons/default/small)