FD Passing message-port.
[platform/core/appfw/message-port.git] / src / CMakeLists.txt
1 SET(this_target message-port)
2
3 INCLUDE_DIRECTORIES (
4         ${CMAKE_SOURCE_DIR}/include
5         ${CMAKE_SOURCE_DIR}/src/inc
6         )
7
8 SET(${this_target}_SOURCE_FILES
9         message-port.c
10         message_port_internal.c
11         message_port.c
12         )
13
14 SET(${this_target}_requires "dlog bundle glib-2.0 gio-2.0 aul openssl capi-base-common pkgmgr-info gio-unix-2.0")
15
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(${this_target} REQUIRED ${${this_target}_requires})
18
19 FOREACH(flag ${${this_target}_CFLAGS})
20     SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
21 ENDFOREACH(flag)
22
23 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
24
25 ## SET C COMPILER FLAGS
26 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
27 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
28
29 ## SET CPP COMPILER FLAGS
30 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS} -fvisibility=hidden")
31
32
33 ## Create Library
34 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
35
36 ## SET LINKER FLAGS
37 SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -Wl,--rpath=${LIB_INSTALL_DIR}")
38
39 TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS})
40
41 SET_TARGET_PROPERTIES(${this_target}
42         PROPERTIES
43         VERSION ${FULLVER}
44         SOVERSION ${MAJORVER}
45         CLEAN_DIRECT_OUTPUT 1
46         )
47
48 # pkgconfig file
49 SET(PC_NAME ${this_target})
50 SET(PACKAGE_DESCRIPTION "Message Port internal library")
51 SET(VERSION ${FULLVER})
52 SET(PC_REQUIRED ${${this_target}_requires})
53
54 ADD_CUSTOM_COMMAND(
55             TARGET ${this_target} POST_BUILD
56             COMMAND ln -s ./libmessage-port.so.${MAJORVER} ${LIBRARY_OUTPUT_PATH}/libcapi-message-port.so.${MAJORVER})
57
58 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
59 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
60 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/capi-${this_target}.pc.in ${CMAKE_SOURCE_DIR}/capi-${this_target}.pc @ONLY)
61 INSTALL(FILES ${CMAKE_SOURCE_DIR}/capi-${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
62
63 INSTALL(TARGETS ${this_target} DESTINATION ${LIB_INSTALL_DIR})
64
65 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/appfw FILES_MATCHING PATTERN "*.h")
66
67 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION ${LIB_INSTALL_DIR} FILES_MATCHING PATTERN "*.so*")