-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(cion CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(EXEC_PREFIX "\${prefix}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(INCLUDEDIR "\${prefix}/include")
-SET(VERSION ${FULLVER})
-
-INCLUDE(FindPkgConfig)
-
-SET(requires "aul capi-system-info capi-system-system-settings glib-2.0 parcel pkgmgr-info dlog parcel")
-SET(pc_requires "")
-
-pkg_check_modules(cion REQUIRED ${requires})
-
-FOREACH(flag ${cion_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++14")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/tizen-api/)
-
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common/ COMMON_SOURCES)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common/util COMMON_SOURCES)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/channel/ CHANNEL_SOURCES)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/security SECURITY_SOURCES)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/tizen-api/ SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES} ${COMMON_SOURCES} ${CHANNEL_SOURCES})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJORVER})
+ADD_LIBRARY(${TARGET_CION} SHARED ${SOURCES} ${COMMON_SOURCES} ${CHANNEL_SOURCES} ${SECURITY_SOURCES})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_CION} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_CION} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/tizen-api/)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${cion_LDFLAGS})
+APPLY_PKG_CONFIG(${TARGET_CION} PUBLIC
+ AUL_DEPS
+ CAPI_SYSTEM_INFO_DEPS
+ CAPI_SYSTEM_SYSTEM_SETTINGS_DEPS
+ DLOG_DEPS
+ GLIB_DEPS
+ PARCEL_DEPS
+ PKGMGR_INFO_DEPS
+ UUID_DEPS
+)
+
+SET_TARGET_PROPERTIES(${TARGET_CION} PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_CION} PROPERTIES SOVERSION ${MAJORVER})
SET(PC_NAME cion)
-SET(PC_REQUIRED ${pc_requires})
+SET(PC_REQUIRED "")
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
+CONFIGURE_FILE(${TARGET_CION}.pc.in ${TARGET_CION}.pc @ONLY)
-INSTALL(TARGETS ${PROJECT_NAME}
- DESTINATION ${LIB_INSTALL_DIR}
- COMPONENT RuntimeLibraries)
+INSTALL(TARGETS ${TARGET_CION}
+ DESTINATION ${LIB_INSTALL_DIR}
+ COMPONENT RuntimeLibraries)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
- DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_CION}.pc
+ DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tizen-api/
- DESTINATION ${INCLUDE_INSTALL_DIR}/cion/tizen-api/
- FILES_MATCHING PATTERN "*.h")
+ DESTINATION ${INCLUDE_INSTALL_DIR}/cion
+ FILES_MATCHING PATTERN "*.h")
+
+ INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/channel/
- DESTINATION ${INCLUDE_INSTALL_DIR}/cion/channel/
- FILES_MATCHING PATTERN "*.hh")
++ DESTINATION ${INCLUDE_INSTALL_DIR}/cion/channel/
++ FILES_MATCHING PATTERN "*.hh")
+
+ INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/common/
- DESTINATION ${INCLUDE_INSTALL_DIR}/cion/common/
- FILES_MATCHING PATTERN "*.hh")
-
++ DESTINATION ${INCLUDE_INSTALL_DIR}/cion/common/
++ FILES_MATCHING PATTERN "*.hh")
#AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../vine_wrapper VINE_WRAPPER_SOURCE)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/mock MOCK_SRCS)
-ADD_EXECUTABLE(${PROJECT_NAME}
+ADD_EXECUTABLE(${TARGET_CION_UNITTESTS}
${SOURCES}
${MOCK_SRCS}
- ${VINE_WRAPPER_SOURCE}
-# ${VINE_WRAPPER_SOURCE}
++ #${VINE_WRAPPER_SOURCE}
)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${cion_unittests_LDFLAGS}
- ${pkgs_LDFLAGS}
- ${pkgs_LIBRARIES}
- gmock
+TARGET_INCLUDE_DIRECTORIES(${TARGET_CION_UNITTESTS} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../)
+
+APPLY_PKG_CONFIG(${TARGET_CION_UNITTESTS} PUBLIC
+ DLOG_DEPS
+ GMOCK_DEPS
)
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
+TARGET_LINK_LIBRARIES(${TARGET_CION_UNITTESTS} PRIVATE ${TARGET_CION} ${TARGET_VINE_MANAGER} ${TARGET_VINE_WRAPPER})
+
+INSTALL(TARGETS ${TARGET_CION_UNITTESTS} DESTINATION ${BINDIR})