1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
5 PKG_CHECK_MODULES(pkgs REQUIRED dlog capi-base-common)
7 FOREACH(flag ${pkgs_CFLAGS})
8 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
10 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -flto -Wall -Werror -Winline")
12 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++14")
13 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
14 SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
16 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
17 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/)
18 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/api)
20 AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/parcel PARCEL_SRCS)
22 ADD_LIBRARY (${PROJECT_NAME} SHARED ${PARCEL_SRCS})
24 SET_TARGET_PROPERTIES(parcel PROPERTIES SOVERSION ${VERSION_MAJOR})
25 SET_TARGET_PROPERTIES(parcel PROPERTIES VERSION "${VERSION}")
27 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fPIE")
28 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-pie")
29 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} bundle)
31 ### Make pkgconfig file
32 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
33 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/parcel.pc.in
34 ${CMAKE_BINARY_DIR}/parcel.pc @ONLY)
37 INSTALL(TARGETS parcel DESTINATION ${LIB_INSTALL_DIR})
38 INSTALL(FILES ${CMAKE_BINARY_DIR}/parcel.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
46 FOREACH(hfile ${HEADER_PARCEL})
47 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/parcel)
50 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/api/parcel.h
51 DESTINATION include/parcel)