Apply string localization for web
[platform/framework/native/appfw.git] / src / system-server / CMakeLists.txt
1 SET (this_target osp-system-server)
2
3 INCLUDE_DIRECTORIES (
4         ${SLP_INCLUDE_DIRS}
5         ${CMAKE_SOURCE_DIR}
6         ${CMAKE_SOURCE_DIR}/inc
7         ${CMAKE_SOURCE_DIR}/src/app/inc
8         ${CMAKE_SOURCE_DIR}/src/base/inc
9         ${CMAKE_SOURCE_DIR}/src/system-server/inc
10         ${CMAKE_SOURCE_DIR}/src/io/inc
11         ${CMAKE_SOURCE_DIR}/src/server/inc
12         ${CMAKE_SOURCE_DIR}/src/system/inc
13         )
14
15 SET (${this_target}_SOURCE_FILES
16         system/FSys_SystemInfo.cpp
17         setting/FSys_SettingInfo.cpp
18         setting/providers/FSys_Icu.cpp
19         setting/providers/FSys_SettingApplicationProvider.cpp
20         setting/providers/FSys_SettingFontProvider.cpp
21         setting/providers/FSys_SettingGeneralProvider.cpp
22         setting/providers/FSys_SettingLocaleProvider.cpp
23         setting/providers/FSys_SettingLocationProvider.cpp
24         setting/providers/FSys_SettingNetworkProvider.cpp
25         setting/providers/FSys_SettingScreenProvider.cpp
26         setting/providers/FSys_SettingSoundProvider.cpp
27         setting/providers/FSys_SettingSpeechProvider.cpp
28         setting/providers/FSys_SettingStorageProvider.cpp
29         setting/providers/FSys_SettingVibrationProvider.cpp
30         runtime/FSys_RuntimeInfo.cpp
31         device/FSys_DeviceManager.cpp
32         power/FSys_PowerManager.cpp
33         )
34
35 INCLUDE(FindPkgConfig)
36 pkg_check_modules(system_pkgs REQUIRED
37         capi-media-sound-manager
38         capi-system-media-key
39         capi-network-bluetooth
40         capi-network-wifi
41         capi-network-tethering
42         capi-system-device
43         capi-system-info
44         capi-system-runtime-info
45         capi-system-system-settings
46         capi-telephony-sim
47         eina
48         elementary
49         haptic
50         icu-i18n
51         libxml-2.0
52         sysman
53         tapi
54         vconf
55         wifi-direct
56 )
57
58 FOREACH(flag ${system_pkgs_CFLAGS})
59         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
60 ENDFOREACH(flag)
61
62 ## SET EXTRA COMPILER FLAGS
63 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fPIC -Wall -Wno-unused")
64
65 ## SET C COMPILER FLAGS
66 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
67
68 ## SET CPP COMPILER FLAGS
69 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
70 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
71
72 ## Create Library
73 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
74
75 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
76
77 TARGET_LINK_LIBRARIES(${this_target} osp-appfw)
78 TARGET_LINK_LIBRARIES(${this_target} ${system_pkgs_LDFLAGS})
79
80 SET_TARGET_PROPERTIES(${this_target}
81                 PROPERTIES
82                 VERSION ${FULLVER}
83                 SOVERSION ${MAJORVER}
84                 CLEAN_DIRECT_OUTPUT 1
85 )
86
87 ADD_CUSTOM_COMMAND(TARGET ${this_target}
88                 POST_BUILD
89                 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} 
90                 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}
91                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
92                 COMMENT "strip ${this_target}"
93 )
94
95 SET(PC_NAME ${this_target})
96 SET(PC_REQUIRED ${pc_requires})
97 SET(PC_LDFLAGS -l${this_target})
98 SET(VERSION ${FULLVER})
99
100 # pkgconfig file
101 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
102