Update package version to 0.6.92
[platform/core/uifw/libscl-ui-nui.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(libscl-ui-nui CXX)
3
4 SET(SRCS
5     scl/sclres_manager.cpp
6     scl/sclres.cpp
7     scl/main_entry_parser.cpp
8     scl/input_mode_configure_parser.cpp
9     scl/layout_parser.cpp
10     scl/layout_parser_helper.cpp
11     scl/modifier_decoration_parser.cpp
12     scl/label_properties_parser.cpp
13     scl/default_configure_parser.cpp
14     scl/autopopup_configure_parser.cpp
15     scl/magnifier_configure_parser.cpp
16     scl/nine_patch_file_list_parser.cpp
17     scl/xmlresource.cpp
18     scl/xml_parser_utils.cpp
19     scl/string_bin_parser.cpp
20     scl/metadata_bin_parser.cpp
21     scl/input_mode_configure_bin_parser.cpp
22     scl/layout_bin_parser.cpp
23     scl/key_coordinate_frame_bin_parser.cpp
24     scl/modifier_decoration_bin_parser.cpp
25     scl/label_properties_bin_parser.cpp
26     scl/default_configure_bin_parser.cpp
27     scl/autopopup_configure_bin_parser.cpp
28     scl/magnifier_configure_bin_parser.cpp
29     scl/nine_patch_file_list_bin_parser.cpp
30     scl/binary_xmlresource.cpp
31     scl/file_storage.cpp
32     scl/sclerroradjustment.cpp
33     scl/sclutils-linux.cpp
34     scl/scldebug.cpp
35     scl/sclutils.cpp
36     scl/sclcontroller.cpp
37     scl/sclgwes.cpp
38     scl/sclevents.cpp
39
40     scl/sclwindows-nui.cpp
41     scl/sclgraphics-nui.cpp
42     scl/sclanimator-nui.cpp
43     scl/sclevents-nui.cpp
44
45     scl/sclfeedback.cpp
46     scl/scluibuilder.cpp
47     scl/scluiimpl.cpp
48     scl/sclui.cpp
49     scl/scleffect.cpp
50     scl/scleventhandler.cpp
51     scl/sclwindows.cpp
52     scl/sclgraphics.cpp
53     scl/sclimageproxy.cpp
54     scl/sclfontproxy.cpp
55     scl/sclcontext.cpp
56     scl/sclactionstate.cpp
57     scl/sclresourcecache.cpp
58     scl/sclkeyfocushandler.cpp
59     scl/sclanimator.cpp
60     res/sclresource.cpp
61     res/simple_debug.cpp
62 )
63
64 SET(PACKAGE ${PROJECT_NAME})
65 SET(PKGNAME ${PACKAGE})
66 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
67 SET(LIBDIR ${LIB_INSTALL_DIR})
68 SET(INCLUDEDIR "\${PREFIX}/scl/include")
69
70 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
71     SET(CMAKE_BUILD_TYPE "Release")
72 ENDIF()
73 MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
74
75 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src
76                     ${CMAKE_SOURCE_DIR}/src/include
77                     ${CMAKE_SOURCE_DIR}/scl
78                     ${CMAKE_SOURCE_DIR}/scl/include
79                     ${CMAKE_SOURCE_DIR}/xmlresource/include
80                     ${CMAKE_SOURCE_DIR}/binary_xmlresource/include
81                     ${CMAKE_SOURCE_DIR}/binary_xmlresource/include/interface
82                     ${CMAKE_SOURCE_DIR}/sclres
83                     ${CMAKE_SOURCE_DIR}/scl/gwes
84                     ${CMAKE_SOURCE_DIR}/scl/gwes/efl
85                     ${CMAKE_SOURCE_DIR}/res )
86
87 INCLUDE(FindPkgConfig)
88 SET(PKGS_CHECK_MODULES
89         elementary
90         glib-2.0
91         feedback
92         dlog
93         libxml-2.0
94         tts
95         vconf
96         eldbus
97         libscl-common
98         dbus-1
99         gio-2.0
100         capi-ui-inputmethod
101         )
102
103 IF (with_wayland)
104         ADD_DEFINITIONS("-DWAYLAND")
105         SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} ecore-wl2)
106 ENDIF(with_wayland)
107
108 pkg_check_modules(pkgs REQUIRED ${PKGS_CHECK_MODULES})
109
110 FOREACH(flag ${pkgs_CFLAGS})
111     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
112 ENDFOREACH(flag)
113
114 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Wno-stringop-truncation")
115 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
116 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
117
118 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
119 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
120 ADD_DEFINITIONS("-DLOG_TAG=\"LIBSCL_UI\"")
121 ADD_DEFINITIONS("-DDEFAULT_THEME=\"default\"")
122 ADD_DEFINITIONS("-DIMG_PATH_PREFIX=\"image\"")
123 ADD_DEFINITIONS("-D__NUI__")
124
125 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
126
127 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
128
129 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
130 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
131
132 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclui.h" DESTINATION include/${name})
133 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclconfig.h" DESTINATION include/${name})
134 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclstructs.h" DESTINATION include/${name})
135 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/scleventcallback.h" DESTINATION include/${name})
136 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgraphicsinfo.h" DESTINATION include/${name})
137 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgraphicsbackendcallback.h" DESTINATION include/${name})
138 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclwindowbackendcallback.h" DESTINATION include/${name})
139 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclutils.h" DESTINATION include/${name})
140 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclfeedback.h" DESTINATION include/${name})
141
142 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclcontroller.h" DESTINATION include/${name})
143 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgwes.h" DESTINATION include/${name})
144 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclwindows.h" DESTINATION include/${name})
145 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgraphics.h" DESTINATION include/${name})
146 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclevents.h" DESTINATION include/${name})
147 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclcontext.h" DESTINATION include/${name})
148
149 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
150 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)
151
152 ADD_SUBDIRECTORY(capi)