3802b83bb1079d77cefbd24747b8f6a7282c6e16
[platform/framework/native/shell.git] / src / core / CMakeLists.txt
1 SET (this_target osp-shell-core)
2
3 INCLUDE_DIRECTORIES(
4         ${CMAKE_SOURCE_DIR}/inc
5         ${CMAKE_SOURCE_DIR}/src/inc
6         ${CMAKE_SOURCE_DIR}/src/core
7         /usr/include/chromium
8         /usr/include/osp
9         /usr/include/osp/app
10         /usr/include/osp/base
11         /usr/include/osp/io
12         /usr/include/osp/security
13         /usr/include/osp/graphics
14         
15         /usr/include/appfw
16         /usr/include/notification
17         /usr/include/shortcut
18         /usr/include/vconf
19         /usr/include/badge
20         /usr/include/glib-2.0
21         /usr/lib/glib-2.0/include
22 )
23
24 SET (${this_target}_SOURCE_FILES
25         FShellLockManager.cpp
26         FShellNotificationManager.cpp
27         FShellNotificationRequest.cpp
28         FShellShortcutManager.cpp
29         FShell_LockManagerImpl.cpp
30         FShell_NotificationManagerImpl.cpp
31         FShell_NotificationRequestImpl.cpp
32         FShell_ShortcutManagerImpl.cpp
33         FShell_LockManagerProxy.cpp
34         FShell_LockManagerIpcMessages.cpp
35 )
36
37 ## Definitions
38 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
39
40 ## SET C COMPILER FLAGS
41 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
42
43 ## SET CPP COMPILER FLAGS
44 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
45 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
46
47 ## Create Library
48 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
49
50 ## SET LINKER FLAGS
51 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
52
53 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
54 TARGET_LINK_LIBRARIES(${this_target} "-lchromium" )
55 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
56 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
57 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-appfw-application" )
58 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-appfw-app-manager" )
59 TARGET_LINK_LIBRARIES(${this_target} "-lnotification" )
60 TARGET_LINK_LIBRARIES(${this_target} "-lshortcut" )
61 TARGET_LINK_LIBRARIES(${this_target} "-lvconf" )
62 TARGET_LINK_LIBRARIES(${this_target} "-lbadge" )
63
64 SET_TARGET_PROPERTIES(${this_target}
65         PROPERTIES
66         VERSION ${FULLVER}
67         SOVERSION ${MAJORVER}
68         CLEAN_DIRECT_OUTPUT 1
69 )
70
71 ADD_CUSTOM_COMMAND(TARGET ${this_target}
72                 POST_BUILD
73                 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}
74                 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}
75                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
76                 COMMENT "strip ${this_target}"
77 )