From 11a7e61c482d46b63da1b90ea4f341460f71b48b Mon Sep 17 00:00:00 2001 From: Yuta Doi Date: Tue, 24 Oct 2017 14:09:38 +0900 Subject: Layer configuration file is included in widget Layer configuration file (layers.json) is placed in target when installation of windowmanager. Bug-AGL: SPEC-991 Change-Id: Ia614ec400c185ec7db4379c66321363a68e5e0da Signed-off-by: Yuta Doi --- CMakeLists.txt | 5 ----- src/CMakeLists.txt | 2 ++ src/config.cpp | 10 +++++++++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d25e73..4ed6d6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,8 +80,3 @@ set(SANITIZER_MODE "none" CACHE STRING "Build using a specific sanitizer (e.g. ' set(LINK_LIBCXX OFF CACHE BOOL "Link against LLVMs libc++") add_subdirectory(src) - -install( - FILES layers.json - DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/windowmanager - COMPONENT "runtime") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7bbc35d..746fb93 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -122,6 +122,8 @@ endif() add_custom_command(TARGET ${TARGETS_WM} POST_BUILD COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/root/lib COMMAND cp -rf ${PROJECT_BINARY_DIR}/src/${TARGETS_WM}.so ${PROJECT_BINARY_DIR}/package/root/lib + COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/root/etc + COMMAND cp -f ${PROJECT_SOURCE_DIR}/layers.json ${PROJECT_BINARY_DIR}/package/root/etc ) add_custom_target(package DEPENDS ${PROJECT_BINARY_DIR}/package/root diff --git a/src/config.cpp b/src/config.cpp index d5a549a..53e014d 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -15,12 +15,20 @@ */ #include "config.hpp" +#include "hmi-debug.h" namespace wm { config::config() : cfg() { // Supply default values for these... - this->cfg["layers.json"] = getenv("LAYERS_JSON") ?: "/etc/windowmanager/layers.json"; + char const *path_layers_json = getenv("AFM_APP_INSTALL_DIR"); + + if (!path_layers_json) { + HMI_ERROR("wm", "AFM_APP_INSTALL_DIR is not defined"); + } + else { + this->cfg["layers.json"] = std::string(path_layers_json) + std::string("/etc/layers.json"); + } } } // namespace wm -- cgit 1.2.3-korg