Fix directory hierarchy & cmake configuration files 08/244508/1
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 21 Sep 2020 06:12:23 +0000 (15:12 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 21 Sep 2020 06:13:14 +0000 (15:13 +0900)
CMake configuration files are changed.
Directory hierarchy is changed as below:
+-----------------------------------------------------+
| launchpad/                                          |
|   |-- cmake/                                        |
|   |-- packaging/                                    |
|   |-- src/                                          |
|         |-- app-defined-loader/                     |
|         |-- launchpad-loader/                       |
|         |-- launchpad-parser/                       |
|         |-- launchpad-process-pool/                 |
|         |-- lib/                                    |
|              |-- common/                            |
|              |-- launchpad/                         |
|              |-- launchpad-hydra/                   |
+-----------------------------------------------------+

Change-Id: I1e8c0416c46a61bb749855309d141dd422fd01dd
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
74 files changed:
CMakeLists.txt
cmake/Modules/ApplyPkgConfig.cmake [new file with mode: 0644]
src/CMakeLists.txt
src/app-defined-loader/CMakeLists.txt
src/hydra/CMakeLists.txt [deleted file]
src/launchpad-loader/CMakeLists.txt [new file with mode: 0644]
src/launchpad-loader/conf/default_arch32.loader.in [moved from src/loader/conf/default_arch32.loader.in with 100% similarity]
src/launchpad-loader/conf/default_arch64.loader.in [moved from src/loader/conf/default_arch64.loader.in with 100% similarity]
src/launchpad-loader/src/launchpad_loader.c [moved from src/loader/src/launchpad_loader.c with 100% similarity]
src/launchpad-parser/CMakeLists.txt [new file with mode: 0644]
src/launchpad-parser/common.hh [moved from src/parser/common.hh with 84% similarity]
src/launchpad-parser/launchpad_parser_plugin.cc [moved from src/parser/launchpad_parser_plugin.cc with 97% similarity]
src/launchpad-parser/launchpad_parser_plugin.hh [moved from src/parser/launchpad_parser_plugin.hh with 84% similarity]
src/launchpad-parser/launchpad_parser_plugin_pkgmgr_interface.cc [moved from src/parser/launchpad_parser_plugin_pkgmgr_interface.cc with 93% similarity]
src/launchpad-parser/launchpad_plugins.txt [moved from src/parser/launchpad_plugins.txt with 100% similarity]
src/launchpad-parser/loader_info.cc [moved from src/parser/loader_info.cc with 96% similarity]
src/launchpad-parser/loader_info.hh [moved from src/parser/loader_info.hh with 87% similarity]
src/launchpad-parser/log_private.hh [moved from src/parser/log_private.hh with 79% similarity]
src/launchpad-process-pool/CMakeLists.txt [new file with mode: 0644]
src/launchpad-process-pool/conf/launchpad.conf.in [moved from src/launchpad/conf/launchpad.conf.in with 100% similarity]
src/launchpad-process-pool/inc/debugger_info.h [moved from src/launchpad/inc/debugger_info.h with 100% similarity]
src/launchpad-process-pool/inc/launcher_info.h [moved from src/launchpad/inc/launcher_info.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_config.h [moved from src/launchpad/inc/launchpad_config.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_dbus.h [moved from src/launchpad/inc/launchpad_dbus.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_debug.h [moved from src/launchpad/inc/launchpad_debug.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_inotify.h [moved from src/launchpad/inc/launchpad_inotify.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_io_channel.h [moved from src/launchpad/inc/launchpad_io_channel.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_log.h [moved from src/launchpad/inc/launchpad_log.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_logger.h [moved from src/launchpad/inc/launchpad_logger.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_memory_monitor.h [moved from src/launchpad/inc/launchpad_memory_monitor.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_signal.h [moved from src/launchpad/inc/launchpad_signal.h with 100% similarity]
src/launchpad-process-pool/inc/launchpad_worker.h [moved from src/launchpad/inc/launchpad_worker.h with 100% similarity]
src/launchpad-process-pool/inc/loader_info.h [moved from src/launchpad/inc/loader_info.h with 100% similarity]
src/launchpad-process-pool/src/debugger_info.c [moved from src/launchpad/src/debugger_info.c with 100% similarity]
src/launchpad-process-pool/src/launcher_info.c [moved from src/launchpad/src/launcher_info.c with 100% similarity]
src/launchpad-process-pool/src/launchpad.c [moved from src/launchpad/src/launchpad.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_config.c [moved from src/launchpad/src/launchpad_config.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_dbus.c [moved from src/launchpad/src/launchpad_dbus.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_debug.c [moved from src/launchpad/src/launchpad_debug.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_inotify.c [moved from src/launchpad/src/launchpad_inotify.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_io_channel.c [moved from src/launchpad/src/launchpad_io_channel.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_log.c [moved from src/launchpad/src/launchpad_log.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_logger.c [moved from src/launchpad/src/launchpad_logger.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_memory_monitor.c [moved from src/launchpad/src/launchpad_memory_monitor.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_signal.c [moved from src/launchpad/src/launchpad_signal.c with 100% similarity]
src/launchpad-process-pool/src/launchpad_worker.c [moved from src/launchpad/src/launchpad_worker.c with 100% similarity]
src/launchpad-process-pool/src/loader_info.c [moved from src/launchpad/src/loader_info.c with 100% similarity]
src/launchpad/CMakeLists.txt [deleted file]
src/lib/CMakeLists.txt
src/lib/common/inc/key.h [moved from src/common/inc/key.h with 100% similarity]
src/lib/common/inc/launchpad_common.h [moved from src/common/inc/launchpad_common.h with 100% similarity]
src/lib/common/inc/launchpad_plugin.h [moved from src/common/inc/launchpad_plugin.h with 100% similarity]
src/lib/common/inc/launchpad_proc.h [moved from src/common/inc/launchpad_proc.h with 100% similarity]
src/lib/common/inc/launchpad_socket.h [moved from src/common/inc/launchpad_socket.h with 100% similarity]
src/lib/common/inc/launchpad_types.h [moved from src/common/inc/launchpad_types.h with 100% similarity]
src/lib/common/inc/log_private.h [moved from src/common/inc/log_private.h with 100% similarity]
src/lib/common/inc/perf.h [moved from src/common/inc/perf.h with 100% similarity]
src/lib/common/inc/preexec.h [moved from src/common/inc/preexec.h with 100% similarity]
src/lib/common/src/launchpad_common.c [moved from src/common/src/launchpad_common.c with 100% similarity]
src/lib/common/src/launchpad_plugin.c [moved from src/common/src/launchpad_plugin.c with 100% similarity]
src/lib/common/src/launchpad_proc.c [moved from src/common/src/launchpad_proc.c with 100% similarity]
src/lib/common/src/launchpad_socket.c [moved from src/common/src/launchpad_socket.c with 100% similarity]
src/lib/launchpad-hydra/CMakeLists.txt [new file with mode: 0644]
src/lib/launchpad-hydra/inc/launchpad_hydra.h [moved from src/hydra/inc/launchpad_hydra.h with 100% similarity]
src/lib/launchpad-hydra/inc/launchpad_sigchld.h [moved from src/hydra/inc/launchpad_sigchld.h with 100% similarity]
src/lib/launchpad-hydra/pkgconfig/liblaunchpad-hydra.pc.in [moved from src/hydra/pkgconfig/liblaunchpad-hydra.pc.in with 100% similarity]
src/lib/launchpad-hydra/src/launchpad_hydra.c [moved from src/hydra/src/launchpad_hydra.c with 100% similarity]
src/lib/launchpad-hydra/src/launchpad_sigchld.c [moved from src/hydra/src/launchpad_sigchld.c with 100% similarity]
src/lib/launchpad/CMakeLists.txt [new file with mode: 0644]
src/lib/launchpad/inc/launchpad.h [moved from src/lib/inc/launchpad.h with 100% similarity]
src/lib/launchpad/pkgconfig/launchpad.pc.in [moved from src/lib/pkgconfig/launchpad.pc.in with 100% similarity]
src/lib/launchpad/src/launchpad_lib.c [moved from src/lib/src/launchpad_lib.c with 100% similarity]
src/loader/CMakeLists.txt [deleted file]
src/parser/CMakeLists.txt [deleted file]

index 7fbbd02..5a8e0f5 100644 (file)
@@ -1,7 +1,6 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(launchpad C CXX)
+PROJECT(launchpad)
 
-ADD_DEFINITIONS("-DSHARE_PREFIX=\"/usr/share/aul\"")
 IF(_TIZEN_FEATURE_PRIORITY_CHANGE)
        ADD_DEFINITIONS("-DTIZEN_FEATURE_PRIORITY_CHANGE")
 ENDIF(_TIZEN_FEATURE_PRIORITY_CHANGE)
@@ -17,9 +16,58 @@ ADD_DEFINITIONS("-DLAUNCHPAD_LOG")
 ADD_DEFINITIONS("-DPRELOAD_ACTIVATE")
 ADD_DEFINITIONS("-DPREEXEC_ACTIVATE")
 
-EXEC_PROGRAM(pkg-config
-    ARGS --variable=module_arch ecore
-    OUTPUT_VARIABLE EFL_MODULE_VERSION
-)
+## Compile flags
+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 "${CMAKE_C_FLAGS} -fdata-sections")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FILE_OFFSET_BITS=64")
+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++14")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+## Linker flags
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+
+## Targets
+SET(TARGET_APP_DEFINED_LOADER "app-defined-loader")
+SET(TARGET_LAUNCHPAD "launchpad")
+SET(TARGET_LAUNCHPAD_HYDRA "launchpad-hydra")
+SET(TARGET_LAUNCHPAD_LOADER "launchpad-loader")
+SET(TARGET_LAUNCHPAD_PARSER "launchpad-parser")
+SET(TARGET_LAUNCHPAD_PROCESS_POOL "launchpad-process-pool")
+
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
+
+INCLUDE(FindPkgConfig)
+INCLUDE(ApplyPkgConfig)
+
+PKG_CHECK_MODULES(AUL_DEPS REQUIRED aul)
+PKG_CHECK_MODULES(BUNDLE_DEPS REQUIRED bundle)
+PKG_CHECK_MODULES(BUXTON2_DEPS REQUIRED buxton2)
+PKG_CHECK_MODULES(DBUS_DEPS REQUIRED dbus-1)
+PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
+PKG_CHECK_MODULES(ECORE_DEPS REQUIRED ecore)
+PKG_CHECK_MODULES(ECORE_CORE_DEPS REQUIRED ecore-core)
+PKG_CHECK_MODULES(ELEMENTARY_DEPS REQUIRED elementary)
+PKG_CHECK_MODULES(GIO_DEPS REQUIRED gio-2.0)
+PKG_CHECK_MODULES(INIPARSER_DEPS REQUIRED iniparser)
+PKG_CHECK_MODULES(LIBCAP_DEPS REQUIRED libcap)
+PKG_CHECK_MODULES(LIBSMACK_DEPS REQUIRED libsmack)
+PKG_CHECK_MODULES(LIBSYSTEMD_DEPS REQUIRED libsystemd)
+PKG_CHECK_MODULES(LIBTZPLATFORM_CONFIG_DEPS REQUIRED libtzplatform-config)
+PKG_CHECK_MODULES(LIBXML_DEPS REQUIRED libxml-2.0)
+PKG_CHECK_MODULES(PKGMGR_INSTALLER_DEPS REQUIRED pkgmgr-installer)
+PKG_CHECK_MODULES(SECURITY_MANAGER_DEPS REQUIRED security-manager)
+PKG_CHECK_MODULES(TANCHOR_DEPS REQUIRED tanchor)
+PKG_CHECK_MODULES(TTRACE_DEPS REQUIRED ttrace)
+PKG_CHECK_MODULES(VCONF_DEPS REQUIRED vconf)
 
 ADD_SUBDIRECTORY(src)
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)
index de3c1c6..0bfe952 100644 (file)
@@ -1,11 +1,5 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-
-ADD_SUBDIRECTORY(launchpad)
-ADD_SUBDIRECTORY(lib)
-ADD_SUBDIRECTORY(loader)
 ADD_SUBDIRECTORY(app-defined-loader)
-ADD_SUBDIRECTORY(hydra)
-ADD_SUBDIRECTORY(parser)
-
-ADD_DEPENDENCIES(launchpad-loader liblaunchpad)
-ADD_DEPENDENCIES(app-defined-loader liblaunchpad)
+ADD_SUBDIRECTORY(launchpad-loader)
+ADD_SUBDIRECTORY(launchpad-parser)
+ADD_SUBDIRECTORY(launchpad-process-pool)
+ADD_SUBDIRECTORY(lib)
index 3410782..a7fa8bb 100644 (file)
@@ -1,74 +1,52 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(app-defined-loader)
-SET(APP_DEFINED_LOADER "app-defined-loader")
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src APP_DEFINED_LOADER_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/src
+  LIB_COMMON_SRCS)
 
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(APP_DEFINED_LOADER_PKGS REQUIRED
-       aul
-       bundle
-       dbus-1
-       dlog
-       ecore
-       ecore-core
-       gio-2.0
-       iniparser
-       libsystemd
-       )
-
-FOREACH(flag ${APP_DEFINED_LOADER_PKGS_CFLAGS})
-       SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Wl,-zdefs" )
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fvisibility=hidden")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fdata-sections -ffunction-sections -Wl,--gc-sections")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -D_FILE_OFFSET_BITS=64")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Werror")
+ADD_EXECUTABLE(${TARGET_APP_DEFINED_LOADER}
+  ${APP_DEFINED_LOADER_SRCS}
+  ${LIB_COMMON_SRCS})
 
 IF(_TIZEN_FEATURE_PRELINK)
-MESSAGE(STATUS "[__PRELINK__] Enable")
-SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${EXTRA_CFLAGS_common}")
+MESSAGE(STATUS "prelink enable")
 ELSE(_TIZEN_FEATURE_PRELINK)
-MESSAGE(STATUS "[__PRELINK__] Disable")
-SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${EXTRA_CFLAGS_common} -fPIE")
+MESSAGE(STATUS "prelink enable")
+SET_TARGET_PROPERTIES(${TARGET_APP_DEFINED_LOADER} PROPERTIES
+  COMPILE_FLAGS "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_APP_DEFINED_LOADER} PROPERTIES
+  LINK_FLAGS "-pie")
 ENDIF(_TIZEN_FEATURE_PRELINK)
 
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+SET_TARGET_PROPERTIES(${TARGET_APP_DEFINED_LOADER} PROPERTIES
+  SKIP_BUILD_RPATH TRUE)
 
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_DEFINED_LOADER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/inc)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_APP_DEFINED_LOADER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../lib/launchpad/inc)
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/common/inc)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/lib/inc)
+APPLY_PKG_CONFIG(${TARGET_APP_DEFINED_LOADER} PUBLIC
+  AUL_DEPS
+  BUNDLE_DEPS
+  DBUS_DEPS
+  DLOG_DEPS
+  ECORE_DEPS
+  ECORE_CORE_DEPS
+  GIO_DEPS
+  INIPARSER_DEPS
+  LIBSYSTEMD_DEPS
+)
 
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/common/src COMMON_SOURCES)
-
-SET(APP_DEFINED_LOADER_SOURCE_FILES
-       ${COMMON_SOURCES}
-       ${SOURCES})
-ADD_EXECUTABLE(${APP_DEFINED_LOADER} ${APP_DEFINED_LOADER_SOURCE_FILES})
+TARGET_LINK_LIBRARIES(${TARGET_APP_DEFINED_LOADER} PRIVATE ${TARGET_LAUNCHPAD})
 
 # To support 2.x applications which use their own shared libraries.
 # Since we cannot set LD_LIBRARY_PATH directly by security issue, we make the
 # dynamic linker looks in the CWD forcely.
-TARGET_LINK_LIBRARIES(${APP_DEFINED_LOADER} "-ldl -Wl,-rpath,: -Wl,--disable-new-dtags")
-
-IF(_TIZEN_FEATURE_PRELINK)
-TARGET_LINK_LIBRARIES(${APP_DEFINED_LOADER} ${APP_DEFINED_LOADER_PKGS_LDFLAGS} launchpad)
-ELSE(_TIZEN_FEATURE_PRELINK)
-TARGET_LINK_LIBRARIES(${APP_DEFINED_LOADER} ${APP_DEFINED_LOADER_PKGS_LDFLAGS} launchpad "-pie")
-ENDIF(_TIZEN_FEATURE_PRELINK)
+TARGET_LINK_LIBRARIES(${TARGET_APP_DEFINED_LOADER} PUBLIC
+  "-ldl -Wl,-rpath,: -Wl,--disable-new-dtags")
 
-SET_TARGET_PROPERTIES(${APP_DEFINED_LOADER} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_loader})
-SET_TARGET_PROPERTIES(${APP_DEFINED_LOADER}
-       PROPERTIES SKIP_BUILD_RPATH TRUE
-       ) # remove rpath option that is automatically generated by cmake.
-INSTALL(TARGETS ${APP_DEFINED_LOADER} DESTINATION bin)
+INSTALL(TARGETS ${TARGET_APP_DEFINED_LOADER} DESTINATION bin)
 
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/app-defined-loader.conf.in
-       ${CMAKE_CURRENT_SOURCE_DIR}/conf/app-defined-loader.conf @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/app-defined-loader.conf DESTINATION share/aul)
+  ${CMAKE_CURRENT_SOURCE_DIR}/conf/app-defined-loader.conf @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/app-defined-loader.conf
+  DESTINATION share/aul)
diff --git a/src/hydra/CMakeLists.txt b/src/hydra/CMakeLists.txt
deleted file mode 100644 (file)
index 6aeab28..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(launchpad-hydra C)
-SET(LAUNCHPAD_HYDRA "launchpad-hydra")
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(LAUNCHPAD_HYDRA_PKGS REQUIRED
-       dlog
-       libsystemd)
-
-FOREACH(flag ${LAUNCHPAD_HYDRA_PKGS_CFLAGS})
-       SET(EXTRA_CFLAGS_hydra "${EXTRA_CFLAGS_hydra} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Wl,-zdefs" )
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fvisibility=hidden")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fdata-sections -ffunction-sections -Wl,--gc-sections")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -D_FILE_OFFSET_BITS=64")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Werror")
-
-SET(EXTRA_CFLAGS_hydra "${EXTRA_CFLAGS_hydra} ${EXTRA_CFLAGS_common}")
-
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/common/inc)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
-SET(COMMON_SOURCES
-       ${CMAKE_SOURCE_DIR}/src/common/src/launchpad_socket.c)
-
-ADD_LIBRARY(${LAUNCHPAD_HYDRA} SHARED
-       ${SOURCES}
-       ${COMMON_SOURCES})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_HYDRA} PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_HYDRA} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_HYDRA} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_hydra})
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_HYDRA} ${LAUNCHPAD_HYDRA_PKGS_LDFLAGS} "-ldl")
-
-INSTALL(TARGETS ${LAUNCHPAD_HYDRA} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/launchpad_hydra.h DESTINATION include/launchpad)
-
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad-hydra.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad-hydra.pc @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad-hydra.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
diff --git a/src/launchpad-loader/CMakeLists.txt b/src/launchpad-loader/CMakeLists.txt
new file mode 100644 (file)
index 0000000..091bba7
--- /dev/null
@@ -0,0 +1,65 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src LAUNCHPAD_LOADER_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/src
+  LIB_COMMON_SRCS)
+
+ADD_EXECUTABLE(${TARGET_LAUNCHPAD_LOADER}
+  ${LAUNCHPAD_LOADER_SRCS}
+  ${LIB_COMMON_SRCS})
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_LOADER} PROPERTIES
+  SKIP_BUILD_RPATH TRUE)
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../lib/launchpad/inc)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/inc)
+
+IF(_TIZEN_FEATURE_PRELINK)
+MESSAGE(STATUS "prelink enable")
+ELSE(_TIZEN_FEATURE_PRELINK)
+MESSAGE(STATUS "prelink disable")
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_LOADER} PROPERTIES
+  COMPILE_FLAGS "-fPIE")
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC "-pie")
+ENDIF(_TIZEN_FEATURE_PRELINK)
+
+APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD_LOADER} PUBLIC
+  DLOG_DEPS
+  ECORE_DEPS
+  ELEMENTARY_DEPS
+  SECURITY_MANAGER_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS
+  TANCHOR_DEPS
+  AUL_DEPS
+  VCONF_DEPS
+  BUXTON2_DEPS
+  LIBSYSTEMD_DEPS
+  GIO_DEPS
+  DBUS_DEPS
+  LIBCAP_DEPS
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_LOADER} PRIVATE ${TARGET_LAUNCHPAD})
+
+# To support 2.x applications which use their own shared libraries.
+# Since we cannot set LD_LIBRARY_PATH directly by security issue, we make the
+# dynamic linker looks in the CWD forcely.
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_LOADER} PUBLIC
+  "-ldl -Wl,-rpath,: -Wl,--disable-new-dtags")
+
+INSTALL(TARGETS ${TARGET_LAUNCHPAD_LOADER} DESTINATION bin)
+
+EXEC_PROGRAM(pkg-config
+    ARGS --variable=module_arch ecore
+    OUTPUT_VARIABLE EFL_MODULE_VERSION
+)
+
+IF(_TIZEN_FEATURE_LOADER_ARCH64)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/default_arch64.loader.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader @ONLY)
+ELSE(_TIZEN_FEATURE_LOADER_ARCH64)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/default_arch32.loader.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader @ONLY)
+ENDIF(_TIZEN_FEATURE_LOADER_ARCH64)
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader DESTINATION
+  share/aul)
diff --git a/src/launchpad-parser/CMakeLists.txt b/src/launchpad-parser/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e4d65da
--- /dev/null
@@ -0,0 +1,25 @@
+SET(PLUGINS_LIST_FILE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/launchpad_plugins.txt)
+SET(PLUGINS_LIST_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/parser-plugins)
+ADD_DEFINITIONS("-DPLUGINS_LIST_INSTALL_PATH=\"${PLUGINS_LIST_INSTALL_PATH}\"")
+
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ LAUNCHPAD_PARSER_SRCS)
+
+ADD_LIBRARY(${TARGET_LAUNCHPAD_PARSER} SHARED
+  ${LAUNCHPAD_PARSER_SRCS})
+
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_PARSER} PROPERTIES
+  COMPILE_FLAGS "-fpic")
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_PARSER} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../)
+
+APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD_PARSER} PUBLIC
+  DLOG_DEPS
+  LIBXML_DEPS
+  PKGMGR_INSTALLER_DEPS
+)
+
+INSTALL(FILES ${PLUGINS_LIST_FILE_PATH} DESTINATION
+  ${PLUGINS_LIST_INSTALL_PATH}/)
+INSTALL(TARGETS ${TARGET_LAUNCHPAD_PARSER} DESTINATION
+  ${SYSCONF_INSTALL_DIR}/package-manager/parserlib)
similarity index 84%
rename from src/parser/common.hh
rename to src/launchpad-parser/common.hh
index 910caa5..f86dc87 100644 (file)
  * limitations under the License.
  */
 
-#ifndef LAUNCHPAD_PARSER_PLUGIN_COMMON_HH_
-#define LAUNCHPAD_PARSER_PLUGIN_COMMON_HH_
+#ifndef LAUNCHPAD_PARSER_COMMON_HH_
+#define LAUNCHPAD_PARSER_COMMON_HH_
 
 #ifdef EXPORT_API
 #undef EXPORT_API
 #endif
 #define EXPORT_API __attribute__((visibility("default")))
 
-#endif  // LAUNCHPAD_PARSER_PLUGIN_COMMON_HH_
+#endif  // LAUNCHPAD_PARSER_COMMON_HH_
similarity index 97%
rename from src/parser/launchpad_parser_plugin.cc
rename to src/launchpad-parser/launchpad_parser_plugin.cc
index b7734c0..28f2b73 100644 (file)
  * limitations under the License.
  */
 
-#include <sys/types.h>
 #include <pkgmgr_installer_info.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 #include <unistd.h>
 
 #include <fstream>
 #include <string>
 
-#include "launchpad_parser_plugin.hh"
-#include "log_private.hh"
+#include "launchpad-parser/launchpad_parser_plugin.hh"
+#include "launchpad-parser/log_private.hh"
 
 #define LOADERS_DIRECTORY_PATH "/opt/share/loaders/"
 
similarity index 84%
rename from src/parser/launchpad_parser_plugin.hh
rename to src/launchpad-parser/launchpad_parser_plugin.hh
index 35a2e8f..483fff0 100644 (file)
  * limitations under the License.
  */
 
-#ifndef LAUNCHPAD_PARSER_PLUGIN_LAUNCHPAD_PARSER_PLUGIN_HH_
-#define LAUNCHPAD_PARSER_PLUGIN_LAUNCHPAD_PARSER_PLUGIN_HH_
+#ifndef LAUNCHPAD_PARSER_LAUNCHPAD_PARSER_PLUGIN_HH_
+#define LAUNCHPAD_PARSER_LAUNCHPAD_PARSER_PLUGIN_HH_
+
+#include <libxml/tree.h>
 
-#include <string>
 #include <list>
 #include <memory>
-#include <libxml/tree.h>
+#include <string>
 
-#include "loader_info.hh"
+#include "launchpad-parser/loader_info.hh"
 
 namespace launchpad_parser_plugin {
 
@@ -41,4 +42,4 @@ class LaunchpadParser {
 
 }  // namespace launchpad_parser_plugin
 
-#endif  // LAUNCHPAD_PARSER_PLUGIN_LAUNCHPAD_PARSER_PLUGIN_HH_
+#endif  // LAUNCHPAD_PARSER_LAUNCHPAD_PARSER_PLUGIN_HH_
@@ -16,9 +16,9 @@
 
 #include <libxml/tree.h>
 
-#include "launchpad_parser_plugin.hh"
-#include "log_private.hh"
-#include "common.hh"
+#include "launchpad-parser/common.hh"
+#include "launchpad-parser/launchpad_parser_plugin.hh"
+#include "launchpad-parser/log_private.hh"
 
 using namespace launchpad_parser_plugin;
 
similarity index 96%
rename from src/parser/loader_info.cc
rename to src/launchpad-parser/loader_info.cc
index f2ffdec..2f8ffcc 100644 (file)
@@ -13,7 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#include "loader_info.hh"
+
+#include "launchpad-parser/loader_info.hh"
 
 using namespace std;
 namespace launchpad_parser_plugin {
similarity index 87%
rename from src/parser/loader_info.hh
rename to src/launchpad-parser/loader_info.hh
index c4ab4f3..f175591 100644 (file)
  * limitations under the License.
  */
 
-#ifndef LAUNCHPAD_PARSER_PLUGIN_LOADER_INFO_HH_
-#define LAUNCHPAD_PARSER_PLUGIN_LOADER_INFO_HH_
+#ifndef LAUNCHPAD_PARSER_LOADER_INFO_HH_
+#define LAUNCHPAD_PARSER_LOADER_INFO_HH_
 
-#include <string>
 #include <list>
+#include <string>
 
 namespace launchpad_parser_plugin {
 
@@ -39,5 +39,4 @@ class LoaderInfo {
 
 }  // namespace launchpad_parser_plugin
 
-#endif  // LAUNCHPAD_PARSER_PLUGIN_LOADER_INFO_HH_
-
+#endif  // LAUNCHPAD_PARSER_LOADER_INFO_HH_
similarity index 79%
rename from src/parser/log_private.hh
rename to src/launchpad-parser/log_private.hh
index 80e244b..fe39f10 100644 (file)
  * limitations under the License.
  */
 
-#ifndef LAUNCHPAD_PARSER_PLUGIN_LOG_PRIVATE_HH_
-#define LAUNCHPAD_PARSER_PLUGIN_LOG_PRIVATE_HH_
+#ifndef LAUNCHPAD_PARSER_LOG_PRIVATE_HH_
+#define LAUNCHPAD_PARSER_LOG_PRIVATE_HH_
 
 #include <dlog.h>
 
-#ifdef LOG_TAG
 #undef LOG_TAG
-#endif
 #define LOG_TAG "LAUNCHPAD_PARSER_PLUGIN"
 
-#ifdef _E
 #undef _E
-#endif
 #define _E(fmt, arg...) LOGE(fmt, ##arg)
 
-#ifdef _D
 #undef _D
-#endif
 #define _D(fmt, arg...) LOGD(fmt, ##arg)
 
-#ifdef _W
 #undef _W
-#endif
 #define _W(fmt, arg...) LOGW(fmt, ##arg)
 
-#ifdef _I
 #undef _I
-#endif
 #define _I(fmt, arg...) LOGI(fmt, ##arg)
 
-#endif /* LAUNCHPAD_PARSER_PLUGIN_LOG_PRIVATE_HH_ */
+#endif /* LAUNCHPAD_PARSER_LOG_PRIVATE_HH_ */
diff --git a/src/launchpad-process-pool/CMakeLists.txt b/src/launchpad-process-pool/CMakeLists.txt
new file mode 100644 (file)
index 0000000..70732ff
--- /dev/null
@@ -0,0 +1,54 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src
+  LAUNCHPAD_PROCESS_POOL_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/src
+  LIB_COMMON_SRCS)
+
+ADD_EXECUTABLE(${TARGET_LAUNCHPAD_PROCESS_POOL}
+  ${LAUNCHPAD_PROCESS_POOL_SRCS}
+  ${LIB_COMMON_SRCS})
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PROPERTIES
+  SKIP_BUILD_RPATH TRUE)
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../lib/common/inc)
+
+IF(_TIZEN_FEATURE_PRELINK)
+MESSAGE(STATUS "prelink enable")
+ELSE(_TIZEN_FEATURE_PRELINK)
+MESSAGE(STATUS "prelink disable")
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PROPERTIES
+  COMPILE_FLAGS "-fPIE")
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PROPERTIES
+  LINK_FLAGS "-pie")
+ENDIF(_TIZEN_FEATURE_PRELINK)
+
+APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD_PROCESS_POOL} PUBLIC
+  BUNDLE_DEPS
+  DBUS_DEPS
+  DLOG_DEPS
+  GIO_DEPS
+  INIPARSER_DEPS
+  LIBCAP_DEPS
+  LIBSMACK_DEPS
+  LIBSYSTEMD_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS
+  SECURITY_MANAGER_DEPS
+  TANCHOR_DEPS
+  TTRACE_DEPS
+  VCONF_DEPS
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PUBLIC "-lm -ldl")
+
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/packaging/default.debugger.in
+  ${CMAKE_SOURCE_DIR}/packaging/default.debugger @ONLY)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/default.debugger DESTINATION
+  share/aul)
+INSTALL(TARGETS ${TARGET_LAUNCHPAD_PROCESS_POOL} DESTINATION bin)
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/launchpad.conf.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/conf/launchpad.conf @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/launchpad.conf DESTINATION
+  share/aul)
diff --git a/src/launchpad/CMakeLists.txt b/src/launchpad/CMakeLists.txt
deleted file mode 100644 (file)
index ad10ae0..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(launchpad-process-pool C)
-SET(LAUNCHPAD_PROCESS_POOL "launchpad-process-pool")
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(LAUNCHPAD_PROCESS_POOL_PKGS REQUIRED
-       bundle
-       dbus-1
-       dlog
-       gio-2.0
-       iniparser
-       libcap
-       libsmack
-       libsystemd
-       libtzplatform-config
-       security-manager
-       tanchor
-       ttrace
-       vconf
-       )
-
-FOREACH(flag ${LAUNCHPAD_PROCESS_POOL_PKGS_CFLAGS})
-       SET(EXTRA_CFLAGS_pool "${EXTRA_CFLAGS_pool} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Wl,-zdefs" )
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fvisibility=hidden")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fdata-sections -ffunction-sections -Wl,--gc-sections")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -D_FILE_OFFSET_BITS=64")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Werror")
-
-IF(_TIZEN_FEATURE_PRELINK)
-MESSAGE(STATUS "[__PRELINK__] Enable")
-SET(EXTRA_CFLAGS_pool "${EXTRA_CFLAGS_pool} ${EXTRA_CFLAGS_common}")
-ELSE(_TIZEN_FEATURE_PRELINK)
-MESSAGE(STATUS "[__PRELINK__] Disable")
-SET(EXTRA_CFLAGS_pool "${EXTRA_CFLAGS_pool} ${EXTRA_CFLAGS_common} -fPIE")
-ENDIF(_TIZEN_FEATURE_PRELINK)
-
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/common/inc)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/common/src COMMON_SOURCES)
-
-SET(LAUNCHPAD_PROCESS_POOL_SOURCE_FILES
-       ${COMMON_SOURCES}
-       ${SOURCES})
-
-ADD_EXECUTABLE(${LAUNCHPAD_PROCESS_POOL} ${LAUNCHPAD_PROCESS_POOL_SOURCE_FILES})
-
-IF(_TIZEN_FEATURE_PRELINK)
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_PROCESS_POOL} ${LAUNCHPAD_PROCESS_POOL_PKGS_LDFLAGS} "-lm -ldl")
-ELSE(_TIZEN_FEATURE_PRELINK)
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_PROCESS_POOL} ${LAUNCHPAD_PROCESS_POOL_PKGS_LDFLAGS} "-pie -lm -ldl")
-ENDIF(_TIZEN_FEATURE_PRELINK)
-
-SET_TARGET_PROPERTIES(${LAUNCHPAD_PROCESS_POOL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_pool})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_PROCESS_POOL}
-       PROPERTIES SKIP_BUILD_RPATH TRUE
-       ) # remove rpath option that is automatically generated by cmake.
-
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/packaging/default.debugger.in ${CMAKE_SOURCE_DIR}/packaging/default.debugger @ONLY)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/default.debugger DESTINATION share/aul)
-INSTALL(TARGETS ${LAUNCHPAD_PROCESS_POOL} DESTINATION bin)
-
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/launchpad.conf.in ${CMAKE_CURRENT_SOURCE_DIR}/conf/launchpad.conf @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/launchpad.conf DESTINATION share/aul)
index 1d42ce0..3daf3df 100644 (file)
@@ -1,53 +1,2 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(liblaunchpad C)
-SET(LAUNCHPAD_LIB "launchpad")
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(LAUNCHPAD_LIB_PKGS REQUIRED
-       aul
-       bundle
-       dbus-1
-       dlog
-       libcap
-       libtzplatform-config
-       security-manager
-       tanchor
-       )
-
-FOREACH(flag ${LAUNCHPAD_LIB_PKGS_CFLAGS})
-       SET(EXTRA_CFLAGS_lib "${EXTRA_CFLAGS_lib} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Wl,-zdefs" )
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fvisibility=hidden")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fdata-sections -ffunction-sections -Wl,--gc-sections")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -D_FILE_OFFSET_BITS=64")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Werror")
-
-SET(EXTRA_CFLAGS_lib "${EXTRA_CFLAGS_lib} ${EXTRA_CFLAGS_common}")
-
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/common/inc)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/common/src COMMON_SOURCES)
-
-ADD_LIBRARY(${LAUNCHPAD_LIB} SHARED
-       ${COMMON_SOURCES}
-       ${SOURCES})
-
-SET_TARGET_PROPERTIES(${LAUNCHPAD_LIB} PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_LIB} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_LIB} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_lib})
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_LIB} ${LAUNCHPAD_LIB_PKGS_LDFLAGS} "-ldl")
-
-INSTALL(TARGETS ${LAUNCHPAD_LIB} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/launchpad.h DESTINATION include/launchpad)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad.pc @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+ADD_SUBDIRECTORY(launchpad)
+ADD_SUBDIRECTORY(launchpad-hydra)
diff --git a/src/lib/launchpad-hydra/CMakeLists.txt b/src/lib/launchpad-hydra/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6dec4bf
--- /dev/null
@@ -0,0 +1,33 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src LAUNCHPAD_HYDRA_SRCS)
+SET(COMMON_SOCKET_SRCS
+  ${CMAKE_CURRENT_SOURCE_DIR}/../common/src/launchpad_socket.c)
+
+ADD_LIBRARY(${TARGET_LAUNCHPAD_HYDRA} SHARED
+  ${COMMON_SOCKET_SRCS}
+  ${LAUNCHPAD_HYDRA_SRCS})
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_HYDRA} PROPERTIES
+  SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD_HYDRA} PROPERTIES
+  VERSION ${VERSION})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_HYDRA} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD_HYDRA} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../common/inc)
+
+APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD_HYDRA} PUBLIC
+  DLOG_DEPS
+  LIBSYSTEMD_DEPS
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_HYDRA} PUBLIC "-ldl")
+
+INSTALL(TARGETS ${TARGET_LAUNCHPAD_HYDRA} DESTINATION ${LIB_INSTALL_DIR}
+  COMPONENT RuntimeLibraries)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/launchpad_hydra.h
+  DESTINATION include/launchpad)
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad-hydra.pc.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad-hydra.pc @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad-hydra.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
diff --git a/src/lib/launchpad/CMakeLists.txt b/src/lib/launchpad/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d43ea34
--- /dev/null
@@ -0,0 +1,43 @@
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src LAUNCHPAD_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../common/src LIB_COMMON_SRCS)
+
+ADD_LIBRARY(${TARGET_LAUNCHPAD} SHARED
+  ${LAUNCHPAD_SRCS}
+  ${LIB_COMMON_SRCS})
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${TARGET_LAUNCHPAD} PROPERTIES VERSION ${VERSION})
+
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/../common/inc)
+TARGET_INCLUDE_DIRECTORIES(${TARGET_LAUNCHPAD} PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+
+APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD} PUBLIC
+  AUL_DEPS
+  BUNDLE_DEPS
+  BUXTON2_DEPS
+  DBUS_DEPS
+  DLOG_DEPS
+  LIBCAP_DEPS
+  LIBSYSTEMD_DEPS
+  LIBTZPLATFORM_CONFIG_DEPS
+  SECURITY_MANAGER_DEPS
+  TANCHOR_DEPS
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD} PUBLIC "-ldl")
+
+INSTALL(TARGETS ${TARGET_LAUNCHPAD} DESTINATION ${LIB_INSTALL_DIR}
+  COMPONENT RuntimeLibraries)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/launchpad.h DESTINATION
+  include/launchpad)
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/launchpad.pc.in
+  ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad.pc @ONLY)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/liblaunchpad.pc
+  DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
diff --git a/src/loader/CMakeLists.txt b/src/loader/CMakeLists.txt
deleted file mode 100644 (file)
index 1dff6be..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-PROJECT(launchpad-loader C)
-SET(LAUNCHPAD_LOADER "launchpad-loader")
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(LAUNCHPAD_LOADER_PKGS REQUIRED
-       dlog
-       ecore
-       elementary
-       security-manager
-       libtzplatform-config
-       tanchor
-       bundle
-       aul
-       vconf
-       buxton2
-       libsystemd
-       gio-2.0
-       dbus-1
-       libcap
-       )
-
-FOREACH(flag ${LAUNCHPAD_LOADER_PKGS_CFLAGS})
-       SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Wl,-zdefs" )
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fvisibility=hidden")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -fdata-sections -ffunction-sections -Wl,--gc-sections")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -D_FILE_OFFSET_BITS=64")
-SET(EXTRA_CFLAGS_common "${EXTRA_CFLAGS_common} -Werror")
-
-IF(_TIZEN_FEATURE_PRELINK)
-MESSAGE(STATUS "[__PRELINK__] Enable")
-SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${EXTRA_CFLAGS_common}")
-ELSE(_TIZEN_FEATURE_PRELINK)
-MESSAGE(STATUS "[__PRELINK__] Disable")
-SET(EXTRA_CFLAGS_loader "${EXTRA_CFLAGS_loader} ${EXTRA_CFLAGS_common} -fPIE")
-ENDIF(_TIZEN_FEATURE_PRELINK)
-
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/common/inc)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/lib/inc)
-
-AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCES)
-AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/common/src COMMON_SOURCES)
-
-SET(LAUNCHPAD_LOADER_SOURCE_FILES
-       ${COMMON_SOURCES}
-       ${SOURCES})
-ADD_EXECUTABLE(${LAUNCHPAD_LOADER} ${LAUNCHPAD_LOADER_SOURCE_FILES})
-
-# To support 2.x applications which use their own shared libraries.
-# Since we cannot set LD_LIBRARY_PATH directly by security issue, we make the
-# dynamic linker looks in the CWD forcely.
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_LOADER} "-ldl -Wl,-rpath,: -Wl,--disable-new-dtags")
-
-IF(_TIZEN_FEATURE_PRELINK)
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_LOADER} ${LAUNCHPAD_LOADER_PKGS_LDFLAGS} launchpad)
-ELSE(_TIZEN_FEATURE_PRELINK)
-TARGET_LINK_LIBRARIES(${LAUNCHPAD_LOADER} ${LAUNCHPAD_LOADER_PKGS_LDFLAGS} launchpad "-pie")
-ENDIF(_TIZEN_FEATURE_PRELINK)
-
-SET_TARGET_PROPERTIES(${LAUNCHPAD_LOADER} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_loader})
-SET_TARGET_PROPERTIES(${LAUNCHPAD_LOADER}
-       PROPERTIES SKIP_BUILD_RPATH TRUE
-       ) # remove rpath option that is automatically generated by cmake.
-INSTALL(TARGETS ${LAUNCHPAD_LOADER} DESTINATION bin)
-
-IF(_TIZEN_FEATURE_LOADER_ARCH64)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/default_arch64.loader.in ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader @ONLY)
-ELSE(_TIZEN_FEATURE_LOADER_ARCH64)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/conf/default_arch32.loader.in ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader @ONLY)
-ENDIF(_TIZEN_FEATURE_LOADER_ARCH64)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/conf/default.loader DESTINATION share/aul)
diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt
deleted file mode 100644 (file)
index 29374bd..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(launchpad-parser CXX)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(PKGS REQUIRED
-       dlog
-       libxml-2.0
-       pkgmgr-installer
-)
-
-FOREACH(FLAGS ${PKGS_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${FLAGS}")
-ENDFOREACH(FLAGS)
-
-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")
-
-ADD_LIBRARY(${PROJECT_NAME} SHARED
-       launchpad_parser_plugin.cc
-       loader_info.cc
-       launchpad_parser_plugin_pkgmgr_interface.cc
-)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
-
-SET(PLUGINS_LIST_FILE_NAME launchpad_plugins.txt)
-SET(PLUGINS_LIST_FILE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${PLUGINS_LIST_FILE_NAME})
-
-SET(PLUGINS_LIST_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/parser-plugins)
-
-ADD_DEFINITIONS("-DPLUGINS_LIST_INSTALL_PATH=\"${PLUGINS_LIST_INSTALL_PATH}\"")
-
-INSTALL(FILES ${PLUGINS_LIST_FILE_PATH} DESTINATION ${PLUGINS_LIST_INSTALL_PATH}/)
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS})
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/parserlib)