set package name to window
[profile/tv/apps/native/homescreen.git] / CMakeLists.txt
1 # Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
2 #
3 #    Licensed under the Apache License, Version 2.0 (the "License");
4 #    you may not use this file except in compliance with the License.
5 #    You may obtain a copy of the License at
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #    Unless required by applicable law or agreed to in writing, software
10 #    distributed under the License is distributed on an "AS IS" BASIS,
11 #    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #    See the License for the specific language governing permissions and
13 #    limitations under the License.
14 #
15
16 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
17 PROJECT("homescreen-tv-ref" CXX C)
18
19 IF(NOT DEFINED PACKAGE_NAME)
20         SET(PACKAGE_NAME "org.tizen.homescreen-tv-ref")
21 ENDIF(NOT DEFINED PACKAGE_NAME)
22
23 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
24 IF(NOT DEFINED BINDIR)
25         SET(BINDIR"${PREFIX}/bin")
26 ENDIF(NOT DEFINED BINDIR)
27 IF(NOT DEFINED IMAGEDIR)
28         SET(IMAGEDIR "${PREFIX}/res/images")
29 ENDIF(NOT DEFINED IMAGEDIR)
30 IF(NOT DEFINED CFGDIR)
31         SET(CFGDIR "${PREFIX}/res/config")
32 ENDIF(NOT DEFINED CFGDIR)
33 IF(NOT DEFINED LOCALEDIR)
34         SET(LOCALEDIR "${PREFIX}/res/locale")
35 ENDIF(NOT DEFINED LOCALEDIR)
36 IF(NOT DEFINED MANIFESTDIR)
37         SET(MANIFESTDIR "/usr/share/packages")
38 ENDIF(NOT DEFINED MANIFESTDIR)
39
40 SET(TARGET_EDJ "${PROJECT_NAME}.edj")
41 SET(THEME_EDJ "${PROJECT_NAME}-theme.edj")
42 SET(DEF_CONFIG "${PROJECT_NAME}.json")
43 SET(SRCS
44                 src/homescreen.cpp
45                 src/homebar.cpp
46                 src/userbar.cpp
47                 src/dynamicbar.cpp
48                 src/custombar.cpp
49                 src/deletebar.cpp
50                 src/engine.cpp
51                 src/engine/src/Entity.cpp
52                 src/engine/src/EngineBarItem.cpp
53                 src/engine/src/EngineUBarItem.cpp
54                 src/engine/src/EngineDBarItem.cpp
55                 src/engine/src/EngineDBarItemContent.cpp
56                 src/Bus.cpp
57                 src/ClientBus.cpp
58                 src/BaseBus.cpp
59                 src/Parcel.cpp
60                 src/main.cpp)
61
62 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
63 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE_NAME}\"")
64 ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"")
65 ADD_DEFINITIONS("-DEDJEFILE=\"${EDJEDIR}/${TARGET_EDJ}\"")
66 ADD_DEFINITIONS("-DTHEMEFILE=\"${EDJEDIR}/${THEME_EDJ}\"")
67 ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"")
68 ADD_DEFINITIONS("-DDEF_CONFIG=\"${CFGDIR}/${DEF_CONFIG}\"")
69
70 INCLUDE(FindPkgConfig)
71 pkg_check_modules(PKGS REQUIRED
72                 application-common
73                 elementary
74                 dlog
75                 json-glib-1.0
76                 gio-2.0
77                 aul
78                 libgum
79                 cynara-client
80                 app-content
81                 app-content-provider
82                 capi-appfw-application)
83
84 FOREACH(flag ${PKGS_CFLAGS})
85         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
86 ENDFOREACH(flag)
87
88 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
89 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
90 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
91 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
92 CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml)
93
94 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
95 INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR})
96 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images/ DESTINATION ${IMAGEDIR} FILES_MATCHING PATTERN "*.png")
97
98 ADD_SUBDIRECTORY(edje)
99 ADD_SUBDIRECTORY(config)