Fix CMake configuration files 57/269957/2
authorHwankyu Jhun <h.jhun@samsung.com>
Sun, 23 Jan 2022 22:48:29 +0000 (07:48 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Sun, 23 Jan 2022 22:53:45 +0000 (07:53 +0900)
- Use ApplyPkgConfig.cmake
- Remove unnecessary project settings
- Modify directory hierarchy of unit tests

Change-Id: I349c5ee9d7e020bd2d8c9c4aa6735d9f21efe6fa
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
22 files changed:
CMakeLists.txt
cmake/Modules/ApplyPkgConfig.cmake [new file with mode: 0644]
packaging/libscreen_connector.spec
screen_connector_launcher_service/CMakeLists.txt
screen_connector_launcher_service_evas/CMakeLists.txt
screen_connector_provider/CMakeLists.txt
screen_connector_provider/src/screen_connector_provider.c
screen_connector_remote_surface/CMakeLists.txt
screen_connector_remote_surface_evas/CMakeLists.txt
screen_connector_remote_surface_evas_mock/CMakeLists.txt
screen_connector_remote_surface_mock/CMakeLists.txt
screen_connector_shared_widget_launch/CMakeLists.txt
screen_connector_watcher/CMakeLists.txt
screen_connector_watcher/src/screen_connector_toolkit.cc
screen_connector_watcher_evas/CMakeLists.txt
test/CMakeLists.txt [new file with mode: 0644]
test/unittest/CMakeLists.txt [new file with mode: 0644]
test/unittest/src/sc_remote_surface_test.cpp [new file with mode: 0644]
test/unittest/src/sc_test_main.cpp [new file with mode: 0644]
unittest/CMakeLists.txt [deleted file]
unittest/src/sc_remote_surface_test.cpp [deleted file]
unittest/src/sc_test_main.cpp [deleted file]

index bae12f08d03051daa3508dee4334e2e774d369ca..231c68c484ba62bb24448baa8dcbc981783adb03 100644 (file)
@@ -1,24 +1,73 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+PROJECT(screen-connector)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-zdefs")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_C_FLAGS_RELEASE "-O2")
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} -std=c++17")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+
+## TARGET
+SET(TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE
+  "screen_connector_launcher_service")
+SET(TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS
+  "screen_connector_launcher_service_evas")
+SET(TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH
+  "screen_connector_shared_widget_launch")
+SET(TARGET_SCREEN_CONNECTOR_PROVIDER
+  "screen_connector_provider")
+SET(TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE
+  "screen_connector_remote_surface")
+SET(TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_MOCK
+  "screen_connector_remote_surface_mock")
+SET(TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS
+  "screen_connector_remote_surface_evas")
+SET(TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_MOCK
+  "screen_connector_remote_surface_evas_mock")
+SET(TARGET_SCREEN_CONNECTOR_WATCHER
+  "screen_connector_watcher")
+SET(TARGET_SCREEN_CONNECTOR_WATCHER_EVAS
+  "screen_connector_watcher_evas")
 
 ENABLE_TESTING()
+SET(TARGET_SCREEN_CONNECTOR_UNIT_TESTS
+  "gtest-screen-connector")
+
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
+
+INCLUDE(FindPkgConfig)
+INCLUDE(ApplyPkgConfig)
+
+PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
+PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
+PKG_CHECK_MODULES(LIBTBM_DEPS REQUIRED libtbm)
+PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul)
+PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
+PKG_CHECK_MODULES(ECORE_WL2_DEPS REQUIRED ecore-wl2)
+PKG_CHECK_MODULES(ELEMENTARY_DEPS REQUIRED elementary)
+PKG_CHECK_MODULES(TIZEN_REMOTE_SURFACE_CLIENT_DEPS REQUIRED tizen-remote-surface-client)
+PKG_CHECK_MODULES(TZSH_LAUNCHER_SERVICE_DEPS REQUIRED tzsh-launcher-service)
+PKG_CHECK_MODULES(TZSH_SHARED_WIDGET_LAUNCH_DEPS REQUIRED tzsh-shared-widget-launch)
+PKG_CHECK_MODULES(WAYLAND_CLIENT_DEPS REQUIRED wayland-client)
+PKG_CHECK_MODULES(WAYLAND_TBM_CLIENT_DEPS REQUIRED wayland-tbm-client)
+
 ADD_SUBDIRECTORY(screen_connector_launcher_service)
 ADD_SUBDIRECTORY(screen_connector_launcher_service_evas)
-ADD_SUBDIRECTORY(screen_connector_shared_widget_launch)
 ADD_SUBDIRECTORY(screen_connector_provider)
 ADD_SUBDIRECTORY(screen_connector_remote_surface)
-ADD_SUBDIRECTORY(screen_connector_remote_surface_mock)
 ADD_SUBDIRECTORY(screen_connector_remote_surface_evas)
 ADD_SUBDIRECTORY(screen_connector_remote_surface_evas_mock)
+ADD_SUBDIRECTORY(screen_connector_remote_surface_mock)
+ADD_SUBDIRECTORY(screen_connector_shared_widget_launch)
 ADD_SUBDIRECTORY(screen_connector_watcher)
 ADD_SUBDIRECTORY(screen_connector_watcher_evas)
-ADD_SUBDIRECTORY(unittest)
-
-ADD_DEPENDENCIES(screen_connector_launcher_service_evas screen_connector_launcher_service)
-ADD_DEPENDENCIES(screen_connector_remote_surface_evas screen_connector_remote_surface)
-ADD_DEPENDENCIES(screen_connector_watcher screen_connector_remote_surface)
-ADD_DEPENDENCIES(screen_connector_watcher_evas screen_connector_watcher screen_connector_remote_surface_evas)
-ADD_DEPENDENCIES(gtest-screen-connector screen_connector_watcher)
-
-SET(SCREEN_CONNECTOR_UNIT_TESTS gtest-screen-connector)
-ADD_TEST(NAME ${SCREEN_CONNECTOR_UNIT_TESTS} COMMAND ${SCREEN_CONNECTOR_UNIT_TESTS}
-        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest)
+ADD_SUBDIRECTORY(test)
diff --git a/cmake/Modules/ApplyPkgConfig.cmake b/cmake/Modules/ApplyPkgConfig.cmake
new file mode 100644 (file)
index 0000000..6cc4b92
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+#
+# This function applies external (out of source tree) dependencies
+# to given target. Arguments are:
+#   TARGET - valid cmake target
+#   PRIVACY - dependency can be inherited by dependent targets or not:
+#     PUBLIC - this should be used by default, cause compile/link flags passing
+#     PRIVATE - do not passes any settings to dependent targets,
+#               may be usefull for static libraries from the inside of the project
+# Argument ARGV2 and following are supposed to be names of checked pkg config
+# packages. This function will use variables created by check_pkg_modules().
+#  - ${DEP_NAME}_LIBRARIES
+#  - ${DEP_NAME}_INCLUDE_DIRS
+#  - ${DEP_NAME}_CFLAGS
+#
+FUNCTION(APPLY_PKG_CONFIG TARGET PRIVACY)
+  MATH(EXPR DEST_INDEX "${ARGC}-1")
+  FOREACH(I RANGE 2 ${DEST_INDEX})
+    IF(NOT ${ARGV${I}}_FOUND)
+      MESSAGE(FATAL_ERROR "Not found dependency - ${ARGV${I}}_FOUND")
+    ENDIF(NOT ${ARGV${I}}_FOUND)
+    TARGET_LINK_LIBRARIES(${TARGET} ${PRIVACY} "${${ARGV${I}}_LIBRARIES}")
+    TARGET_INCLUDE_DIRECTORIES(${TARGET} ${PRIVACY} SYSTEM "${${ARGV${I}}_INCLUDE_DIRS}")
+    STRING(REPLACE ";" " " CFLAGS_STR "${${ARGV${I}}_CFLAGS}")
+    SET(CFLAGS_LIST ${CFLAGS_STR})
+    SEPARATE_ARGUMENTS(CFLAGS_LIST)
+    FOREACH(OPTION ${CFLAGS_LIST})
+      TARGET_COMPILE_OPTIONS(${TARGET} ${PRIVACY} ${OPTION})
+    ENDFOREACH(OPTION)
+    SET_TARGET_PROPERTIES(${TARGET} PROPERTIES SKIP_BUILD_RPATH true)
+  ENDFOREACH(I RANGE 2 ${DEST_INDEX})
+ENDFUNCTION(APPLY_PKG_CONFIG TARGET PRIVACY)
index 0aacf56b6803a978fc521fde42a57fc7cf792537..201de92490dda66f34967d76d9627bd460835b62 100644 (file)
@@ -91,7 +91,7 @@ install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj/%{name}
 %endif
 
 %check
-export LD_LIBRARY_PATH=../screen_connector_remote_surface
+export LD_LIBRARY_PATH=../../screen_connector_remote_surface
 ctest -V
 
 %if 0%{?gcov:1}
@@ -136,7 +136,7 @@ Header & package configuration files to support development of the widget viewer
 %files -n %{name}_watcher-devel
 %{_includedir}/screen_connector_watcher/*.h
 %{_libdir}/pkgconfig/screen_connector_watcher.pc
-%attr(0644,root,root) %{_libdir}/%{name}_watcher.so
+%{_libdir}/%{name}_watcher.so
 
 
 #################################################
@@ -169,7 +169,7 @@ Header & package configuration files to support development of the widget viewer
 %files -n %{name}_provider-devel
 %{_includedir}/screen_connector_provider/*.h
 %{_libdir}/pkgconfig/screen_connector_provider.pc
-%attr(0644,root,root) %{_libdir}/%{name}_provider.so
+%{_libdir}/%{name}_provider.so
 
 
 #################################################
@@ -202,7 +202,7 @@ Header & package configuration files to support development of the widget viewer
 %files -n %{name}_watcher_evas-devel
 %{_includedir}/screen_connector_watcher_evas/*.h
 %{_libdir}/pkgconfig/screen_connector_watcher_evas.pc
-%attr(0644,root,root) %{_libdir}/%{name}_watcher_evas.so
+%{_libdir}/%{name}_watcher_evas.so
 
 #################################################
 # libscreen_connector_remote_surface
@@ -234,7 +234,7 @@ Header & package files to support development of the widget viewer applications.
 %files -n %{name}_remote_surface-devel
 %{_includedir}/screen_connector_remote_surface/*.h
 %{_libdir}/pkgconfig/screen_connector_remote_surface.pc
-%attr(0644,root,root) %{_libdir}/%{name}_remote_surface.so
+%{_libdir}/%{name}_remote_surface.so
 
 #################################################
 # libscreen_connector_remote_surface_mock
@@ -284,7 +284,7 @@ Header & package files to support development of the widget viewer applications.
 %files -n %{name}_remote_surface_evas-devel
 %{_includedir}/screen_connector_remote_surface_evas/*.h
 %{_libdir}/pkgconfig/screen_connector_remote_surface_evas.pc
-%attr(0644,root,root) %{_libdir}/%{name}_remote_surface_evas.so
+%{_libdir}/%{name}_remote_surface_evas.so
 
 #################################################
 # libscreen_connector_remote_surface_evas_mock
@@ -349,7 +349,7 @@ Header & package files to support development of the launcher applications.
 %files -n %{name}_launcher_service-devel
 %{_includedir}/screen_connector_launcher_service/*
 %{_libdir}/pkgconfig/screen_connector_launcher_service.pc
-%attr(0644,root,root) %{_libdir}/%{name}_launcher_service.so
+%{_libdir}/%{name}_launcher_service.so
 
 #################################################
 # libscreen_connector_launcher_service_evas
@@ -382,7 +382,7 @@ Header & package files to support development of the launcher service evas appli
 %files -n %{name}_launcher_service_evas-devel
 %{_includedir}/screen_connector_launcher_service_evas/*
 %{_libdir}/pkgconfig/screen_connector_launcher_service_evas.pc
-%attr(0644,root,root) %{_libdir}/%{name}_launcher_service_evas.so
+%{_libdir}/%{name}_launcher_service_evas.so
 
 #################################################
 # libscreen_connector_shared_widget_launch
@@ -415,6 +415,6 @@ Header & package files to support development of the shared widget launch applic
 %files -n %{name}_shared_widget_launch-devel
 %{_includedir}/screen_connector_shared_widget_launch/*
 %{_libdir}/pkgconfig/screen_connector_shared_widget_launch.pc
-%attr(0644,root,root) %{_libdir}/%{name}_shared_widget_launch.so
+%{_libdir}/%{name}_shared_widget_launch.so
 
 # End of a file
index ac0c8d6913a3425e28fa56a09a04a9d5da0d2d37..0861f7789ad1942c1416d6211ff6db048763118a 100644 (file)
@@ -1,55 +1,45 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_launcher_service CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR "${MAJORVER}")
-SET(VERSION "${FULLVER}")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_launcher_service REQUIRED
-       aul
-       dlog
-       ecore-wl2
-       glib-2.0
-       libtbm
-       tizen-remote-surface-client
-       tzsh-launcher-service
-       wayland-client
-       wayland-tbm-client
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}
+  SCREEN_CONNECTOR_LAUNCHER_SERVICE_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE} SHARED
+  ${SCREEN_CONNECTOR_LAUNCHER_SERVICE_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ECORE_WL2_DEPS
+  GLIB_DEPS
+  LIBTBM_DEPS
+  TIZEN_REMOTE_SURFACE_CLIENT_DEPS
+  TZSH_LAUNCHER_SERVICE_DEPS
+  WAYLAND_CLIENT_DEPS
+  WAYLAND_TBM_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_launcher_service_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-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}/include)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_launcher_service_LDFLAGS} "-lpthread")
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME}
-       DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
-       DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
-       DESTINATION include/${PROJECT_NAME}
-       FILES_MATCHING PATTERN "*.h"
-       PATTERN "*_internal.h" EXCLUDE
-       PATTERN "*_implementation.h" EXCLUDE)
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE}
+  FILES_MATCHING
+  PATTERN "*.h"
+  PATTERN "*_internal.h" EXCLUDE
+  PATTERN "*_implementation.h" EXCLUDE)
index fe050018b406588974994440074869e54fcb0344..28af5cca42fd5d3f8bc13de9eaa8d0c27e240dac 100644 (file)
@@ -1,55 +1,47 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(screen_connector_launcher_service_evas CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR "${MAJORVER}")
-SET(VERSION "${FULLVER}")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_launcher_service_evas REQUIRED
-       dlog
-       aul
-       wayland-tbm-client
-       wayland-client
-       ecore-wl2
-       tizen-remote-surface-client
-       tzsh-launcher-service
-       glib-2.0
-       elementary
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}
+  SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS} SHARED
+  ${SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_LINK_LIBRARIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS} PRIVATE
+  ${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ELEMENTARY_DEPS
+  GLIB_DEPS
+  TIZEN_REMOTE_SURFACE_CLIENT_DEPS
+  TZSH_LAUNCHER_SERVICE_DEPS
+  WAYLAND_CLIENT_DEPS
+  WAYLAND_TBM_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_launcher_service_evas_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-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}/include)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_launcher_service_evas_LDFLAGS} "-lpthread")
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME}
-       DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
-       DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
-       DESTINATION include/${PROJECT_NAME}
-       FILES_MATCHING PATTERN "*.h"
-       PATTERN "*_internal.h" EXCLUDE
-       PATTERN "*_implementation.h" EXCLUDE)
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_LAUNCHER_SERVICE_EVAS}
+  FILES_MATCHING
+  PATTERN "*.h"
+  PATTERN "*_internal.h" EXCLUDE
+  PATTERN "*_implementation.h" EXCLUDE)
index 6911888da68bb2dffaf84e7540dc41f8e58969a6..b97f44b6b160dc2e389c5940cfc4708971646ba2 100644 (file)
@@ -1,46 +1,40 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_provider C)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_provider REQUIRED
-       dlog
-       aul
-       wayland-tbm-client
-       elementary
-       wayland-client
-       ecore-wl2
-       tizen-remote-surface-client
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src
+  SCREEN_CONNECTOR_PROVIDER_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_PROVIDER} SHARED
+  ${SCREEN_CONNECTOR_PROVIDER_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_PROVIDER}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_PROVIDER}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_PROVIDER}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_PROVIDER}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_PROVIDER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_PROVIDER} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ECORE_WL2_DEPS
+  TIZEN_REMOTE_SURFACE_CLIENT_DEPS
+  WAYLAND_CLIENT_DEPS
+  WAYLAND_TBM_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_provider_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-AUX_SOURCE_DIRECTORY(src SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_provider_LDFLAGS} "-lpthread")
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h")
\ No newline at end of file
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_PROVIDER}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_PROVIDER}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_PROVIDER}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_PROVIDER}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_PROVIDER}
+  FILES_MATCHING
+  PATTERN "*.h")
index c67834d41e75a9903eba321c14d2b6ab1df6d2bd..9b2e7ccc57667ad2d0e9e2d41e6ff060a9cea4f8 100755 (executable)
@@ -22,7 +22,6 @@
 #include <dlog.h>
 #include <wayland-client.h>
 #include <Ecore_Wl2.h>
-#include <Elementary.h>
 #include <wayland-extension/tizen-extension-client-protocol.h>
 #include <tizen-remote-surface-client-protocol.h>
 #include <aul_screen_connector.h>
index 7ccc4e34af9af6640a689d768874f7567650c6ff..332ec72bd72609948b1e5ec477b9edf255aef632 100644 (file)
@@ -1,48 +1,40 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_remote_surface CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_remote_surface REQUIRED
-       dlog
-       aul
-       wayland-tbm-client
-       wayland-client
-       ecore-wl2
-       tizen-remote-surface-client
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}
+  SCREEN_CONNECTOR_REMOTE_SURFACE_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE} SHARED
+  ${SCREEN_CONNECTOR_REMOTE_SURFACE_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ECORE_WL2_DEPS
+  TIZEN_REMOTE_SURFACE_CLIENT_DEPS
+  WAYLAND_CLIENT_DEPS
+  WAYLAND_TBM_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_remote_surface_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline -std=c++11")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_remote_surface_LDFLAGS})
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING
-       PATTERN "*_internal.h"
-       PATTERN "*_implementation.h" EXCLUDE
-       PATTERN "*.h")
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE}
+  FILES_MATCHING
+  PATTERN "*_internal.h"
+  PATTERN "*_implementation.h" EXCLUDE
+  PATTERN "*.h")
index 196f73bae2ab4e488b118baaf7d058ccb24fe577..83d35e1bfe6541e9ae9ff8e5be0a693d62f7de85 100644 (file)
@@ -1,50 +1,46 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_remote_surface_evas CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_remote_surface_evas REQUIRED
-       dlog
-       aul
-       wayland-tbm-client
-       elementary
-       wayland-client
-       ecore-wl2
-       tizen-remote-surface-client
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}
+  SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS} SHARED
+  ${SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_LINK_LIBRARIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS} PRIVATE
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ECORE_WL2_DEPS
+  ELEMENTARY_DEPS
+  TIZEN_REMOTE_SURFACE_CLIENT_DEPS
+  WAYLAND_CLIENT_DEPS
+  WAYLAND_TBM_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_remote_surface_evas_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline -std=c++11")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_remote_surface_evas_LDFLAGS})
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING
-       PATTERN "*_internal.h" EXCLUDE
-       PATTERN "*_implementation.h" EXCLUDE
-       PATTERN "*.h")
-
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS}
+  FILES_MATCHING
+  PATTERN "*_internal.h" EXCLUDE
+  PATTERN "*_implementation.h" EXCLUDE
+  PATTERN "*.h")
index b203229f438af2ef8c5240e042e8e43151662022..9630a19dabbdae0343d5bb59d7311d0a565b86bc 100644 (file)
@@ -1,22 +1,11 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_remote_surface_evas_mock CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING
-       PATTERN "*_internal.h"
-       PATTERN "*_implementation.h" EXCLUDE
-       PATTERN "*.h")
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_MOCK}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_MOCK}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_MOCK}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_EVAS_MOCK}
+  FILES_MATCHING
+  PATTERN "*_internal.h"
+  PATTERN "*_implementation.h" EXCLUDE
+  PATTERN "*.h")
index 32da7d98b3381be91fa926e4cc5b6248b111523d..bdf5ea9279afc6fb33e568123efef703e8d9a479 100644 (file)
@@ -1,18 +1,11 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_remote_surface_mock CXX)
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_MOCK}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_MOCK}.pc @ONLY)
 
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING
-       PATTERN "*_internal.h"
-       PATTERN "*_implementation.h" EXCLUDE
-       PATTERN "*.h")
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_MOCK}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE_MOCK}
+  FILES_MATCHING
+  PATTERN "*_internal.h"
+  PATTERN "*_implementation.h" EXCLUDE
+  PATTERN "*.h")
index 55d2cf308ff8f82b4cd4d3b4fbe00fa909f1317d..4566a2b953baa888a5969f1f6b76669368b14d4d 100644 (file)
@@ -1,51 +1,42 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_shared_widget_launch CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR "${MAJORVER}")
-SET(VERSION "${FULLVER}")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_shared_widget_launch REQUIRED
-       dlog
-       aul
-       wayland-client
-       ecore-wl2
-       tzsh-shared-widget-launch
-       glib-2.0
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}
+  SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH} SHARED
+  ${SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ECORE_WL2_DEPS
+  GLIB_DEPS
+  TZSH_SHARED_WIDGET_LAUNCH_DEPS
+  WAYLAND_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_shared_widget_launch_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_shared_widget_launch_LDFLAGS} "-lpthread")
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME}
-       DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
-       DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
-       DESTINATION include/${PROJECT_NAME}
-       FILES_MATCHING PATTERN "*.h"
-       PATTERN "*_internal.h" EXCLUDE
-       PATTERN "*_implementation.h" EXCLUDE)
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_SHARED_WIDGET_LAUNCH}
+  FILES_MATCHING
+  PATTERN "*.h"
+  PATTERN "*_internal.h" EXCLUDE
+  PATTERN "*_implementation.h" EXCLUDE)
index 3d9a0274ec37622a7cd2e81603fcaa9e55790509..c2b6420d23a3e741d6ae2e5293e63e0f5e0fea4d 100644 (file)
@@ -1,47 +1,43 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_watcher CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_watcher REQUIRED
-       dlog
-       aul
-       wayland-tbm-client
-       elementary
-       wayland-client
-       ecore-wl2
-       tizen-remote-surface-client
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src
+  SCREEN_CONNECTOR_WATCHER_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_WATCHER} SHARED
+  ${SCREEN_CONNECTOR_WATCHER_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_LINK_LIBRARIES(${TARGET_SCREEN_CONNECTOR_WATCHER} PRIVATE
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_WATCHER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_WATCHER} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ECORE_WL2_DEPS
+  TIZEN_REMOTE_SURFACE_CLIENT_DEPS
+  WAYLAND_CLIENT_DEPS
+  WAYLAND_TBM_CLIENT_DEPS
 )
 
-FOREACH(flag ${screen_connector_watcher_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
-AUX_SOURCE_DIRECTORY(src SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_watcher_LDFLAGS} screen_connector_remote_surface)
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h")
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_WATCHER}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_WATCHER}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET_SCREEN_CONNECTOR_WATCHER}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_WATCHER}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_WATCHER}
+  FILES_MATCHING
+  PATTERN "*.h")
index 65a7397f8817edcc07a461721b65d822ef1ee4da..7f43929833d4a01ea8ce9a71f1a04def2b9ef4ba 100644 (file)
@@ -19,7 +19,6 @@
 #include <glib.h>
 #include <dlog.h>
 #include <wayland-client.h>
-#include <Elementary.h>
 #include <Ecore_Wl2.h>
 #include <wayland-extension/tizen-extension-client-protocol.h>
 #include <tizen-remote-surface-client-protocol.h>
index 183b921a76b6b42ae34829822a6857dfde4ca8a9..6186e2b1cc01234df2bf3432094560c512295ff5 100644 (file)
@@ -1,44 +1,41 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(screen_connector_watcher_evas CXX)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include/${PROJECT_NAME}")
-SET(VERSION_MAJOR 1)
-SET(VERSION "${VERSION_MAJOR}.0.0")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(screen_connector_watcher_evas REQUIRED
-       elementary
-       dlog
-       aul
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src
+  SCREEN_CONNECTOR_WATCHER_EVAS_SRCS)
+
+ADD_LIBRARY(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS} SHARED
+  ${SCREEN_CONNECTOR_WATCHER_EVAS_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}
+  PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}
+  PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fpic")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}
+  PROPERTIES LINK_FLAGS "-lpthread")
+
+TARGET_LINK_LIBRARIES(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS} PRIVATE
+  ${TARGET_SCREEN_CONNECTOR_WATCHER})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../screen_connector_watcher/include
+  ${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS} PUBLIC
+  AUL_DEPS
+  DLOG_DEPS
+  ELEMENTARY_DEPS
 )
 
-FOREACH(flag ${screen_connector_watcher_evas_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../screen_connector_watcher/include)
-
-AUX_SOURCE_DIRECTORY(src SOURCES)
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${screen_connector_watcher_evas_LDFLAGS})
-
-CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
-SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h")
+CONFIGURE_FILE(${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}.pc.in
+  ${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}.pc @ONLY)
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}
+  DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
+  DESTINATION include/${TARGET_SCREEN_CONNECTOR_WATCHER_EVAS}
+  FILES_MATCHING
+  PATTERN "*.h")
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7e297a2
--- /dev/null
@@ -0,0 +1 @@
+ADD_SUBDIRECTORY(unittest)
diff --git a/test/unittest/CMakeLists.txt b/test/unittest/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6de38f1
--- /dev/null
@@ -0,0 +1,32 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src
+  SCREEN_CONNECTOR_UNIT_TESTS_SRCS)
+
+ADD_EXECUTABLE(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS}
+  ${SCREEN_CONNECTOR_UNIT_TESTS_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS}
+  PROPERTIES COMPILE_FLAGS ${CLFAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS}
+  PROPERTIES LINK_FLAGS "-pie")
+
+TARGET_LINK_LIBRARIES(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} PUBLIC
+  ${TARGET_SCREEN_CONNECTOR_REMOTE_SURFACE})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../screen_connector_remote_surface
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../screen_connector_remote_surface/include)
+
+APPLY_PKG_CONFIG(${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} PUBLIC
+  AUL_DEPS
+  ELEMENTARY_DEPS
+  GLIB_DEPS
+  GMOCK_DEPS
+)
+
+INSTALL(TARGETS ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS} DESTINATION bin)
+
+ADD_TEST(NAME ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS}
+  COMMAND ${TARGET_SCREEN_CONNECTOR_UNIT_TESTS})
diff --git a/test/unittest/src/sc_remote_surface_test.cpp b/test/unittest/src/sc_remote_surface_test.cpp
new file mode 100644 (file)
index 0000000..e4f201e
--- /dev/null
@@ -0,0 +1,106 @@
+#include <gtest/gtest.h>
+#include <gmock/gmock.h>
+#include <iostream>
+#include <stdbool.h>
+#include <stdexcept>
+#include <glib.h>
+#include "screen_connector_remote_surface/buffer_event_interface.h"
+#include "screen_connector_remote_surface/remote_surface_implementation.h"
+#include "screen_connector_remote_surface/remote_surface.h"
+
+using namespace std;
+using ::testing::AtLeast;
+
+GMainLoop *mainloop = NULL;
+class SimpleRs : public screen_connector::RemoteSurface {
+ public:
+   enum Event {
+     None,
+     Added,
+     Removed,
+     Changed
+   };
+
+   Event curEvent;
+   string curInstId;
+   int curType = -1;
+   SimpleRs(const std::string& id,
+     screen_connector::RemoteSurface::Type type, bool mock, Event evType)
+       : screen_connector::RemoteSurface(id, type, nullptr, mock),
+          curEvent(evType) {
+   }
+   void OnBufferAdded(const std::string& appId,
+                      const std::string& instId, int pid) override {
+     cout << "OnBufferAdded  " << instId << endl;
+     if (curEvent == Added && g_main_loop_is_running(mainloop)) {
+       g_main_loop_quit(mainloop);
+       curInstId = instId;
+       cout << "OnBufferAdded done  ?? " << curInstId << endl;
+     }
+   }
+   void OnBufferRemoved(const std::string& appId,
+                      const std::string& instId, int pid) override {
+
+     cout << "OnBufferRemoved  " << instId << endl;
+     if (curEvent == Removed && g_main_loop_is_running(mainloop)) {
+       g_main_loop_quit(mainloop);
+       curInstId = instId;
+       cout << "OnBufferRemoved done  ?? " << curInstId << endl;
+     }
+   }
+   void OnBufferChanged(int type, std::shared_ptr<screen_connector::WlBuffer> tbm,
+                        int fd, uint32_t size, uint32_t time) override {
+     cout << "OnBufferChanged event " << type << endl;
+     if (curEvent == Changed && g_main_loop_is_running(mainloop)) {
+       g_main_loop_quit(mainloop);
+       curType = type;
+       cout << "OnBufferChanged event done " << curType << endl;
+     }
+   }
+};
+
+class SCRemoteSurface : public ::testing::Test {
+ public:
+  string testId = "org.tizen.screen_connector.test.appid.instid";
+  void RunMainLoop() {
+    g_main_loop_run(mainloop);
+  }
+  virtual void SetUp() {
+    mainloop = g_main_loop_new(NULL, FALSE);
+  }
+  virtual void TearDown() {
+    g_main_loop_unref(mainloop);
+       mainloop = NULL;
+  }
+};
+
+TEST_F(SCRemoteSurface, SCRemoteSurface_CONST) {
+  SimpleRs *rs = new SimpleRs(testId.c_str(),
+    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::None);
+  EXPECT_NE(rs, nullptr);
+  delete rs;
+}
+
+TEST_F(SCRemoteSurface, SCRemoteSurface_ADDED) {
+  SimpleRs *rs = new SimpleRs(testId.c_str(),
+    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::Added);
+  RunMainLoop();
+  EXPECT_EQ(testId, rs->curInstId);
+  delete rs;
+}
+
+TEST_F(SCRemoteSurface, SCRemoteSurface_CHANGED) {
+  SimpleRs *rs = new SimpleRs(testId.c_str(),
+    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::Changed);
+  RunMainLoop();
+  EXPECT_EQ(TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM, rs->curType);
+  delete rs;
+}
+
+TEST_F(SCRemoteSurface, SCRemoteSurface_REMOVED) {
+  SimpleRs *rs = new SimpleRs(testId.c_str(),
+    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::Removed);
+  RunMainLoop();
+  EXPECT_EQ(testId, rs->curInstId);
+  delete rs;
+}
diff --git a/test/unittest/src/sc_test_main.cpp b/test/unittest/src/sc_test_main.cpp
new file mode 100644 (file)
index 0000000..9ce9595
--- /dev/null
@@ -0,0 +1,19 @@
+#include <gtest/gtest.h>
+#include <gmock/gmock.h>
+
+int main(int argc, char** argv){
+  int ret = -1;
+  try {
+    testing::InitGoogleTest(&argc, argv);
+  } catch(...) {
+    std::cout << "Exception occurred" << std::endl;
+  }
+  try {
+    ret = RUN_ALL_TESTS();
+  } catch (const ::testing::internal::GoogleTestFailureException& e) {
+    ret = -1;
+    std::cout << "GoogleTestFailureException was thrown:" << e.what() << std::endl;
+  }
+
+  return ret;
+}
diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt
deleted file mode 100644 (file)
index 2ce5c6f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(gtest-screen-connector CXX)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(gtest-screen-connector REQUIRED
-    glib-2.0
-    gmock
-    aul
-    elementary
-)
-
-FOREACH(flag ${gtest-screen-connector_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++11")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
-AUX_SOURCE_DIRECTORY(src SOURCES)
-ADD_EXECUTABLE(${PROJECT_NAME}
-       ${SOURCES}
-)
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${gtest-screen-connector_LDFLAGS} screen_connector_remote_surface)
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
diff --git a/unittest/src/sc_remote_surface_test.cpp b/unittest/src/sc_remote_surface_test.cpp
deleted file mode 100644 (file)
index e4f201e..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#include <gtest/gtest.h>
-#include <gmock/gmock.h>
-#include <iostream>
-#include <stdbool.h>
-#include <stdexcept>
-#include <glib.h>
-#include "screen_connector_remote_surface/buffer_event_interface.h"
-#include "screen_connector_remote_surface/remote_surface_implementation.h"
-#include "screen_connector_remote_surface/remote_surface.h"
-
-using namespace std;
-using ::testing::AtLeast;
-
-GMainLoop *mainloop = NULL;
-class SimpleRs : public screen_connector::RemoteSurface {
- public:
-   enum Event {
-     None,
-     Added,
-     Removed,
-     Changed
-   };
-
-   Event curEvent;
-   string curInstId;
-   int curType = -1;
-   SimpleRs(const std::string& id,
-     screen_connector::RemoteSurface::Type type, bool mock, Event evType)
-       : screen_connector::RemoteSurface(id, type, nullptr, mock),
-          curEvent(evType) {
-   }
-   void OnBufferAdded(const std::string& appId,
-                      const std::string& instId, int pid) override {
-     cout << "OnBufferAdded  " << instId << endl;
-     if (curEvent == Added && g_main_loop_is_running(mainloop)) {
-       g_main_loop_quit(mainloop);
-       curInstId = instId;
-       cout << "OnBufferAdded done  ?? " << curInstId << endl;
-     }
-   }
-   void OnBufferRemoved(const std::string& appId,
-                      const std::string& instId, int pid) override {
-
-     cout << "OnBufferRemoved  " << instId << endl;
-     if (curEvent == Removed && g_main_loop_is_running(mainloop)) {
-       g_main_loop_quit(mainloop);
-       curInstId = instId;
-       cout << "OnBufferRemoved done  ?? " << curInstId << endl;
-     }
-   }
-   void OnBufferChanged(int type, std::shared_ptr<screen_connector::WlBuffer> tbm,
-                        int fd, uint32_t size, uint32_t time) override {
-     cout << "OnBufferChanged event " << type << endl;
-     if (curEvent == Changed && g_main_loop_is_running(mainloop)) {
-       g_main_loop_quit(mainloop);
-       curType = type;
-       cout << "OnBufferChanged event done " << curType << endl;
-     }
-   }
-};
-
-class SCRemoteSurface : public ::testing::Test {
- public:
-  string testId = "org.tizen.screen_connector.test.appid.instid";
-  void RunMainLoop() {
-    g_main_loop_run(mainloop);
-  }
-  virtual void SetUp() {
-    mainloop = g_main_loop_new(NULL, FALSE);
-  }
-  virtual void TearDown() {
-    g_main_loop_unref(mainloop);
-       mainloop = NULL;
-  }
-};
-
-TEST_F(SCRemoteSurface, SCRemoteSurface_CONST) {
-  SimpleRs *rs = new SimpleRs(testId.c_str(),
-    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::None);
-  EXPECT_NE(rs, nullptr);
-  delete rs;
-}
-
-TEST_F(SCRemoteSurface, SCRemoteSurface_ADDED) {
-  SimpleRs *rs = new SimpleRs(testId.c_str(),
-    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::Added);
-  RunMainLoop();
-  EXPECT_EQ(testId, rs->curInstId);
-  delete rs;
-}
-
-TEST_F(SCRemoteSurface, SCRemoteSurface_CHANGED) {
-  SimpleRs *rs = new SimpleRs(testId.c_str(),
-    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::Changed);
-  RunMainLoop();
-  EXPECT_EQ(TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM, rs->curType);
-  delete rs;
-}
-
-TEST_F(SCRemoteSurface, SCRemoteSurface_REMOVED) {
-  SimpleRs *rs = new SimpleRs(testId.c_str(),
-    screen_connector::RemoteSurface::WIDGET, true, SimpleRs::Event::Removed);
-  RunMainLoop();
-  EXPECT_EQ(testId, rs->curInstId);
-  delete rs;
-}
diff --git a/unittest/src/sc_test_main.cpp b/unittest/src/sc_test_main.cpp
deleted file mode 100644 (file)
index 9ce9595..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <gtest/gtest.h>
-#include <gmock/gmock.h>
-
-int main(int argc, char** argv){
-  int ret = -1;
-  try {
-    testing::InitGoogleTest(&argc, argv);
-  } catch(...) {
-    std::cout << "Exception occurred" << std::endl;
-  }
-  try {
-    ret = RUN_ALL_TESTS();
-  } catch (const ::testing::internal::GoogleTestFailureException& e) {
-    ret = -1;
-    std::cout << "GoogleTestFailureException was thrown:" << e.what() << std::endl;
-  }
-
-  return ret;
-}