Prepare unit test 72/239572/1
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 27 Jul 2020 23:40:19 +0000 (08:40 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 27 Jul 2020 23:40:19 +0000 (08:40 +0900)
Change-Id: I994d5c4ac92e6a53e936058255396da0fa6213bb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
50 files changed:
CMakeLists.txt
cmake/Modules/ApplyPkgConfig.cmake [new file with mode: 0644]
include/aul_cmd.h [changed mode: 0755->0644]
include/aul_complication.h [changed mode: 0755->0644]
include/aul_rsc_mgr.h [changed mode: 0755->0644]
include/aul_svc.h [changed mode: 0755->0644]
include/aul_svc_internal.h [changed mode: 0755->0644]
include/aul_widget.h [changed mode: 0755->0644]
include/aul_window.h [changed mode: 0755->0644]
packaging/aul.spec
parser/CMakeLists.txt
parser/component/CMakeLists.txt
parser/metadata/CMakeLists.txt
src/app_signal.h [moved from include/app_signal.h with 100% similarity]
src/aul_api.h [moved from include/aul_api.h with 100% similarity]
src/aul_svc_db.h [moved from include/aul_svc_db.h with 100% similarity, mode: 0644]
src/aul_svc_priv_key.h [moved from include/aul_svc_priv_key.h with 100% similarity, mode: 0644]
src/aul_util.h [moved from include/aul_util.h with 100% similarity]
src/aul_worker.h [moved from include/aul_worker.h with 100% similarity]
src/key.h [moved from include/key.h with 100% similarity]
src/launch.h [moved from include/launch.h with 100% similarity]
src/menu_db_util.h [moved from include/menu_db_util.h with 100% similarity]
src/miregex.h [moved from include/miregex.h with 100% similarity]
test/CMakeLists.txt [new file with mode: 0644]
test/unit_tests/CMakeLists.txt [new file with mode: 0644]
test/unit_tests/main.cc [new file with mode: 0644]
test/unit_tests/mock/mock_hook.h [new file with mode: 0644]
test/unit_tests/mock/module_mock.h [new file with mode: 0644]
test/unit_tests/mock/test_fixture.cc [new file with mode: 0644]
test/unit_tests/mock/test_fixture.h [new file with mode: 0644]
tool/CMakeLists.txt
tool/app_com_tool/CMakeLists.txt [new file with mode: 0644]
tool/app_com_tool/app_com_tool.c [moved from tool/app_com_tool.c with 100% similarity]
tool/app_launcher/CMakeLists.txt [new file with mode: 0644]
tool/app_launcher/app_launcher.c [moved from tool/app_launcher.c with 100% similarity]
tool/appgroup_info/CMakeLists.txt [new file with mode: 0644]
tool/appgroup_info/app_group_info.c [moved from tool/app_group_info.c with 100% similarity]
tool/appid2pid/CMakeLists.txt [new file with mode: 0644]
tool/appid2pid/appid2pid.c [moved from tool/appid2pid.c with 100% similarity]
tool/aul_test/CMakeLists.txt [new file with mode: 0644]
tool/aul_test/aul_test.c [moved from tool/aul_test.c with 100% similarity]
tool/compmgr_tool/CMakeLists.txt [new file with mode: 0644]
tool/compmgr_tool/compmgr_tool.c [moved from tool/compmgr_tool.c with 100% similarity]
tool/launch_app/CMakeLists.txt [new file with mode: 0644]
tool/launch_app/launch_app.c [moved from tool/launch_app.c with 100% similarity]
tool/launch_debug/CMakeLists.txt [new file with mode: 0644]
tool/launch_debug/launch_debug.c [moved from tool/launch_debug.c with 100% similarity]
tool/open_app/CMakeLists.txt [new file with mode: 0644]
tool/open_app/open_app.c [moved from tool/open_app.c with 100% similarity]
tool/recovery/CMakeLists.txt

index 0284f51..c51f23a 100644 (file)
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(aul C CXX)
-SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
+
+PROJECT(aul)
+
 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
+SET(LIBDIR ${LIB_INSTALL_DIR})
+SET(INCLUDEDIR "\${prefix}/include")
 SET(EXEC_PREFIX "\${prefix}")
-SET(VERSION ${FULLVER})
 
 ADD_DEFINITIONS("-DSHARE_PREFIX=\"${SHARE_INSTALL_PREFIX}/aul\"")
 
-# Set required packages
-INCLUDE(FindPkgConfig)
-SET(AUL-1_LIB_PKG_CHECK_MODULES
-       bundle
-       capi-system-info
-       dlog
-       gio-2.0
-       glib-2.0
-       iniparser
-       libsmack
-       libtzplatform-config
-       libxml-2.0
-       pkgmgr-info
-       sqlite3
-       storage
-       ttrace
-       uuid
-       vconf
-       xdgmime
-       )
-pkg_check_modules(libpkgs REQUIRED ${AUL-1_LIB_PKG_CHECK_MODULES})
-
-FOREACH(flag ${libpkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-pkg_check_modules(APP_LAUNCHER_DEPS glib-2.0 pkgmgr-info bundle)
-FOREACH(APP_LAUNCHER_FLAGS ${APP_LAUNCHER_DEPS_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${APP_LAUNCHER_FLAGS}")
-ENDFOREACH(APP_LAUNCHER_FLAGS)
-
-# Compiler flags
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/legacy)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/feature)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/aul)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/aul/api)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/aul/app_manager)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/aul/common)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/aul/socket)
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic")
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+## Compile flags
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-zdefs -fvisibility=hidden -g -Wall -Werror -fpic")
 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_C_FLAGS_RELEASE "-O2")
 
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden -std=c++14")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} -std=c++14")
 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
 
-SET(CMAKE_SKIP_BUILD_RPATH true)
-# Linker flags
 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
 
-# aul
-AUX_SOURCE_DIRECTORY(src SOURCES)
-AUX_SOURCE_DIRECTORY(aul AUL_SOURCES)
-AUX_SOURCE_DIRECTORY(aul/api AUL_API_SOURCES)
-AUX_SOURCE_DIRECTORY(aul/app_manager AUL_APP_MANAGER_SOURCES)
-AUX_SOURCE_DIRECTORY(aul/common AUL_COMMON_SOURCES)
-AUX_SOURCE_DIRECTORY(aul/socket AUL_SOCKET_SOURCES)
-add_library(aul SHARED
-       ${SOURCES}
-       ${AUL_SOURCES}
-       ${AUL_API_SOURCES}
-       ${AUL_APP_MANAGER_SOURCES}
-       ${AUL_COMMON_SOURCES}
-       ${AUL_SOCKET_SOURCES})
-TARGET_LINK_LIBRARIES(aul ${libpkgs_LDFLAGS})
-SET_TARGET_PROPERTIES(aul PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(aul PROPERTIES VERSION ${FULLVER})
-INSTALL(TARGETS aul DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
+
+## Target
+SET(TARGET_AUL "aul")
+
+ENABLE_TESTING()
+SET(TARGET_AUL_UNIT_TEST "aul-unit-test")
+
+INCLUDE(FindPkgConfig)
+INCLUDE(ApplyPkgConfig)
+
+PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle)
+PKG_CHECK_MODULES(CAPI_SYSTEM_INFO_DEPS REQUIRED capi-system-info)
+PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
+PKG_CHECK_MODULES(GIO_DEPS REQUIRED gio-2.0)
+PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
+PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
+PKG_CHECK_MODULES(INIPARSER_DEPS REQUIRED iniparser)
+PKG_CHECK_MODULES(LIBSMACK_DEPS REQUIRED libsmack)
+PKG_CHECK_MODULES(LIBTZPLATFORM_CONFIG_DEPS REQUIRED libtzplatform-config)
+PKG_CHECK_MODULES(LIBXML_DEPS REQUIRED libxml-2.0)
+PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info)
+PKG_CHECK_MODULES(PKGMGR_INSTALLER_DEPS REQUIRED pkgmgr-installer)
+PKG_CHECK_MODULES(SQLITE3_DEPS REQUIRED sqlite3)
+PKG_CHECK_MODULES(STORAGE_DEPS REQUIRED storage)
+PKG_CHECK_MODULES(TTRACE_DEPS REQUIRED ttrace)
+PKG_CHECK_MODULES(UUID_DEPS REQUIRED uuid)
+PKG_CHECK_MODULES(VCONF_DEPS REQUIRED vconf)
+PKG_CHECK_MODULES(XDGMIME_DEPS REQUIRED xdgmime)
+
+
+## Target sources
+AUX_SOURCE_DIRECTORY(src SRCS)
+AUX_SOURCE_DIRECTORY(aul AUL_SRCS)
+AUX_SOURCE_DIRECTORY(aul/api AUL_API_SRCS)
+AUX_SOURCE_DIRECTORY(aul/app_manager AUL_APP_MANAGER_SRCS)
+AUX_SOURCE_DIRECTORY(aul/common AUL_COMMON_SRCS)
+AUX_SOURCE_DIRECTORY(aul/socket AUL_SOCKET_SRCS)
+
+ADD_LIBRARY(${TARGET_AUL} SHARED
+  ${SRCS}
+  ${AUL_SRCS}
+  ${AUL_API_SRCS}
+  ${AUL_APP_MANAGER_SRCS}
+  ${AUL_COMMON_SRCS}
+  ${AUL_SOCKET_SRCS}
+)
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_AUL} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/include
+  ${CMAKE_CURRENT_SOURCE_DIR}/include/internal
+  ${CMAKE_CURRENT_SOURCE_DIR}/aul/
+  ${CMAKE_CURRENT_SOURCE_DIR}/aul/api
+  ${CMAKE_CURRENT_SOURCE_DIR}/aul/app_manager
+  ${CMAKE_CURRENT_SOURCE_DIR}/aul/common
+  ${CMAKE_CURRENT_SOURCE_DIR}/aul/socket
+)
+
+SET_TARGET_PROPERTIES(${TARGET_AUL} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_AUL} PROPERTIES VERSION ${FULLVER})
+
+APPLY_PKG_CONFIG(${TARGET_AUL} PUBLIC
+  BUNDLE_DEPS
+  CAPI_SYSTEM_INFO_DEPS
+  DLOG_DEPS
+  GIO_DEPS
+  GLIB_DEPS
+  INIPARSER_DEPS
+  LIBSMACK_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS
+  LIBXML_DEPS
+  PKGMGR_INFO_DEPS
+  SQLITE3_DEPS
+  STORAGE_DEPS
+  TTRACE_DEPS
+  UUID_DEPS
+  VCONF_DEPS
+  XDGMIME_DEPS
+)
+
+INSTALL(TARGETS ${TARGET_AUL} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
 
 # pkgconfig file
 CONFIGURE_FILE(aul.pc.in aul.pc @ONLY)
 CONFIGURE_FILE(feature/preexec_list.txt.in feature/preexec_list.txt @ONLY)
 
-SET(HEADERS_LIB_AUL
-       aul.h
-       aul_sock.h
-       aul_proc.h
-       aul_rsc_mgr.h
-       aul_svc.h
-       aul_cmd.h
-       aul_app_com.h
-       aul_screen_connector.h
-       aul_window.h
-       aul_widget.h
-       aul_job_scheduler.h
-       aul_rpc_port.h
-       aul_complication.h
-       aul_debug_info.h
-       aul_watchdog.h
-       aul_svc_internal.h
-       aul_key.h
-       aul_comp_status.h
-       aul_app_group.h
-       aul_comp_info.h
-       aul_comp_context.h
-       aul_comp_info_internal.h
-       aul_watch_control.h
-       aul_comp_types.h
-       aul_launcher_service.h
-       aul_running_context.h
-       )
-
-# Install headers, other files
-FOREACH(hfile ${HEADERS_LIB_AUL})
-       INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/${hfile} DESTINATION include/aul)
-ENDFOREACH(hfile)
-
-SET(HEADERS_LIB_AUL_API
-       aul_app_context.h
-       aul_app_manager.h
-       aul_app_event.h
-       )
-FOREACH(hfile ${HEADERS_LIB_AUL_API})
-       INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/aul/api/${hfile} DESTINATION include/aul/api)
-ENDFOREACH(hfile)
-
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec_list.txt DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/miregex DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/aul.conf DESTINATION /etc/dbus-1/system.d)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/  DESTINATION include/aul/
+  FILES_MATCHING
+  PATTERN "*.h"
+)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/aul/api/ DESTINATION include/aul/api/
+  FILES_MATCHING
+  PATTERN "*.h"
+)
 
-# tool
+## Sub directories
 ADD_SUBDIRECTORY(tool)
 ADD_SUBDIRECTORY(parser)
+ADD_SUBDIRECTORY(test)
diff --git a/cmake/Modules/ApplyPkgConfig.cmake b/cmake/Modules/ApplyPkgConfig.cmake
new file mode 100644 (file)
index 0000000..9b84be3
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright (c) 2020 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)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 64e4c8d..cfd9afd 100755 (executable)
@@ -33,6 +33,7 @@ BuildRequires:  pkgconfig(pkgmgr-installer)
 BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(uuid)
 BuildRequires:  pkgconfig(libsmack)
+BuildRequires:  pkgconfig(gmock)
 
 Recommends: amd
 Recommends: amd-mod-component-manager
index e42ed21..86a6684 100644 (file)
@@ -1,4 +1,2 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-
 ADD_SUBDIRECTORY(metadata)
 ADD_SUBDIRECTORY(component)
index 27100ff..2f93677 100644 (file)
@@ -1,41 +1,33 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(component-plugin-parser C)
-
-SET(COMPONENT_PLUGIN_PARSER "component-based-application")
+SET(TARGET_COMPONENT_PLUGIN_PARSER "component-based-application")
 
 SET(SHARED_DIR "${CMAKE_INSTALL_PREFIX}/share")
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SRCS)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(COMPONENT_PLUGIN_PARSER REQUIRED
-       glib-2.0
-       libxml-2.0
-       dlog
-       libtzplatform-config
-       pkgmgr-installer
-       pkgmgr-info
-       sqlite3
-       )
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Werror -Winline")
 
-FOREACH(flag ${COMPONENT_PLUGIN_PARSER_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src
+  COMPONENT_PLUGIN_PARSER_SRCS)
 
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIC -Wall -Werror -Winline")
+ADD_LIBRARY(${TARGET_COMPONENT_PLUGIN_PARSER} SHARED ${COMPONENT_PLUGIN_PARSER_SRCS})
+TARGET_LINK_LIBRARIES(${TARGET_COMPONENT_PLUGIN_PARSER} PUBLIC dl)
 
-ADD_LIBRARY(${COMPONENT_PLUGIN_PARSER} SHARED ${SRCS})
+TARGET_INCLUDE_DIRECTORIES(${TARGET_COMPONENT_PLUGIN_PARSER}
+  PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/inc)
 
-SET_TARGET_PROPERTIES(${COMPONENT_PLUGIN_PARSER} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}")
-TARGET_LINK_LIBRARIES(${COMPONENT_PLUGIN_PARSER} ${COMPONENT_PLUGIN_PARSER_LDFLAGS} "-ldl")
+APPLY_PKG_CONFIG(${TARGET_COMPONENT_PLUGIN_PARSER} PUBLIC
+  DLOG_DEPS
+  GLIB_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS
+  LIBXML_DEPS
+  PKGMGR_INFO_DEPS
+  PKGMGR_INSTALLER_DEPS
+  SQLITE3_DEPS
+)
 
-INSTALL(TARGETS ${COMPONENT_PLUGIN_PARSER}
-       DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/parserlib)
+INSTALL(TARGETS ${TARGET_COMPONENT_PLUGIN_PARSER}
+  DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/parserlib)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/component.info
-       DESTINATION ${SHARED_DIR}/parser-plugins)
+  DESTINATION ${SHARED_DIR}/parser-plugins)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/14_component-add.post
-       DESTINATION ${SYSCONF_INSTALL_DIR}/gumd/useradd.d)
+  DESTINATION ${SYSCONF_INSTALL_DIR}/gumd/useradd.d)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/501.component_upgrade.sh
-       DESTINATION ${SHARE_INSTALL_PREFIX}/upgrade/scripts)
+  DESTINATION ${SHARE_INSTALL_PREFIX}/upgrade/scripts)
index 1e84cb2..459dce3 100644 (file)
@@ -1,26 +1,22 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(aul-parser C)
+SET(TARGET_AUL_PARSER "aul-parser")
 
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
 
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src AUL_PARSER_SRCS)
 
-pkg_check_modules(PKGS REQUIRED
-       glib-2.0
-       libxml-2.0
-       dlog
-       libtzplatform-config
-       pkgmgr-installer
-       sqlite3
-       )
+ADD_LIBRARY(${TARGET_AUL_PARSER} SHARED ${AUL_PARSER_SRCS})
 
-FOREACH(FLAGS ${PKGS_CFLAGS})
-       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS}")
-ENDFOREACH(FLAGS)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_AUL_PARSER}
+  PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/inc)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fPIC")
+APPLY_PKG_CONFIG(${TARGET_AUL_PARSER} PUBLIC
+  DLOG_DEPS
+  GLIB_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS
+  LIBXML_DEPS
+  PKGMGR_INSTALLER_DEPS
+  SQLITE3_DEPS
+)
 
-ADD_LIBRARY(aul-parser SHARED ${SRCS})
-TARGET_LINK_LIBRARIES(aul-parser ${PKGS_LDFLAGS})
-
-INSTALL(TARGETS aul-parser DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/parserlib/metadata)
+INSTALL(TARGETS ${TARGET_AUL_PARSER}
+  DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/parserlib/metadata)
similarity index 100%
rename from include/app_signal.h
rename to src/app_signal.h
similarity index 100%
rename from include/aul_api.h
rename to src/aul_api.h
old mode 100755 (executable)
new mode 100644 (file)
similarity index 100%
rename from include/aul_svc_db.h
rename to src/aul_svc_db.h
old mode 100755 (executable)
new mode 100644 (file)
similarity index 100%
rename from include/aul_svc_priv_key.h
rename to src/aul_svc_priv_key.h
similarity index 100%
rename from include/aul_util.h
rename to src/aul_util.h
similarity index 100%
rename from include/aul_worker.h
rename to src/aul_worker.h
similarity index 100%
rename from include/key.h
rename to src/key.h
similarity index 100%
rename from include/launch.h
rename to src/launch.h
similarity index 100%
rename from include/menu_db_util.h
rename to src/menu_db_util.h
similarity index 100%
rename from include/miregex.h
rename to src/miregex.h
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c90fac8
--- /dev/null
@@ -0,0 +1 @@
+ADD_SUBDIRECTORY(unit_tests)
diff --git a/test/unit_tests/CMakeLists.txt b/test/unit_tests/CMakeLists.txt
new file mode 100644 (file)
index 0000000..99bd4ca
--- /dev/null
@@ -0,0 +1,24 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ UNIT_TESTS_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/mock/ UNIT_TESTS_SRCS)
+ADD_EXECUTABLE(${TARGET_AUL_UNIT_TEST} ${UNIT_TESTS_SRCS})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_AUL_UNIT_TEST} PUBLIC
+  "${CMAKE_CURRENT_SOURCE_DIR}/../"
+  "${CMAKE_CURRENT_SOURCE_DIR}/../../include"
+  "${CMAKE_CURRENT_SOURCE_DIR}/../../src"
+)
+
+APPLY_PKG_CONFIG(${TARGET_AUL_UNIT_TEST} PUBLIC
+  GLIB_DEPS
+  GMOCK_DEPS
+  BUNDLE_DEPS
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_AUL_UNIT_TEST} PUBLIC ${TARGET_AUL})
+SET_TARGET_PROPERTIES(${TARGET_AUL_UNIT_TEST} PROPERTIES COMPILE_FLAGS "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_AUL_UNIT_TEST} PROPERTIES LINK_FLAGS "-pie")
+
+ADD_TEST(
+  NAME ${TARGET_AUL_UNIT_TEST}
+  COMMAND ${TARGET_AUL_UNIT_TEST}
+)
diff --git a/test/unit_tests/main.cc b/test/unit_tests/main.cc
new file mode 100644 (file)
index 0000000..1702774
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by a apache 2.0 license that can be
+// found in the LICENSE file.
+
+#include <gtest/gtest.h>
+#include <gmock/gmock.h>
+
+int main(int argc, char** argv) {
+  try {
+    testing::InitGoogleTest(&argc, argv);
+  } catch(...) {
+    std::cout << "Exception occurred" << std::endl;
+  }
+
+  int ret;
+  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/test/unit_tests/mock/mock_hook.h b/test/unit_tests/mock/mock_hook.h
new file mode 100644 (file)
index 0000000..af27bba
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef UNIT_TESTS_MOCK_MOCK_HOOK_H_
+#define UNIT_TESTS_MOCK_MOCK_HOOK_H_
+
+#define MOCK_HOOK_P0(MOCK_CLASS, f)                                            \
+    TestFixture::GetMock<MOCK_CLASS>().f()
+#define MOCK_HOOK_P1(MOCK_CLASS, f, p1)                                        \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1)
+#define MOCK_HOOK_P2(MOCK_CLASS, f, p1, p2)                                    \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2)
+#define MOCK_HOOK_P3(MOCK_CLASS, f, p1, p2, p3)                                \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2, p3)
+#define MOCK_HOOK_P4(MOCK_CLASS, f, p1, p2, p3, p4)                            \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2, p3, p4)
+#define MOCK_HOOK_P5(MOCK_CLASS, f, p1, p2, p3, p4, p5)                        \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2, p3, p4, p5)
+#define MOCK_HOOK_P6(MOCK_CLASS, f, p1, p2, p3, p4, p5, p6)                    \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2, p3, p4, p5, p6)
+#define MOCK_HOOK_P7(MOCK_CLASS, f, p1, p2, p3, p4, p5, p6, p7)                \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2, p3, p4, p5, p6, p7)
+#define MOCK_HOOK_P8(MOCK_CLASS, f, p1, p2, p3, p4, p5, p6, p7, p8)            \
+    TestFixture::GetMock<MOCK_CLASS>().f(p1, p2, p3, p4, p5, p6, p7, p8)
+#define MOCK_HOOK_P10(MOCK_CLASS, f, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)  \
+    TestFixture::GetMock<MOCK_CLASS>().f(                                      \
+        p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)
+
+#endif  // UNIT_TESTS_MOCK_MOCK_HOOK_H_
diff --git a/test/unit_tests/mock/module_mock.h b/test/unit_tests/mock/module_mock.h
new file mode 100644 (file)
index 0000000..9b19d89
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef UNIT_TESTS_MOCK_MODULE_MOCK_H_
+#define UNIT_TESTS_MOCK_MODULE_MOCK_H_
+
+class ModuleMock {
+ public:
+  virtual ~ModuleMock() {}
+};
+
+#endif  // UNIT_TESTS_MOCK_MODULE_MOCK_H_
diff --git a/test/unit_tests/mock/test_fixture.cc b/test/unit_tests/mock/test_fixture.cc
new file mode 100644 (file)
index 0000000..cc5dd19
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "unit_tests/mock/test_fixture.h"
+
+#include <memory>
+
+std::unique_ptr<ModuleMock> TestFixture::mock_;
diff --git a/test/unit_tests/mock/test_fixture.h b/test/unit_tests/mock/test_fixture.h
new file mode 100644 (file)
index 0000000..3858e35
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef UNIT_TESTS_MOCK_TEST_FIXTURE_H_
+#define UNIT_TESTS_MOCK_TEST_FIXTURE_H_
+
+#include <gtest/gtest.h>
+
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <utility>
+
+#include "unit_tests/mock/module_mock.h"
+
+class TestFixture : public ::testing::Test {
+ public:
+  explicit TestFixture(std::unique_ptr<ModuleMock>&& mock) {
+    mock_ = std::move(mock);
+  }
+  virtual ~TestFixture() {
+    mock_.reset();
+  }
+
+  virtual void SetUp() {}
+  virtual void TearDown() {}
+
+  template <typename T>
+  static T& GetMock() {
+    auto ptr = dynamic_cast<T*>(mock_.get());
+    if (!ptr)
+      throw std::invalid_argument("The test does not provide mock of \"" +
+          std::string(typeid(T).name()) + "\"");
+    return *ptr;
+  }
+
+  static std::unique_ptr<ModuleMock> mock_;
+};
+
+#endif  // UNIT_TESTS_MOCK_TEST_FIXTURE_H_
index 2bd8235..e827438 100644 (file)
@@ -1,64 +1,10 @@
-IF(_TIZEN_FEATURE_PRELINK)
-SET(CMAKE_C_FLAGS_app_launcher "${CMAKE_C_FLAGS}")
-ELSE(_TIZEN_FEATURE_PRELINK)
-SET(CMAKE_C_FLAGS_app_launcher "${CMAKE_C_FLAGS} -fPIE")
-ENDIF(_TIZEN_FEATURE_PRELINK)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
-
-add_executable(aul_test
-               aul_test.c)
-target_link_libraries(aul_test aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS aul_test DESTINATION bin)
-
-add_executable(launch_app
-               launch_app.c)
-target_link_libraries(launch_app aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS launch_app DESTINATION bin)
-
-# test
-add_executable(open_app
-                open_app.c)
-target_link_libraries(open_app aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS open_app DESTINATION bin)
-
-add_executable(appid2pid
-                appid2pid.c)
-target_link_libraries(appid2pid aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS appid2pid DESTINATION bin)
-
-add_executable(launch_debug
-                launch_debug.c)
-target_link_libraries(launch_debug aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS launch_debug DESTINATION bin)
-
-add_executable(app_launcher
-               app_launcher.c)
-
-IF(_TIZEN_FEATURE_PRELINK)
-message(STATUS "[__PRELINK__] Enable")
-target_link_libraries(app_launcher aul ${pkgs_LDFLAGS})
-ELSE(_TIZEN_FEATURE_PRELINK)
-message(STATUS "[__PRELINK__] Disable")
-target_link_libraries(app_launcher aul ${pkgs_LDFLAGS} "-pie")
-ENDIF(_TIZEN_FEATURE_PRELINK)
-SET_TARGET_PROPERTIES(app_launcher PROPERTIES COMPILE_FLAGS ${CMAKE_C_FLAGS_app_launcher})
-
-INSTALL(TARGETS app_launcher DESTINATION bin)
-
-add_executable(appgroup_info
-               app_group_info.c)
-target_link_libraries(appgroup_info aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS appgroup_info DESTINATION bin)
-
-add_executable(app_com_tool
-               app_com_tool.c)
-target_link_libraries(app_com_tool aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS app_com_tool DESTINATION bin)
-
-add_executable(compmgr_tool
-               compmgr_tool.c)
-target_link_libraries(compmgr_tool aul ${pkgs_LDFLAGS} "-pie")
-INSTALL(TARGETS compmgr_tool DESTINATION bin)
-
+ADD_SUBDIRECTORY(app_com_tool)
+ADD_SUBDIRECTORY(app_launcher)
+ADD_SUBDIRECTORY(appgroup_info)
+ADD_SUBDIRECTORY(appid2pid)
+ADD_SUBDIRECTORY(aul_test)
+ADD_SUBDIRECTORY(compmgr_tool)
+ADD_SUBDIRECTORY(launch_app)
+ADD_SUBDIRECTORY(launch_debug)
+ADD_SUBDIRECTORY(open_app)
 ADD_SUBDIRECTORY(recovery)
diff --git a/tool/app_com_tool/CMakeLists.txt b/tool/app_com_tool/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e87ac76
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_APP_COM_TOOL "app_com_tool")
+
+ADD_EXECUTABLE(${TARGET_APP_COM_TOOL} ${CMAKE_CURRENT_SOURCE_DIR}/app_com_tool.c)
+SET_TARGET_PROPERTIES(${TARGET_APP_COM_TOOL} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_APP_COM_TOOL} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_APP_COM_TOOL} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_COM_TOOL} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_COM_TOOL} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_APP_COM_TOOL} DESTINATION bin)
diff --git a/tool/app_launcher/CMakeLists.txt b/tool/app_launcher/CMakeLists.txt
new file mode 100644 (file)
index 0000000..659f58a
--- /dev/null
@@ -0,0 +1,19 @@
+SET(TARGET_APP_LAUNCHER "app_launcher")
+
+ADD_EXECUTABLE(${TARGET_APP_LAUNCHER}
+  ${CMAKE_CURRENT_SOURCE_DIR}/app_launcher.c)
+
+IF(_TIZEN_FEATURE_PRELINK)
+MESSAGE(STATUS "[__PRELINK__] Enable")
+ELSE(_TIZEN_FEATURE_PRELINK)
+MESSAGE(STATUS "[__PRELINK__] Disable")
+SET_TARGET_PROPERTIES(${TARGET_APP_LAUNCHER} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_APP_LAUNCHER} PROPERTIES LINK_FLAGS "-pie")
+ENDIF(_TIZEN_FEATURE_PRELINK)
+
+TARGET_LINK_LIBRARIES(${TARGET_APP_LAUNCHER} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_LAUNCHER} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_LAUNCHER} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_APP_LAUNCHER} DESTINATION bin)
diff --git a/tool/appgroup_info/CMakeLists.txt b/tool/appgroup_info/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8c485eb
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_APP_GROUP_INFO "appgroup_info")
+
+ADD_EXECUTABLE(${TARGET_APP_GROUP_INFO} ${CMAKE_CURRENT_SOURCE_DIR}/app_group_info.c)
+SET_TARGET_PROPERTIES(${TARGET_APP_GROUP_INFO} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_APP_GROUP_INFO} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_APP_GROUP_INFO} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_GROUP_INFO} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_GROUP_INFO} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_APP_GROUP_INFO} DESTINATION bin)
diff --git a/tool/appid2pid/CMakeLists.txt b/tool/appid2pid/CMakeLists.txt
new file mode 100644 (file)
index 0000000..613f6bc
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_APPID2PID "appid2pid")
+
+ADD_EXECUTABLE(${TARGET_APPID2PID} ${CMAKE_CURRENT_SOURCE_DIR}/appid2pid.c)
+SET_TARGET_PROPERTIES(${TARGET_APPID2PID} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_APPID2PID} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_APPID2PID} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APPID2PID} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APPID2PID} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_APPID2PID} DESTINATION bin)
similarity index 100%
rename from tool/appid2pid.c
rename to tool/appid2pid/appid2pid.c
diff --git a/tool/aul_test/CMakeLists.txt b/tool/aul_test/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f7c5f2f
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_AUL_TEST "aul_test")
+
+ADD_EXECUTABLE(${TARGET_AUL_TEST} ${CMAKE_CURRENT_SOURCE_DIR}/aul_test.c)
+SET_TARGET_PROPERTIES(${TARGET_AUL_TEST} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_AUL_TEST} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_AUL_TEST} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_AUL_TEST} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_AUL_TEST} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_AUL_TEST} DESTINATION bin)
similarity index 100%
rename from tool/aul_test.c
rename to tool/aul_test/aul_test.c
diff --git a/tool/compmgr_tool/CMakeLists.txt b/tool/compmgr_tool/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ff48301
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_COMPMGR_TOOL "compmgr_tool")
+
+ADD_EXECUTABLE(${TARGET_COMPMGR_TOOL} ${CMAKE_CURRENT_SOURCE_DIR}/compmgr_tool.c)
+SET_TARGET_PROPERTIES(${TARGET_COMPMGR_TOOL} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_COMPMGR_TOOL} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_COMPMGR_TOOL} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_COMPMGR_TOOL} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_COMPMGR_TOOL} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_COMPMGR_TOOL} DESTINATION bin)
diff --git a/tool/launch_app/CMakeLists.txt b/tool/launch_app/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e857e2e
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_LAUNCH_APP "launch_app")
+
+ADD_EXECUTABLE(${TARGET_LAUNCH_APP} ${CMAKE_CURRENT_SOURCE_DIR}/launch_app.c)
+SET_TARGET_PROPERTIES(${TARGET_LAUNCH_APP} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_LAUNCH_APP} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCH_APP} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCH_APP} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCH_APP} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_LAUNCH_APP} DESTINATION bin)
diff --git a/tool/launch_debug/CMakeLists.txt b/tool/launch_debug/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2d476ba
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_LAUNCH_DEBUG "launch_debug")
+
+ADD_EXECUTABLE(${TARGET_LAUNCH_DEBUG} ${CMAKE_CURRENT_SOURCE_DIR}/launch_debug.c)
+SET_TARGET_PROPERTIES(${TARGET_LAUNCH_DEBUG} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_LAUNCH_DEBUG} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCH_DEBUG} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCH_DEBUG} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCH_DEBUG} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_LAUNCH_DEBUG} DESTINATION bin)
diff --git a/tool/open_app/CMakeLists.txt b/tool/open_app/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4723411
--- /dev/null
@@ -0,0 +1,11 @@
+SET(TARGET_OPEN_APP "open_app")
+
+ADD_EXECUTABLE(${TARGET_OPEN_APP} ${CMAKE_CURRENT_SOURCE_DIR}/open_app.c)
+SET_TARGET_PROPERTIES(${TARGET_OPEN_APP} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_OPEN_APP} PROPERTIES LINK_FLAGS "-pie")
+TARGET_LINK_LIBRARIES(${TARGET_OPEN_APP} PRIVATE ${TARGET_AUL})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_OPEN_APP} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_OPEN_APP} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+
+INSTALL(TARGETS ${TARGET_OPEN_APP} DESTINATION bin)
similarity index 100%
rename from tool/open_app.c
rename to tool/open_app/open_app.c
index 020c5eb..636520e 100644 (file)
@@ -1,34 +1,43 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(aul-db-recovery C)
-
-SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
-SET(EXEC_PREFIX "\${prefix}")
-SET(PROJECT_NAME "${PROJECT_NAME}")
-SET(LIBDIR ${LIB_INSTALL_DIR})
-SET(INCLUDEDIR "\${prefix}/include")
-SET(VERSION ${FULLVER})
-
-INCLUDE(FindPkgConfig)
-SET(requires "dlog sqlite3 libsmack libtzplatform-config")
-pkg_check_modules(aul-db-recovery REQUIRED ${requires})
-
-FOREACH(flag ${aul-db-recovery_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../src)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../../include)
-
-ADD_EXECUTABLE(appsvc-db-recovery
-       ${CMAKE_CURRENT_SOURCE_DIR}/appsvc_db_recovery.c
-       ${CMAKE_CURRENT_SOURCE_DIR}/../../src/aul_db.c)
-TARGET_LINK_LIBRARIES(appsvc-db-recovery ${aul-db-recovery_LDFLAGS} "-pie")
-INSTALL(TARGETS appsvc-db-recovery DESTINATION bin)
-
-ADD_EXECUTABLE(component-db-recovery
-       ${CMAKE_CURRENT_SOURCE_DIR}/component_db_recovery.c
-       ${CMAKE_CURRENT_SOURCE_DIR}/../../src/aul_db.c)
-TARGET_LINK_LIBRARIES(component-db-recovery ${aul-db-recovery_LDFLAGS} "-pie")
-INSTALL(TARGETS component-db-recovery DESTINATION bin)
+########################
+## appsvc-db-recovery ##
+########################
+SET(TARGET_APPSVC_DB_RECOVERY "appsvc-db-recovery")
 
+ADD_EXECUTABLE(${TARGET_APPSVC_DB_RECOVERY}
+  ${CMAKE_CURRENT_SOURCE_DIR}/appsvc_db_recovery.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src/aul_db.c)
+SET_TARGET_PROPERTIES(${TARGET_APPSVC_DB_RECOVERY} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_APPSVC_DB_RECOVERY} PROPERTIES LINK_FLAGS "-pie")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APPSVC_DB_RECOVERY} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+
+APPLY_PKG_CONFIG(${TARGET_APPSVC_DB_RECOVERY} PUBLIC
+  DLOG_DEPS
+  SQLITE3_DEPS
+  LIBSMACK_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS)
+
+INSTALL(TARGETS ${TARGET_APPSVC_DB_RECOVERY} DESTINATION bin)
+
+###########################
+## component-db-recovery ##
+###########################
+SET(TARGET_COMPONENT_DB_RECOVERY "component-db-recovery")
+
+ADD_EXECUTABLE(${TARGET_COMPONENT_DB_RECOVERY}
+  ${CMAKE_CURRENT_SOURCE_DIR}/component_db_recovery.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src/aul_db.c)
+SET_TARGET_PROPERTIES(${TARGET_COMPONENT_DB_RECOVERY} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_COMPONENT_DB_RECOVERY} PROPERTIES LINK_FLAGS "-pie")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_COMPONENT_DB_RECOVERY} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
+
+APPLY_PKG_CONFIG(${TARGET_COMPONENT_DB_RECOVERY} PUBLIC
+  DLOG_DEPS
+  SQLITE3_DEPS
+  LIBSMACK_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS)
+
+INSTALL(TARGETS ${TARGET_COMPONENT_DB_RECOVERY} DESTINATION bin)