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