295f7806ac918e72766c816b9f9880b7ba2ff620
[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         )
99
100 IF (with_wayland)
101         ADD_DEFINITIONS("-DWAYLAND")
102         SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} ecore-wl2)
103 ENDIF(with_wayland)
104
105 pkg_check_modules(pkgs REQUIRED ${PKGS_CHECK_MODULES})
106
107 FOREACH(flag ${pkgs_CFLAGS})
108     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
109 ENDFOREACH(flag)
110
111 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Wno-stringop-truncation")
112 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
113 SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g")
114
115 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
116 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
117 ADD_DEFINITIONS("-DLOG_TAG=\"LIBSCL_UI\"")
118 ADD_DEFINITIONS("-DDEFAULT_THEME=\"default\"")
119 ADD_DEFINITIONS("-DIMG_PATH_PREFIX=\"image\"")
120 ADD_DEFINITIONS("-D__NUI__")
121
122 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
123
124 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
125
126 set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
127 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
128
129 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclui.h" DESTINATION include/${name})
130 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclconfig.h" DESTINATION include/${name})
131 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclstructs.h" DESTINATION include/${name})
132 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/scleventcallback.h" DESTINATION include/${name})
133 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgraphicsinfo.h" DESTINATION include/${name})
134 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgraphicsbackendcallback.h" DESTINATION include/${name})
135 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclwindowbackendcallback.h" DESTINATION include/${name})
136 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclutils.h" DESTINATION include/${name})
137 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclfeedback.h" DESTINATION include/${name})
138
139 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclcontroller.h" DESTINATION include/${name})
140 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgwes.h" DESTINATION include/${name})
141 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclwindows.h" DESTINATION include/${name})
142 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclgraphics.h" DESTINATION include/${name})
143 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclevents.h" DESTINATION include/${name})
144 INSTALL(FILES "${CMAKE_SOURCE_DIR}/scl/sclcontext.h" DESTINATION include/${name})
145
146 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
147 INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)