diff options
Diffstat (limited to 'src/components/policy/policy_external/CMakeLists.txt')
-rw-r--r-- | src/components/policy/policy_external/CMakeLists.txt | 85 |
1 files changed, 72 insertions, 13 deletions
diff --git a/src/components/policy/policy_external/CMakeLists.txt b/src/components/policy/policy_external/CMakeLists.txt index bd05291245..361c48a598 100644 --- a/src/components/policy/policy_external/CMakeLists.txt +++ b/src/components/policy/policy_external/CMakeLists.txt @@ -28,22 +28,26 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/generators.cmake) + # --- Policy -set(target Policy) set(install_destination bin) set(copy_destination ${CMAKE_BINARY_DIR}/src/appMain) -set(library_name ${CMAKE_SHARED_LIBRARY_PREFIX}${target}${CMAKE_SHARED_LIBRARY_SUFFIX}) +set(library_name ${CMAKE_SHARED_LIBRARY_PREFIX}Policy${CMAKE_SHARED_LIBRARY_SUFFIX}) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") include_directories ( - include - ${COMPONENTS_DIR}/rpc_base/include + ${POLICY_PATH}/include/ + ${COMPONENTS_DIR}/ ${COMPONENTS_DIR}/utils/include/ ${COMPONENTS_DIR}/config_profile/include + ${COMPONENTS_DIR}/smart_objects/include/ + ${COMPONENTS_DIR}/rpc_base/include + ${CMAKE_BINARY_DIR}/src/components/ ${POLICY_GLOBAL_INCLUDE_PATH}/ - ${LOG4CXX_INCLUDE_DIRECTORY} ${BOOST_INCLUDE_DIR} + ${LOG4CXX_INCLUDE_DIRECTORY} ${JSONCPP_INCLUDE_DIRECTORY} ) @@ -60,12 +64,54 @@ set(SOURCES ${COMPONENTS_DIR}/rpc_base/src/rpc_base/rpc_base.cc ) +set(GENERATED_MOBILE_POLICY_TYPES_CPP + "${CMAKE_CURRENT_BINARY_DIR}/generated_MOBILE_API_policy_types.cc" + "${CMAKE_CURRENT_BINARY_DIR}/generated_MOBILE_API_enum_schema_factory.cc") + +set(GENERATED_MOBILE_POLICY_TYPES_HPP + "${CMAKE_CURRENT_BINARY_DIR}/generated_MOBILE_API_policy_types.h") + +set(GENERATED_MOBILE_POLICY_TYPES + ${GENERATED_MOBILE_POLICY_TYPES_HPP} + ${GENERATED_MOBILE_POLICY_TYPES_CPP}) + +generate_policy_types("${GENERATED_MOBILE_POLICY_TYPES}" + "${COMPONENTS_DIR}/interfaces/MOBILE_API.xml" + "rpc::policy_table_interface_base" + "mobile-policy-types") + +set(GENERATED_HMI_POLICY_TYPES_CPP + "${CMAKE_CURRENT_BINARY_DIR}/generated_HMI_API_policy_types.cc") + +set(GENERATED_HMI_POLICY_TYPES_HPP + "${CMAKE_CURRENT_BINARY_DIR}/generated_HMI_API_policy_types.h") + +set(GENERATED_HMI_POLICY_TYPES + ${GENERATED_HMI_POLICY_TYPES_HPP} + ${GENERATED_HMI_POLICY_TYPES_CPP}) + + +generate_policy_types("${GENERATED_HMI_POLICY_TYPES}" + "${COMPONENTS_DIR}/interfaces/HMI_API.xml" + "rpc::policy_table_interface_base" + "hmi-policy-types") + +if (REMOTE_CONTROL) + list(APPEND SOURCES ${POLICY_PATH}/src/access_remote_impl.cc) +endif() + list(APPEND SOURCES ${POLICY_PATH}/src/sql_pt_ext_queries.cc ${POLICY_PATH}/src/sql_pt_ext_representation.cc ) -set(LIBRARIES ConfigProfile policy_struct dbms jsoncpp Utils) +set(LIBRARIES + ConfigProfile + policy_struct + dbms jsoncpp + Utils +) + if (CMAKE_SYSTEM_NAME STREQUAL "QNX") # --- QDB Wrapper include_directories (${COMPONENTS_DIR}/utils/include/utils) @@ -75,21 +121,25 @@ else () list(APPEND LIBRARIES sqlite3) endif () -add_library(${target} SHARED ${SOURCES}) -target_link_libraries(${target} ${LIBRARIES} ) +add_library(PolicyStatic ${SOURCES}) +target_link_libraries(PolicyStatic ${LIBRARIES}) + + +add_library(Policy SHARED "src/policy_manager_impl.cc") +target_link_libraries(Policy PolicyStatic) if (ENABLE_LOG) - target_link_libraries(${target} log4cxx -L${LOG4CXX_LIBS_DIRECTORY}) + target_link_libraries(Policy log4cxx -L${LOG4CXX_LIBS_DIRECTORY}) endif() -add_custom_target(copy_library_${target} ALL +add_custom_target(copy_library_Policy ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/${library_name} ${copy_destination} - DEPENDS ${target} + DEPENDS Policy COMMENT "Copying library ${library_name}") -install(TARGETS ${target} +install(TARGETS Policy DESTINATION ${install_destination} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE @@ -100,13 +150,22 @@ install(TARGETS ${target} set(struct_target policy_struct) set(TABLE_STRUCT_SOURCES + ${GENERATED_MOBILE_POLICY_TYPES_CPP} + ${GENERATED_HMI_POLICY_TYPES_CPP} ${POLICY_PATH}/src/policy_table/enums.cc ${POLICY_PATH}/src/policy_table/types.cc ${POLICY_PATH}/src/policy_table/validation.cc ) add_library(${struct_target} ${TABLE_STRUCT_SOURCES}) -target_link_libraries(${struct_target} Utils) +target_link_libraries(${struct_target} +MOBILE_API +HMI_API +Utils +SmartObjects +formatters +jsoncpp +) # --- Usage statistics set(USAGE_STATISTICS_SOURCES |