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