2 SET(this_target rpc-port)
5 ${CMAKE_SOURCE_DIR}/include
6 ${CMAKE_SOURCE_DIR}/src
9 SET(${this_target}_requires "dlog bundle glib-2.0 gio-2.0 aul capi-base-common pkgmgr-info gio-unix-2.0 cynara-client cynara-creds-gdbus uuid")
11 INCLUDE(FindPkgConfig)
12 pkg_check_modules(${this_target} REQUIRED ${${this_target}_requires})
14 FOREACH(flag ${${this_target}_CFLAGS})
15 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall" )
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")
24 ## SET CPP COMPILER FLAGS
25 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden -std=c++11")
28 AUX_SOURCE_DIRECTORY(src SOURCES)
29 ADD_LIBRARY(${this_target} SHARED ${SOURCES})
32 SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -Wl,--rpath=${LIB_INSTALL_DIR}")
34 TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS})
36 SET_TARGET_PROPERTIES(${this_target}
44 SET(PC_NAME ${this_target})
45 SET(VERSION ${FULLVER})
46 SET(PC_REQUIRED ${${this_target}_requires})
49 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
51 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
52 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
54 INSTALL(TARGETS ${this_target} DESTINATION ${LIB_INSTALL_DIR})
56 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/rpc-port FILES_MATCHING PATTERN "*.h")
57 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION ${LIB_INSTALL_DIR} FILES_MATCHING PATTERN "*.so*")
59 IF(NOT DEFINED MINIMUM_BUILD)
61 SET(RPC_PORT_UNITTESTS rpc-port_unittests)
62 ADD_TEST(NAME ${RPC_PORT_UNITTESTS} COMMAND ${RPC_PORT_UNITTESTS}
63 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unit_tests)
65 ADD_SUBDIRECTORY(unit_tests)
66 ADD_DEPENDENCIES(${RPC_PORT_UNITTESTS} rpc-port)
67 ENDIF(NOT DEFINED MINIMUM_BUILD)