Merge "Revert "Revert "Revert "Apply xml interface"""" into tizen_2.2
[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/system-server/inc
8         ${CMAKE_SOURCE_DIR}/src/io/inc
9         ${CMAKE_SOURCE_DIR}/src/server/inc
10         ${CMAKE_SOURCE_DIR}/src/system/inc
11         )
12
13 SET (${this_target}_SOURCE_FILES
14         system/FSys_SystemInfo.cpp
15         dev/FSys_DeviceManager.cpp
16         )
17
18 INCLUDE(FindPkgConfig)
19 pkg_check_modules(pkgs REQUIRED
20         capi-system-media-key
21         capi-network-bluetooth
22 )
23
24 FOREACH(flag ${pkgs_CFLAGS})
25         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
26 ENDFOREACH(flag)
27
28 FOREACH(ldflag ${pkgs_LDFLAGS})
29         SET(EXTRA_LDFLAGS "${EXTRA_LDFLAGS} ${flag}")
30 ENDFOREACH(ldflag)
31
32 ## SET EXTRA COMPILER FLAGS
33 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fPIC -Wall" )
34
35 ## SET C COMPILER FLAGS
36 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
37
38 ## SET CPP COMPILER FLAGS
39 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
40 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
41
42 ## Create Library
43 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
44
45 TARGET_LINK_LIBRARIES(${this_target} osp-appfw)
46 TARGET_LINK_LIBRARIES(${this_target} capi-network-bluetooth)
47 TARGET_LINK_LIBRARIES(${this_target} capi-system-media-key)
48
49 SET_TARGET_PROPERTIES(${this_target}
50                 PROPERTIES
51                 VERSION ${FULLVER}
52                 SOVERSION ${MAJORVER}
53                 CLEAN_DIRECT_OUTPUT 1
54 )
55 ADD_CUSTOM_COMMAND(TARGET ${this_target}
56                 POST_BUILD
57                 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} 
58                 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}
59                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
60                 COMMENT "strip ${this_target}"
61 )
62
63 SET(PC_NAME ${this_target})
64 SET(PC_REQUIRED ${pc_requires})
65 SET(PC_LDFLAGS -l${this_target})
66 SET(VERSION ${FULLVER})
67
68 # pkgconfig file
69 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
70