Modify directory hierarchy 97/312197/2
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 5 Jun 2024 04:47:11 +0000 (13:47 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 5 Jun 2024 04:48:52 +0000 (13:48 +0900)
Source directories are moved to src.

- src/bundle
- src/parcel
- src/tizen-database
- src/tizen-shared-queue

Change-Id: I3b0dd75dd1d18d5e6611d08e90754df3b393e9d5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
45 files changed:
CMakeLists.txt
cmake/Modules/ApplyPkgConfig.cmake [new file with mode: 0644]
packaging/bundle.spec
parcel/CMakeLists.txt [deleted file]
src/CMakeLists.txt [new file with mode: 0644]
src/bundle/CMakeLists.txt [new file with mode: 0644]
src/bundle/bundle-internal.cc [moved from src/bundle-internal.cc with 100% similarity]
src/bundle/bundle-internal.h [moved from src/bundle-internal.h with 100% similarity]
src/bundle/bundle.pc.in [moved from bundle.pc.in with 100% similarity]
src/bundle/bundle_cpp.cc [moved from src/bundle_cpp.cc with 100% similarity]
src/bundle/bundle_cpp_implementation.h [moved from src/bundle_cpp_implementation.h with 100% similarity]
src/bundle/exception-internal.h [moved from src/exception-internal.h with 100% similarity]
src/bundle/export-api-internal.h [moved from src/export-api-internal.h with 100% similarity]
src/bundle/include/SLP_bundle_PG.h [moved from include/SLP_bundle_PG.h with 100% similarity]
src/bundle/include/bundle.h [moved from include/bundle.h with 100% similarity]
src/bundle/include/bundle_cpp.h [moved from include/bundle_cpp.h with 100% similarity]
src/bundle/include/bundle_internal.h [moved from include/bundle_internal.h with 100% similarity]
src/bundle/json-internal.cc [moved from src/json-internal.cc with 100% similarity]
src/bundle/json-internal.h [moved from src/json-internal.h with 100% similarity]
src/bundle/key-info-internal.cc [moved from src/key-info-internal.cc with 100% similarity]
src/bundle/key-info-internal.h [moved from src/key-info-internal.h with 100% similarity]
src/bundle/log-private.h [moved from src/log-private.h with 100% similarity]
src/bundle/stub.cc [moved from src/stub.cc with 100% similarity]
src/parcel/CMakeLists.txt [new file with mode: 0644]
src/parcel/api/parcel.h [moved from parcel/api/parcel.h with 100% similarity]
src/parcel/common.hh [moved from parcel/common.hh with 100% similarity]
src/parcel/log_private.hh [moved from parcel/log_private.hh with 100% similarity]
src/parcel/parcel.cc [moved from parcel/parcel.cc with 100% similarity]
src/parcel/parcel.hh [moved from parcel/parcel.hh with 100% similarity]
src/parcel/parcel.pc.in [moved from parcel/parcel.pc.in with 100% similarity]
src/parcel/parcel_implementation.hh [moved from parcel/parcel_implementation.hh with 100% similarity]
src/parcel/parcelable.hh [moved from parcel/parcelable.hh with 100% similarity]
src/parcel/stub.cc [moved from parcel/stub.cc with 100% similarity]
src/tizen-database/CMakeLists.txt [moved from tizen-database/CMakeLists.txt with 55% similarity]
src/tizen-database/README.md [moved from tizen-database/README.md with 100% similarity]
src/tizen-database/database.hpp [moved from tizen-database/database.hpp with 100% similarity]
src/tizen-database/tizen-database.pc.in [moved from tizen-database/tizen-database.pc.in with 100% similarity]
src/tizen-shared-queue/CMakeLists.txt [moved from tizen-shared-queue/CMakeLists.txt with 81% similarity]
src/tizen-shared-queue/shared-queue.hpp [moved from tizen-shared-queue/shared-queue.hpp with 100% similarity]
src/tizen-shared-queue/tizen-shared-queue.pc.in [moved from tizen-shared-queue/tizen-shared-queue.pc.in with 100% similarity]
tests/CMakeLists.txt
tests/bundle_unittests/CMakeLists.txt
tests/parcel_unittests/CMakeLists.txt
tests/tizen-database_unittests/CMakeLists.txt
tests/tizen-shared-queue_unittests/CMakeLists.txt

index b22b34a..aaea2db 100644 (file)
@@ -1,79 +1,63 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(bundle C CXX)
-IF("${VERSION}" STREQUAL "")
-       MESSAGE(FATAL_ERROR "VERSION is not defined")
-ENDIF()
-STRING(REGEX MATCH "^[0-9]+" VERSION_MAJOR ${VERSION})
-IF("${VERSION_MAJOR}" STREQUAL "")
-       MESSAGE(FATAL_ERROR "can't get VERSION_MAJOR")
-ENDIF()
+CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
 
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(pkgs REQUIRED
-       glib-2.0 dlog capi-base-common json-glib-1.0
-)
-
-FOREACH(flag ${pkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -flto -Wall -Werror -Winline -Wno-noexcept-type")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++17")
-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}/src)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/)
+PROJECT(bundle)
 
-AUX_SOURCE_DIRECTORY(src SOURCES)
-
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${SOURCES})
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(VERSION ${FULLVER})
 
-SET_TARGET_PROPERTIES(bundle PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(bundle PROPERTIES VERSION "${VERSION}")
+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} -Winline")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-noexcept-type")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto")
 
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fPIE")
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-pie")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_C_FLAGS_RELEASE "-O2")
 
-### Make pkgconfig file
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/bundle.pc.in ${CMAKE_BINARY_DIR}/bundle.pc @ONLY)
+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")
 
-### Install
-INSTALL(TARGETS bundle DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/bundle.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
 
-ADD_SUBDIRECTORY(parcel)
-ADD_DEPENDENCIES(parcel bundle)
+SET(TARGET_BUNDLE "bundle")
+SET(TARGET_PARCEL "parcel")
+SET(TARGET_TIZEN_DATABASE "tizen-database")
+SET(TARGET_TIZEN_SHARED_QUEUE "tizen-shared-queue")
+SET(TARGET_BUNDLE_UNITTESTS "bundle_unittests")
+SET(TARGET_PARCEL_UNITTESTS "parcel_unittests")
+SET(TARGET_TIZEN_DATABASE_UNITTESTS "tizen-database_unittests")
+SET(TARGET_TIZEN_SHARED_QUEUE_UNITTESTS "tizen-shared-queue_unittests")
 
-ADD_SUBDIRECTORY(tizen-database)
-ADD_SUBDIRECTORY(tizen-shared-queue)
+INCLUDE(FindPkgConfig)
+INCLUDE(ApplyPkgConfig)
 
-IF(NOT DEFINED MINIMUM_BUILD)
-ENABLE_TESTING()
-SET(BUNDLE_UNITTESTS bundle_unittests)
-ADD_TEST(NAME ${BUNDLE_UNITTESTS} COMMAND ${BUNDLE_UNITTESTS}
-        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/bundle_unittests)
+PKG_CHECK_MODULES(CAPI_BASE_COMMON_DEPS REQUIRED capi-base-common)
+PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
+PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
+PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
+PKG_CHECK_MODULES(JSON_GLIB_DEPS REQUIRED json-glib-1.0)
+PKG_CHECK_MODULES(SQLITE3_DEPS REQUIRED sqlite3)
 
+ADD_SUBDIRECTORY(src)
 ADD_SUBDIRECTORY(tests)
-ADD_DEPENDENCIES(bundle_unittests bundle)
 
-SET(PARCEL_UNITTESTS parcel_unittests)
-ADD_TEST(NAME ${PARCEL_UNITTESTS} COMMAND ${PARCEL_UNITTESTS}
-        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/parcel_unittests)
+ENABLE_TESTING()
+ADD_TEST(NAME ${TARGET_BUNDLE_UNITTESTS}
+  COMMAND ${TARGET_BUNDLE_UNITTESTS}
+  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/bundle_unittests)
 
-ADD_DEPENDENCIES(parcel_unittests parcel)
+ADD_TEST(NAME ${TARGET_PARCEL_UNITTESTS}
+  COMMAND ${TARGET_PARCEL_UNITTESTS}
+  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/parcel_unittests)
 
-SET(TIZEN_DATABASE_UNITTESTS tizen-database_unittests)
-ADD_TEST(NAME ${TIZEN_DATABASE_UNITTESTS} COMMAND ${TIZEN_DATABASE_UNITTESTS}
-        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/tizen-database_unittests)
+ADD_TEST(NAME ${TARGET_TIZEN_DATABASE_UNITTESTS} 
+  COMMAND ${TARGET_TIZEN_DATABASE_UNITTESTS}
+  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/tizen-database_unittests)
 
-SET(TIZEN_SHARED_QUEUE_UNITTESTS tizen-shared-queue_unittests)
-ADD_TEST(NAME ${TIZEN_SHARED_QUEUE_UNITTESTS}
-  COMMAND ${TIZEN_SHARED_QUEUE_UNITTESTS}
+ADD_TEST(NAME ${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS}
+  COMMAND ${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS}
   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/tizen-shared-queue_unittests)
-
-ENDIF(NOT DEFINED MINIMUM_BUILD)
diff --git a/cmake/Modules/ApplyPkgConfig.cmake b/cmake/Modules/ApplyPkgConfig.cmake
new file mode 100644 (file)
index 0000000..b71e5a6
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright (c) 2024 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 5d23df9..91a5653 100644 (file)
@@ -134,10 +134,12 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage"
 export LDFLAGS+=" -lgcov"
 %endif
 
-%cmake -DVERSION=%{version} .
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+%cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
 %__make %{?_smp_mflags}
 
 %check
+export LD_LIBRARY_PATH="../../src/bundle:../../src/parcel"
 ctest --verbose %{?_smp_mflags}
 %if 0%{?gcov:1}
 lcov -c --ignore-errors mismatch,graph,unused --no-external -b . -d . -o %{name}.info
diff --git a/parcel/CMakeLists.txt b/parcel/CMakeLists.txt
deleted file mode 100644 (file)
index 2e72f73..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(parcel C CXX)
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(pkgs REQUIRED dlog capi-base-common glib-2.0)
-
-FOREACH(flag ${pkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -flto -Wall -Werror -Winline")
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -std=c++17")
-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_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/api)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/parcel PARCEL_SRCS)
-
-ADD_LIBRARY (${PROJECT_NAME} SHARED ${PARCEL_SRCS})
-
-SET_TARGET_PROPERTIES(parcel PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(parcel PROPERTIES VERSION "${VERSION}")
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fPIE")
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-pie")
-
-### Make pkgconfig file
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/parcel.pc.in
-  ${CMAKE_BINARY_DIR}/parcel.pc @ONLY)
-
-### Install
-INSTALL(TARGETS parcel DESTINATION ${LIB_INSTALL_DIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/parcel.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
-
-SET(HEADER_PARCEL
-  common.hh
-  parcel.hh
-  parcelable.hh
-)
-
-FOREACH(hfile ${HEADER_PARCEL})
-  INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/parcel)
-ENDFOREACH(hfile)
-
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/api/parcel.h
-  DESTINATION include/parcel)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9373d86
--- /dev/null
@@ -0,0 +1,4 @@
+ADD_SUBDIRECTORY(bundle)
+ADD_SUBDIRECTORY(parcel)
+ADD_SUBDIRECTORY(tizen-database)
+ADD_SUBDIRECTORY(tizen-shared-queue)
diff --git a/src/bundle/CMakeLists.txt b/src/bundle/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7938a11
--- /dev/null
@@ -0,0 +1,28 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} BUNDLE_SRCS)
+
+ADD_LIBRARY(${TARGET_BUNDLE} SHARED ${BUNDLE_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_BUNDLE} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_BUNDLE} PROPERTIES VERSION ${FULLVER})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_BUNDLE} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/include
+  ${CMAKE_CURRENT_SOURCE_DIR}/../)
+
+APPLY_PKG_CONFIG(${TARGET_BUNDLE} PUBLIC
+  CAPI_BASE_COMMON_DEPS
+  DLOG_DEPS
+  GLIB_DEPS
+  JSON_GLIB_DEPS)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(VERSION ${FULLVER})
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bundle.pc.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/bundle.pc @ONLY)
+
+INSTALL(TARGETS ${TARGET_BUNDLE} DESTINATION ${LIB_INSTALL_DIR})
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bundle.pc DESTINATION
+  ${LIB_INSTALL_DIR}/pkgconfig/)
similarity index 100%
rename from bundle.pc.in
rename to src/bundle/bundle.pc.in
similarity index 100%
rename from src/bundle_cpp.cc
rename to src/bundle/bundle_cpp.cc
similarity index 100%
rename from include/bundle.h
rename to src/bundle/include/bundle.h
similarity index 100%
rename from src/log-private.h
rename to src/bundle/log-private.h
similarity index 100%
rename from src/stub.cc
rename to src/bundle/stub.cc
diff --git a/src/parcel/CMakeLists.txt b/src/parcel/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b042a16
--- /dev/null
@@ -0,0 +1,38 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} PARCEL_SRCS)
+
+ADD_LIBRARY(${TARGET_PARCEL} SHARED ${PARCEL_SRCS})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_PARCEL} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/api
+  ${CMAKE_CURRENT_SOURCE_DIR}/../)
+
+SET_TARGET_PROPERTIES(${TARGET_PARCEL} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_PARCEL} PROPERTIES VERSION ${FULLVER})
+
+APPLY_PKG_CONFIG(${TARGET_PARCEL} PUBLIC
+  CAPI_BASE_COMMON_DEPS
+  DLOG_DEPS
+  GLIB_DEPS
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_PARCEL} PUBLIC ${TARGET_BUNDLE})
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/parcel.pc.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/parcel.pc @ONLY)
+
+INSTALL(TARGETS ${TARGET_PARCEL} DESTINATION ${LIB_INSTALL_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/parcel.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
+
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  DESTINATION include/parcel/
+  FILES_MATCHING
+  PATTERN "*.hh"
+  PATTERN "*_private.hh" EXCLUDE
+  PATTERN "*_implementation.hh" EXCLUDE)
+
+  INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/api
+  DESTINATION include/parcel/
+  FILES_MATCHING
+  PATTERN "*.h")
similarity index 100%
rename from parcel/api/parcel.h
rename to src/parcel/api/parcel.h
similarity index 100%
rename from parcel/common.hh
rename to src/parcel/common.hh
similarity index 100%
rename from parcel/parcel.cc
rename to src/parcel/parcel.cc
similarity index 100%
rename from parcel/parcel.hh
rename to src/parcel/parcel.hh
similarity index 100%
rename from parcel/parcel.pc.in
rename to src/parcel/parcel.pc.in
similarity index 100%
rename from parcel/stub.cc
rename to src/parcel/stub.cc
similarity index 55%
rename from tizen-database/CMakeLists.txt
rename to src/tizen-database/CMakeLists.txt
index 9062594..fe66efd 100644 (file)
@@ -1,9 +1,7 @@
-### Make pkgconfig file
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/tizen-database.pc.in
   ${CMAKE_BINARY_DIR}/tizen-database.pc @ONLY)
 
-### Install
-INSTALL(FILES ${CMAKE_BINARY_DIR}/tizen-database.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/tizen-database.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/database.hpp
   DESTINATION include/tizen-database)
similarity index 81%
rename from tizen-shared-queue/CMakeLists.txt
rename to src/tizen-shared-queue/CMakeLists.txt
index 8ffe1c8..5a033e5 100644 (file)
@@ -1,9 +1,6 @@
-### Make pkgconfig file
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/tizen-shared-queue.pc.in
   ${CMAKE_BINARY_DIR}/tizen-shared-queue.pc @ONLY)
 
-### Install
 INSTALL(FILES ${CMAKE_BINARY_DIR}/tizen-shared-queue.pc
   DESTINATION ${LIB_INSTALL_DIR}/pkgconfig/)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/shared-queue.hpp
index bb5abb2..30e9d3e 100644 (file)
@@ -2,3 +2,6 @@ ADD_SUBDIRECTORY(bundle_unittests)
 ADD_SUBDIRECTORY(parcel_unittests)
 ADD_SUBDIRECTORY(tizen-database_unittests)
 ADD_SUBDIRECTORY(tizen-shared-queue_unittests)
+
+ADD_DEPENDENCIES(${TARGET_BUNDLE_UNITTESTS} ${TARGET_BUNDLE})
+ADD_DEPENDENCIES(${TARGET_PARCEL_UNITTESTS} ${TARGET_PARCEL})
index 7ee51e9..d057490 100644 (file)
@@ -1,39 +1,20 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(bundle_unittests C CXX)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src BUNDLE_UNITTESTS_SRCS)
 
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(bundle_unittests REQUIRED
-    dlog
-    gmock
-    glib-2.0
-    json-glib-1.0
-    capi-base-common
-)
-
-FOREACH(flag ${bundle_unittests_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++17")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ADD_EXECUTABLE(${TARGET_BUNDLE_UNITTESTS} ${BUNDLE_UNITTESTS_SRCS})
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../src)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../bundle)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src UNITTESTS_SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../src BUNDLE_SOURCES)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_BUNDLE_UNITTESTS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../bundle/include
+)
 
-ADD_EXECUTABLE(${PROJECT_NAME}
-    ${BUNDLE_SOURCES}
-    ${UNITTESTS_SOURCES}
+APPLY_PKG_CONFIG(${TARGET_BUNDLE_UNITTESTS} PUBLIC
+  GMOCK_DEPS
+  DLOG_DEPS
+  GLIB_DEPS
 )
 
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${bundle_unittests_LDFLAGS})
+TARGET_LINK_LIBRARIES(${TARGET_BUNDLE_UNITTESTS} PRIVATE ${TARGET_BUNDLE})
 
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
+INSTALL(TARGETS ${TARGET_BUNDLE_UNITTESTS} DESTINATION bin)
index b2df484..69486d0 100644 (file)
@@ -1,42 +1,20 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(parcel_unittests C CXX)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} PARCEL_UNITTESTS_SRCS)
 
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(parcel_unittests REQUIRED
-    capi-base-common
-    dlog
-    glib-2.0
-    gmock
-    json-glib-1.0
-)
-
-FOREACH(flag ${parcel_unittests_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++17")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ADD_EXECUTABLE(${TARGET_PARCEL_UNITTESTS} ${PARCEL_UNITTESTS_SRCS})
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../src)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../parcel)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../parcel/api)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ UNITTESTS_SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../src BUNDLE_SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../parcel PARCEL_SOURCES)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_PARCEL_UNITTESTS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src/parcel
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src/parcel/api
+)
 
-ADD_EXECUTABLE(${PROJECT_NAME}
-  ${BUNDLE_SOURCES}
-  ${PARCEL_SOURCES}
-  ${UNITTESTS_SOURCES}
+APPLY_PKG_CONFIG(${TARGET_PARCEL_UNITTESTS} PUBLIC
+  GMOCK_DEPS
 )
 
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${parcel_unittests_LDFLAGS})
+TARGET_LINK_LIBRARIES(${TARGET_PARCEL_UNITTESTS} PRIVATE ${TARGET_PARCEL})
 
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
+INSTALL(TARGETS ${TARGET_PARCEL_UNITTESTS} DESTINATION bin)
index a7a36fd..0e7d5f7 100644 (file)
@@ -1,29 +1,22 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(tizen-database_unittests CXX)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src TIZEN_DATABASE_UNITTESTS_SRCS)
 
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(tizen-database_unittests REQUIRED
-    gmock
-    sqlite3
-)
-
-SET(EXTRA_CFLAGS "")
-FOREACH(flag ${database_unittests_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror")
-
-SET(CMAKE_CXX_FLAGS "${EXTRA_CFLAGS} -std=c++17")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+ADD_EXECUTABLE(${TARGET_TIZEN_DATABASE_UNITTESTS}
+  ${TIZEN_DATABASE_UNITTESTS_SRCS})
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src UNITTESTS_SOURCES)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_TIZEN_DATABASE_UNITTESTS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src/tizen-database
+)
 
-ADD_EXECUTABLE(${PROJECT_NAME}
-    ${UNITTESTS_SOURCES}
+APPLY_PKG_CONFIG(${TARGET_TIZEN_DATABASE_UNITTESTS} PUBLIC
+  GMOCK_DEPS
+  SQLITE3_DEPS
 )
 
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${tizen-database_unittests_LDFLAGS})
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
\ No newline at end of file
+#TARGET_LINK_LIBRARIES(${TARGET_TIZEN_DATABASE_UNITTESTS} PRIVATE
+#  ${TARGET_TIZEN_DATABASE})
+
+INSTALL(TARGETS ${TARGET_TIZEN_DATABASE_UNITTESTS} DESTINATION bin)
index 3a17063..377566b 100644 (file)
@@ -1,25 +1,22 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(tizen-shared-queue_unittests CXX)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}
+  TIZEN_SHARED_QUEUE_UNITTESTS_SRCS)
 
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(tizen-shared-queue_unittests REQUIRED gmock)
+ADD_EXECUTABLE(${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS}
+  ${TIZEN_SHARED_QUEUE_UNITTESTS_SRCS})
 
-SET(EXTRA_CFLAGS "")
-FOREACH(flag ${tizen-shared-queue_unittests_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror")
+TARGET_INCLUDE_DIRECTORIES(${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src/tizen-shared-queue
+)
 
-SET(CMAKE_CXX_FLAGS "${EXTRA_CFLAGS} -std=c++17")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+APPLY_PKG_CONFIG(${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS} PUBLIC
+  GMOCK_DEPS
+)
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../)
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} UNITTESTS_SOURCES)
+#TARGET_LINK_LIBRARIES(${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS}
+#  PRIVATE ${TARGET_TIZEN_SHARED_QUEUE})
 
-ADD_EXECUTABLE(${PROJECT_NAME} ${UNITTESTS_SOURCES})
-
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
-  "${EXTRA_CFLAGS}")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${tizen-shared-queue_unittests_LDFLAGS})
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/)
+INSTALL(TARGETS ${TARGET_TIZEN_SHARED_QUEUE_UNITTESTS} DESTINATION bin)