Bug fix: Always changed flag becomes true when restriction mode is changed
[apps/agl-service-windowmanager.git] / src / CMakeLists.txt
index 7bbc35d..ab0fd19 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2017 Mentor Graphics Development (Deutschland) GmbH
+# Copyright (c) 2017 TOYOTA MOTOR CORPORATION
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
 # limitations under the License.
 #
 
-wlproto(IVI_CON ivi-controller)
+wlproto(IVI_CON ivi-wm)
 
 include(FindPkgConfig)
 pkg_check_modules(AFB REQUIRED afb-daemon)
@@ -23,48 +23,51 @@ pkg_check_modules(SD REQUIRED libsystemd>=222)
 # We do not want a prefix for our module
 set(CMAKE_SHARED_MODULE_PREFIX "")
 
-add_custom_command(
-   OUTPUT afb_binding_api.hpp afb_binding_glue.inl
-   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding-glue.py
-   COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding-glue.py)
-
 set(TARGETS_WM windowmanager-service)
 
+# Set use STM name
+set(USE_STM_NAME zipc)
+
 add_library(${TARGETS_WM} MODULE
    main.cpp
-   wayland.cpp
-   wayland.hpp
+   wayland_ivi_wm.cpp
+   wayland_ivi_wm.hpp
    util.cpp
    util.hpp
-   layout.cpp
-   layout.hpp
+   layout_manager/layout.cpp
+   layout_manager/layout.hpp
    ${IVI_CON_PROTO}
    json_helper.cpp
    json_helper.hpp
    app.hpp app.cpp
-   afb_binding_api.cpp
    result.hpp
-   afb_binding_api.hpp
-   afb_binding_glue.inl
    layers.cpp
    layers.hpp
    controller_hooks.hpp
    config.cpp
    config.hpp
-   policy.hpp)
+   low_can_client.cpp
+   low_can_client.hpp
+)
 
 target_include_directories(${TARGETS_WM}
     PRIVATE
         ${AFB_INCLUDE_DIRS}
         ${SD_INCLUDE_DIRS}
         ../include
-        ../src)
+        ../src
+        ../src/layout_manager
+        ../src/${PLUGIN_PM}
+        ../src/${PLUGIN_PM}/${USE_STM_NAME}
+)
 
 target_link_libraries(${TARGETS_WM}
     PRIVATE
         ${AFB_LIBRARIES}
         ${WLC_LIBRARIES}
-        ${SD_LIBRARIES})
+        ${SD_LIBRARIES}
+        ${CMAKE_BINARY_DIR}/src/${PLUGIN_PM}/lib${PLUGIN_PM}.so
+)
 
 target_compile_definitions(${TARGETS_WM}
     PRIVATE
@@ -72,7 +75,7 @@ target_compile_definitions(${TARGETS_WM}
         # We do not want source location of messages
         AFB_BINDING_PRAGMA_NO_VERBOSE_DETAILS
         WINMAN_VERSION_STRING="${PACKAGE_VERSION}"
-        _GNU_SOURCE)  # XXX should I define this here?!
+        _GNU_SOURCE)
 
 if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Release")
    target_compile_definitions(${TARGETS_WM}
@@ -96,7 +99,7 @@ set_target_properties(${TARGETS_WM}
         C_STANDARD 99
         C_STANDARD_REQUIRED ON
 
-        LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../export.map")
+        LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../export.map -Wl,-rpath,'$ORIGIN'")
 
 if (LINK_LIBCXX)
    set_target_properties(${TARGETS_WM}
@@ -122,6 +125,12 @@ 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
+   COMMAND cp -f ${PROJECT_SOURCE_DIR}/src/layout_manager/db/layout.db ${PROJECT_BINARY_DIR}/package/root/etc
+   COMMAND cp -f ${PROJECT_SOURCE_DIR}/src/${PLUGIN_PM}/db/role.db ${PROJECT_BINARY_DIR}/package/root/etc
+   COMMAND cp -f ${PROJECT_SOURCE_DIR}/src/db/app.db ${PROJECT_BINARY_DIR}/package/root/etc
+   COMMAND cp -f ${PROJECT_BINARY_DIR}/src/policy_manager/libpolicy_manager.so ${PROJECT_BINARY_DIR}/package/root/lib
 )
 
 add_custom_target(package DEPENDS ${PROJECT_BINARY_DIR}/package/root