eliminate heynoti
[platform/framework/native/appfw.git] / src / server / CMakeLists.txt
1 SET (this_target osp-appfw-server)
2
3 INCLUDE_DIRECTORIES (
4         ${SLP_INCLUDE_DIRS}
5         ${CMAKE_SOURCE_DIR}/inc
6         ${CMAKE_SOURCE_DIR}/src/base/inc
7         ${CMAKE_SOURCE_DIR}/src/io/inc
8         ${CMAKE_SOURCE_DIR}/src/system/inc
9         ${CMAKE_SOURCE_DIR}/src/security/inc
10         ${CMAKE_SOURCE_DIR}/src/security
11         ${CMAKE_SOURCE_DIR}/src/app/inc
12         inc
13         )
14
15 SET (${this_target}_SOURCE_FILES
16         app/FApp_AulServer.cpp
17         app/FApp_AppLaunchCondition.cpp
18         app/FApp_AppLaunchConditionHandlerBase.cpp
19         app/package/FAppPkg_PackageManagerServer.cpp
20         io/FIo_IpcServer.cpp
21         security/FSec_PrivilegeManagerServer.cpp
22         )
23
24 INCLUDE(FindPkgConfig)
25 pkg_check_modules(server_pkgs REQUIRED
26         appsvc
27         chromium
28         dukgenerator
29         glib-2.0
30         pkgmgr-info
31 )
32
33 FOREACH(flag ${server_pkgs_CFLAGS})
34         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
35 ENDFOREACH(flag)
36
37 ## SET EXTRA COMPILER FLAGS
38 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -fPIC -Wall -Wno-unused")
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(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
51
52 TARGET_LINK_LIBRARIES(${this_target} osp-appfw)
53 TARGET_LINK_LIBRARIES(${this_target} ${server_pkgs_LDFLAGS})
54
55
56 SET_TARGET_PROPERTIES(${this_target}
57                 PROPERTIES
58                 VERSION ${FULLVER}
59                 SOVERSION ${MAJORVER}
60                 CLEAN_DIRECT_OUTPUT 1
61 )
62 ADD_CUSTOM_COMMAND(TARGET ${this_target}
63                 POST_BUILD
64                 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} 
65                 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}
66                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
67                 COMMENT "strip ${this_target}"
68 )
69
70 SET(PC_NAME ${this_target})
71 SET(PC_REQUIRED ${pc_requires})
72 SET(PC_LDFLAGS -l${this_target})
73 SET(VERSION ${FULLVER})
74
75 # pkgconfig file
76 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
77