patch for rc20
[framework/osp/ime.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-ime)
4
5 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
6
7 INCLUDE_DIRECTORIES(
8   inc
9   src
10   /usr/include/chromium
11   /usr/include/dlog
12   /usr/include/dbus-1.0
13   /usr/lib/dbus-1.0/include
14   /usr/include/glib-2.0
15   /usr/lib/glib-2.0/include
16   /usr/include/e_dbus-1
17   /usr/include/elementary-1
18   /usr/include/efreet-1
19   /usr/include/ecore-1
20   /usr/include/edje-1
21   /usr/include/evas-1
22   /usr/include/eet-1
23   /usr/include/eina-1
24   /usr/include/eina-1/eina
25   /usr/include/ethumb-1
26   /usr/include/libxml2
27   /usr/include/media
28         /usr/include/osp
29         /usr/include/osp/app
30         /usr/include/osp/base
31         /usr/include/osp/graphics
32         /usr/include/osp/io
33         /usr/include/osp/net
34         /usr/include/osp/security
35         /usr/include/osp/ui
36         /usr/include/scim-1.0
37         )
38
39 SET (${this_target}_SOURCE_FILES
40         src/app/FApp_ImeEntry.cpp
41         src/FUiImeInputMethod.cpp
42         src/FUiImeInputMethodInfo.cpp
43         src/FUiImeInputMethodManager.cpp
44         src/FUiIme_EcoreEventHandler.cpp
45         src/FUiIme_EcoreFdHandler.cpp
46         src/FUiIme_ImeInfo.cpp
47         src/FUiIme_InputMethodImpl.cpp
48         src/FUiIme_InputMethodInfoImpl.cpp
49         src/FUiIme_InputMethodManagerImpl.cpp
50         src/FUiIme_InputServiceBinder.cpp
51         src/FUiIme_InputServiceSignalListener.cpp
52         src/FUiIme_Key.cpp
53         src/FUiIme_ScimDataConverter.cpp
54         src/FUiIme_TargetWindowAgent.cpp
55 )
56
57 ## Definitions
58 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
59
60 ## SET C COMPILER FLAGS
61 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
62
63 ## SET CPP COMPILER FLAGS
64 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
65 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
66
67 ## Create Library
68 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
69
70 ## SET LINKER FLAGS
71 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
72
73 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw")
74 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw")
75 TARGET_LINK_LIBRARIES(${this_target} "-ldlog")
76 TARGET_LINK_LIBRARIES(${this_target} "-ldl")
77 TARGET_LINK_LIBRARIES(${this_target} "-lecore")
78 TARGET_LINK_LIBRARIES(${this_target} "-lecore_x")
79 TARGET_LINK_LIBRARIES(${this_target} "-lelementary")
80 TARGET_LINK_LIBRARIES(${this_target} "-levas")
81 TARGET_LINK_LIBRARIES(${this_target} "-lglib-2.0")
82 TARGET_LINK_LIBRARIES(${this_target} "-lpkgmgr-info")
83 TARGET_LINK_LIBRARIES(${this_target} "-lscim-1.0")
84 TARGET_LINK_LIBRARIES(${this_target} "-lxml2")
85 TARGET_LINK_LIBRARIES(${this_target} "-lX11")
86 TARGET_LINK_LIBRARIES(${this_target} "-lappinfo")
87
88 SET_TARGET_PROPERTIES(${this_target}
89         PROPERTIES
90         VERSION ${FULLVER}
91         SOVERSION ${MAJORVER}
92         CLEAN_DIRECT_OUTPUT 1
93         )
94
95 ADD_CUSTOM_COMMAND(TARGET ${this_target}
96     POST_BUILD
97                 COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
98                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
99                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
100     COMMENT "strip ${this_target}"
101                 )   
102
103 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
104                 FILES_MATCHING PATTERN "*.so*" 
105                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                      
106                     GROUP_EXECUTE GROUP_READ
107                     WORLD_EXECUTE WORLD_READ)
108 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
109                 FILES_MATCHING PATTERN "*"
110                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
111                                         GROUP_EXECUTE GROUP_READ
112                                         WORLD_EXECUTE WORLD_READ)
113
114 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
115 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/media FILES_MATCHING PATTERN "*.h")
116
117 # pkgconfig file
118 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
119 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)