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