summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo Stoilov (GitHub) <istoilov@luxoft.com>2017-01-04 12:07:16 +0200
committerGitHub <noreply@github.com>2017-01-04 12:07:16 +0200
commit15fc6572395056b43cd6fbf23737048772daa350 (patch)
treea3ad387b922123ff1d63d5ded3eac0c8535a8ccc
parent4ff12fe67f0ed15700fd030690276712ef23659d (diff)
parent22b926d4af4e4aab9ae0746d2bfd8625ceadcc9d (diff)
downloadsdl_core-15fc6572395056b43cd6fbf23737048772daa350.tar.gz
Merge pull request #1144 from istoilovgithub/fix/cmake_files_refactoring
Refactor CMake files
-rw-r--r--.travis.yml4
-rw-r--r--CMakeLists.txt432
-rw-r--r--src/3rd_party-static/CMakeLists.txt7
-rw-r--r--src/3rd_party-static/MessageBroker/CMakeLists.txt39
-rw-r--r--src/3rd_party-static/encryption/CMakeLists.txt39
-rw-r--r--src/3rd_party-static/jsoncpp/CMakeLists.txt44
-rw-r--r--src/3rd_party-static/message_broker/CMakeLists.txt (renamed from cmake/Modules/sources.cmake)69
-rw-r--r--src/3rd_party-static/message_broker/include/CMessageBroker.hpp (renamed from src/3rd_party-static/MessageBroker/include/CMessageBroker.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/CMessageBrokerRegistry.hpp (renamed from src/3rd_party-static/MessageBroker/include/CMessageBrokerRegistry.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/CSender.hpp (renamed from src/3rd_party-static/MessageBroker/include/CSender.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/MBDebugHelper.h (renamed from src/3rd_party-static/MessageBroker/include/MBDebugHelper.h)0
-rw-r--r--src/3rd_party-static/message_broker/include/mb_client.hpp (renamed from src/3rd_party-static/MessageBroker/include/mb_client.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/mb_controller.hpp (renamed from src/3rd_party-static/MessageBroker/include/mb_controller.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/mb_server.hpp (renamed from src/3rd_party-static/MessageBroker/include/mb_server.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/mb_tcpclient.hpp (renamed from src/3rd_party-static/MessageBroker/include/mb_tcpclient.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/mb_tcpserver.hpp (renamed from src/3rd_party-static/MessageBroker/include/mb_tcpserver.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/include/networking.h (renamed from src/3rd_party-static/MessageBroker/include/networking.h)0
-rw-r--r--src/3rd_party-static/message_broker/include/system.h (renamed from src/3rd_party-static/MessageBroker/include/system.h)0
-rw-r--r--src/3rd_party-static/message_broker/include/websocket_handler.hpp (renamed from src/3rd_party-static/MessageBroker/include/websocket_handler.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/client/mb_client.cpp (renamed from src/3rd_party-static/MessageBroker/src/client/mb_client.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/client/mb_controller.cpp (renamed from src/3rd_party-static/MessageBroker/src/client/mb_controller.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/client/mb_tcpclient.cpp (renamed from src/3rd_party-static/MessageBroker/src/client/mb_tcpclient.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.cpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerAVA.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.hpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerAVA.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerControllerBackend.cpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerBackend.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerControllerBackend.hpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerBackend.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerControllerPhone.cpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerPhone.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerControllerPhone.hpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerPhone.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerServer.cpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerServer.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/example/MessageBrokerServer.hpp (renamed from src/3rd_party-static/MessageBroker/src/example/MessageBrokerServer.hpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/CMessageBroker.cpp (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBroker.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/CMessageBrokerRegistry.cpp (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/libMBDebugHelper.h (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/libMBDebugHelper.h)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/md5.cpp (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/md5.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/md5.h (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/md5.h)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/system.cpp (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/system.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/lib_messagebroker/websocket_handler.cpp (renamed from src/3rd_party-static/MessageBroker/src/lib_messagebroker/websocket_handler.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/server/mb_server.cpp (renamed from src/3rd_party-static/MessageBroker/src/server/mb_server.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/server/mb_tcpserver.cpp (renamed from src/3rd_party-static/MessageBroker/src/server/mb_tcpserver.cpp)0
-rw-r--r--src/3rd_party-static/message_broker/src/server/networking.cpp (renamed from src/3rd_party-static/MessageBroker/src/server/networking.cpp)0
-rw-r--r--src/3rd_party-static/test/CMakeLists.txt15
-rw-r--r--src/3rd_party/CMakeLists.txt205
-rw-r--r--src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt2
-rw-r--r--src/3rd_party/iap.build.tar.bz2bin19659 -> 0 bytes
-rw-r--r--src/appMain/CMakeLists.txt111
-rw-r--r--src/components/CMakeLists.txt48
-rw-r--r--src/components/HMI/IVSU/PROPRIETARY_REQUEST~0
-rw-r--r--src/components/application_manager/CMakeLists.txt117
-rw-r--r--src/components/application_manager/test/CMakeLists.txt189
-rw-r--r--src/components/application_manager/test/commands/CMakeLists.txt2
-rw-r--r--src/components/application_manager/test/commands/mobile/alert_request_test.cc2
-rw-r--r--src/components/application_manager/test/commands/mobile/read_did_request_test.cc2
-rwxr-xr-xsrc/components/application_manager/test/message_helper/CMakeLists.txt.user189
-rw-r--r--src/components/config_profile/CMakeLists.txt16
-rw-r--r--src/components/config_profile/test/CMakeLists.txt16
-rw-r--r--src/components/connection_handler/CMakeLists.txt19
-rw-r--r--src/components/connection_handler/test/CMakeLists.txt20
-rw-r--r--src/components/dbus/CMakeLists.txt19
-rw-r--r--src/components/dbus/test/CMakeLists.txt19
-rw-r--r--src/components/formatters/CMakeLists.txt24
-rw-r--r--src/components/formatters/test/CMakeLists.txt24
-rw-r--r--src/components/hmi_message_handler/CMakeLists.txt37
-rw-r--r--src/components/hmi_message_handler/test/CMakeLists.txt35
-rw-r--r--src/components/include/utils/threads/CMakeLists.txt5
-rw-r--r--src/components/interfaces/CMakeLists.txt66
-rw-r--r--src/components/media_manager/CMakeLists.txt119
-rw-r--r--src/components/media_manager/test/CMakeLists.txt10
-rw-r--r--src/components/policy/CMakeLists.txt94
-rw-r--r--src/components/policy/test/CMakeLists.txt23
-rw-r--r--src/components/protocol/CMakeLists.txt18
-rw-r--r--src/components/protocol_handler/CMakeLists.txt13
-rw-r--r--src/components/protocol_handler/test/CMakeLists.txt20
-rw-r--r--src/components/qt_hmi/test/CMakeLists.txt3
-rw-r--r--src/components/resumption/CMakeLists.txt9
-rw-r--r--src/components/resumption/test/CMakeLists.txt18
-rw-r--r--src/components/rpc_base/CMakeLists.txt28
-rw-r--r--src/components/rpc_base/test/CMakeLists.txt31
-rw-r--r--src/components/security_manager/CMakeLists.txt25
-rw-r--r--src/components/security_manager/test/CMakeLists.txt24
-rw-r--r--src/components/smart_objects/CMakeLists.txt30
-rw-r--r--src/components/smart_objects/test/CMakeLists.txt27
-rw-r--r--src/components/telemetry_monitor/CMakeLists.txt21
-rw-r--r--src/components/telemetry_monitor/test/CMakeLists.txt24
-rw-r--r--src/components/transport_manager/CMakeLists.txt102
-rw-r--r--src/components/transport_manager/test/CMakeLists.txt27
-rw-r--r--src/components/transport_manager/test/raw_message_matcher.cc3
-rw-r--r--src/components/utils/CMakeLists.txt107
-rw-r--r--src/components/utils/src/signals_posix.cc (renamed from src/components/utils/src/signals_linux.cc)0
-rw-r--r--src/components/utils/src/threads/thread_posix.cc (renamed from src/components/utils/src/threads/posix_thread.cc)0
-rw-r--r--src/components/utils/test/CMakeLists.txt90
-rw-r--r--src/components/utils/test/test_generator/CMakeLists.txt35
-rw-r--r--src/plugins/CMakeLists.txt2
-rw-r--r--src/plugins/appenders/CMakeLists.txt20
-rw-r--r--tools/cmake/helpers/cotire.cmake (renamed from cmake/Modules/cotire.cmake)0
-rw-r--r--tools/cmake/helpers/generators.cmake (renamed from src/components/utils/src/qdb_wrapper/CMakeLists.txt)48
-rw-r--r--tools/cmake/helpers/platform.cmake96
-rw-r--r--tools/cmake/helpers/sources.cmake166
-rw-r--r--tools/cmake/modules/FindGlib-2.0.cmake (renamed from cmake/Modules/FindGlib-2.0.cmake)0
-rw-r--r--tools/cmake/modules/FindGstreamer-1.0.cmake (renamed from cmake/Modules/FindGstreamer-1.0.cmake)0
-rw-r--r--tools/cmake/modules/FindLibXML2.cmake (renamed from cmake/Modules/FindLibXML2.cmake)0
-rw-r--r--tools/cmake/modules/FindQt5Core.cmake (renamed from cmake/Modules/FindQt5Core.cmake)0
-rw-r--r--tools/cmake/modules/FindQt5DBus.cmake (renamed from cmake/Modules/FindQt5DBus.cmake)0
-rw-r--r--tools/cmake/modules/FindQt5Qml.cmake (renamed from cmake/Modules/FindQt5Qml.cmake)0
-rw-r--r--tools/cmake/modules/FindQt5Quick.cmake (renamed from cmake/Modules/FindQt5Quick.cmake)0
-rw-r--r--tools/cmake/modules/FindSDLGstreamer.cmake42
-rw-r--r--tools/cmake/modules/FindSDLLibUSB.cmake19
-rw-r--r--tools/cmake/modules/FindSDLOpenSSL.cmake18
-rw-r--r--tools/cmake/modules/FindSqlite3.cmake (renamed from cmake/Modules/FindSqlite3.cmake)2
-rw-r--r--tools/cmake/modules/FindUDev.cmake (renamed from cmake/Modules/FindUDev.cmake)0
-rw-r--r--tools/intergen/test/CMakeLists.txt4
110 files changed, 1563 insertions, 1571 deletions
diff --git a/.travis.yml b/.travis.yml
index b8b82df3fc..6263b30767 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,6 +20,7 @@ addons:
- libbluetooth3
- libbluetooth-dev
- libudev-dev
+ - libusb-1.0
- cmake
- html2text
- clang-format-3.6
@@ -34,7 +35,8 @@ script:
- bash -e tools/infrastructure/check_style.sh
- mkdir build && cd build && cmake ../ -DBUILD_TESTS=ON -DENABLE_GCOV=ON && make install
- sudo ldconfig
- - make test
+ - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/bin/lib ; make test
+ - bash ../tools/infrastructure/show_disabled.sh
- bash -ex ../tools/infrastructure/collect_coverage.sh ./
env:
global:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3252f7071d..443164f565 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2015, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,9 +28,13 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-cmake_minimum_required(VERSION 2.8.0)
+cmake_minimum_required(VERSION 2.8.11)
set (PROJECT smartDeviceLinkCore)
+project (${PROJECT})
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/tools/cmake/modules/")
+
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
#Jenkins integration section
#dont modify this section if you dont know details about integration with Jenkins!!!
@@ -67,9 +71,9 @@ set(POLICY_OPTION "$ENV{POLICY_TYPE}")
set(SECURITY_OPTION "$ENV{SECURITY_MODE}")
set(COMPONENTS_DIR ${CMAKE_SOURCE_DIR}/src/components)
set(SNAPSHOT_TAG "$ENV{SNAPSHOT_TAG}")
-
set(CMAKE_CXX_COMPILER $ENV{CMAKE_CXX_COMPILER})
set(CMAKE_C_COMPILER $ENV{CMAKE_C_COMPILER})
+set(BUILDDIR "$ENV{BUILDDIR}")
if (ARCH_TYPE_OPTION)
if (NOT (${ARCH_TYPE_OPTION} STREQUAL "x86") AND NOT (${ARCH_TYPE_OPTION} STREQUAL "armv7"))
@@ -173,13 +177,6 @@ add_custom_target(genivi-tarball
COMMAND tar -cz -C /tmp/GENIVI -f ${CMAKE_BINARY_DIR}/genivi.tar.gz .
)
-
-project (${PROJECT})
-
-#ADD_DEPENDENCIES(${PROJECT} Policy)
-
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
-
# Please do not change compiler/linker flags if You do not know how particular
# flag is handled by CMake
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
@@ -231,11 +228,15 @@ endif(USE_DISTCC)
if(ENABLE_SANITIZE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
+ message(STATUS "Sanitizing enabled")
endif()
+
if(ENABLE_GCOV)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
add_definitions(-DGCOV_ENABLED)
+ message(STATUS "GCOV enabled")
endif()
+
set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG -s -O2")
set(CMAKE_CXX_FLAGS_DEBUG " -DDEBUG -g3 -ggdb3")
@@ -248,137 +249,74 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
SET(EXTENDED_MEDIA_MODE OFF)
endif()
-
if (BUILD_USB_SUPPORT)
add_definitions(-DUSB_SUPPORT)
find_package(UDev REQUIRED)
- message(STATUS "USB support is enabled")
+ message(STATUS "USB support enabled")
endif()
-
if (BUILD_BT_SUPPORT)
add_definitions(-DBLUETOOTH_SUPPORT)
- message(STATUS "Bluetooth support is enabled")
+ message(STATUS "Bluetooth support enabled")
endif()
if (BUILD_BACKTRACE_SUPPORT)
add_definitions(-DBACKTRACE_SUPPORT)
+ message(STATUS "Backtrace support enabled")
endif()
if(ENABLE_LOG)
add_definitions(-DENABLE_LOG)
set(install-3rd_party_logger "install-3rd_party_logger")
+ message(STATUS "Logger enabled")
endif()
if (TELEMETRY_MONITOR)
- add_definitions(-DTELEMETRY_MONITOR)
+ add_definitions(-DTELEMETRY_MONITOR)
+ message(STATUS "Telemetry monitor enabled")
endif()
if (ENABLE_EXTENDED_POLICY)
- add_definitions(-DEXTENDED_POLICY)
+ add_definitions(-DEXTENDED_POLICY)
+ message(STATUS "Extended policy enabled")
endif()
# TODO(AK): check current OS here
add_definitions(-DOS_POSIX)
if (EXTENDED_MEDIA_MODE)
-add_definitions(-DEXTENDED_MEDIA_MODE)
-# required to find 'glibconfig.h'
-find_package(PkgConfig)
-pkg_check_modules(GLIB2 REQUIRED glib-2.0)
-add_definitions(${GLIB2_CFLAGS})
-endif()
-
-
-# --- Interface generator
-
-find_package(PythonInterp)
-if(NOT PYTHONINTERP_FOUND)
- message(STATUS "Python interpreter is not found")
- message(STATUS "To install it type in the command line:")
- message(STATUS "sudo apt-get install python")
- message(FATAL_ERROR "Exiting!")
-endif(NOT PYTHONINTERP_FOUND)
-
-if (HMI STREQUAL "qt")
- cmake_minimum_required(VERSION 2.8.11)
- if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- set(qt_version "4.8.5")
- else ()
- set(qt_version "5.1.0")
- endif ()
-
- execute_process(
- COMMAND ${CMAKE_SOURCE_DIR}/FindQt.sh -v ${qt_version}
- OUTPUT_VARIABLE qt_bin_dir
- )
- message(STATUS "Binary directory Qt ${qt_version} is ${qt_bin_dir}")
- set(ENV{PATH} ${qt_bin_dir}:$ENV{PATH})
-
- if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- find_package(Qt4 ${qt_version} REQUIRED QtCore QtGui QtDBus QtDeclarative)
- else ()
- find_package(Qt5Core REQUIRED)
- find_package(Qt5DBus REQUIRED)
- find_package(Qt5Qml REQUIRED)
- find_package(Qt5Quick REQUIRED)
- set(qmlplugindump_binary ${qt_bin_dir}/qmlplugindump)
- endif ()
+ add_definitions(-DEXTENDED_MEDIA_MODE)
+ message(STATUS "Extended media mode enabled")
+ # required to find 'glibconfig.h'
+ find_package(PkgConfig)
+ pkg_check_modules(GLIB2 REQUIRED glib-2.0)
+ add_definitions(${GLIB2_CFLAGS})
endif()
-set(INTEFRACE_GENERATOR "${PROJECT_SOURCE_DIR}/tools/InterfaceGenerator/Generator.py")
-set(INTEFRACE_GENERATOR_CMD ${PYTHON_EXECUTABLE} -B ${INTEFRACE_GENERATOR})
-file(GLOB_RECURSE INTERFACE_GENERATOR_DEPENDENCIES "${PROJECT_SOURCE_DIR}/tools/InterfaceGenerator/*.*")
-
-macro (GenerateInterface arg_xml_name arg_namespace parser_type)
- string(REGEX MATCH "^[a-zA-Z_0-9]*[^.]" file_name ${arg_xml_name}) # TODO: make expression more robust
-
- set(hpp_file
- "${CMAKE_CURRENT_BINARY_DIR}/${file_name}.h"
- "${CMAKE_CURRENT_BINARY_DIR}/${file_name}_schema.h"
- )
-
- set(cpp_file "${CMAKE_CURRENT_BINARY_DIR}/${file_name}_schema.cc")
- set(full_xml_name "${CMAKE_CURRENT_SOURCE_DIR}/${arg_xml_name}")
-
- add_custom_command( OUTPUT ${hpp_file} ${cpp_file}
- COMMAND ${INTEFRACE_GENERATOR_CMD} ${full_xml_name} ${arg_namespace} ${CMAKE_CURRENT_BINARY_DIR} "--parser-type" "${parser_type}"
- DEPENDS ${INTERFACE_GENERATOR_DEPENDENCIES} ${full_xml_name}
- COMMENT "Generating files:\n ${hpp_file}\n ${cpp_file}\nfrom:\n ${arg_xml_name} ..."
- VERBATIM
- )
-
- include_directories (
- ${COMPONENTS_DIR}/smart_objects/include
- ${COMPONENTS_DIR}/formatters/include/
- ${CMAKE_BINARY_DIR}
- )
-
- add_library("${file_name}" ${cpp_file})
-endmacro(GenerateInterface)
-
-# --- Useful macro
-macro(create_test NAME SOURCES LIBS)
- add_executable("${NAME}" ${CMAKE_SOURCE_DIR}/src/components/test_main.cc ${SOURCES})
- target_link_libraries("${NAME}" ${LIBS})
- target_link_libraries("${NAME}" Utils)
+if(HMI STREQUAL "qt")
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
- add_test(${NAME} ${CMAKE_SOURCE_DIR}/qnx/remote_run_test.sh ${NAME})
- elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- add_test(NAME ${NAME}
- COMMAND ${NAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/test_results/)
+ set(qt_version "4.8.5")
else()
- add_test(${NAME} ${NAME})
+ set(qt_version "5.1.0")
endif()
-endmacro(create_test)
-# --replace in list macro
-macro(LIST_REPLACE LIST INDEX NEWVALUE)
- list(INSERT ${LIST} ${INDEX} ${NEWVALUE})
- MATH(EXPR __INDEX "${INDEX} + 1")
- list (REMOVE_AT ${LIST} ${__INDEX})
-endmacro(LIST_REPLACE)
+ execute_process(
+ COMMAND ${CMAKE_SOURCE_DIR}/FindQt.sh -v ${qt_version}
+ OUTPUT_VARIABLE qt_bin_dir
+ )
+ message(STATUS "Binary directory Qt ${qt_version} is ${qt_bin_dir}")
+ set(ENV{PATH} ${qt_bin_dir}:$ENV{PATH})
+ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
+ find_package(Qt4 ${qt_version} REQUIRED QtCore QtGui QtDBus QtDeclarative)
+ else ()
+ find_package(Qt5Core REQUIRED)
+ find_package(Qt5DBus REQUIRED)
+ find_package(Qt5Qml REQUIRED)
+ find_package(Qt5Quick REQUIRED)
+ set(qmlplugindump_binary ${qt_bin_dir}/qmlplugindump)
+ endif()
+endif()
# Building application
@@ -417,243 +355,9 @@ endif()
include_directories(
${COMPONENTS_DIR}/include
${COMPONENTS_DIR}/protocol/include
-if (BUILD_TESTS)
- ${COMPONENTS_DIR}/include/test
endif ()
)
-# --- 3rd party libs
-INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/src/3rd_party/set_3rd_party_paths.cmake)
-
-set(3RD_PARTY_SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/3rd_party)
-set(3RD_PARTY_BINARY_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/3rd_party)
-
-set (install-3rd_party_logger_var "")
-set (install-3rd_party_dbus_var "")
-
-if(NO_REBUILD_3RD_PARTY)
- set(NO_REBUILD_3RD_PARTY_LOGGER ON)
- set(NO_REBUILD_3RD_PARTY_DBUS ON)
-endif()
-
-if(FORCE_3RD_PARTY)
- if(NO_REBUILD_3RD_PARTY)
- message(FATAL_ERROR "Please don't turn on both FORCE_3RD_PARTY and NO_REBUILD_3RD_PARTY at the same time.")
- else()
- set(FORCE_3RD_PARTY_LOGGER ON)
- set(FORCE_3RD_PARTY_DBUS ON)
- endif()
-endif()
-
-if(ENABLE_LOG)
- if(NO_REBUILD_3RD_PARTY_LOGGER)
- message(STATUS "Not rebuilding logger.")
- else()
- if(FORCE_3RD_PARTY_LOGGER)
- message(STATUS "Force to rebuild logger.")
-
- #build logger
- add_custom_target(3rd_party_logger
- make
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
-
- #install logger
- #install either to default place with sudo or non-default plase without sudo.
- #to install with sudo to non-default place use manual installation
- add_custom_target(install-3rd_party_logger
- COMMAND /bin/bash -c \"USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
- if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
- sudo -k \;
- sudo make install\;
- else
- make install\;
- fi\"
- DEPENDS 3rd_party_logger
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
- else()
- #build logger
- add_custom_target(3rd_party_logger
- COMMAND /bin/bash -c \"cd ${CMAKE_CURRENT_SOURCE_DIR} &&
- grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]\; then
- VAR1=\\$$\( readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 2>/dev/null\)\;
- VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
- VAR2=-1\;
- cd ${CMAKE_CURRENT_SOURCE_DIR}\;
- git log . 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]; then
- VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0\)\;
- fi\;
- if [ \\$$VAR1 != \\$$VAR2 ]\; then
- echo " Need to rebuild logger. " \;
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make\;
- else
- echo " Logger is actual. " \;
- fi\;
- else
- echo " Need to build logger. " \;
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make\;
- fi\"
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
-
- #install logger
- #install either to default place with sudo or non-default plase without sudo.
- #to install with sudo to non-default place use manual installation
- add_custom_target(install-3rd_party_logger
- COMMAND /bin/bash -c \"cd ${CMAKE_CURRENT_SOURCE_DIR} &&
- grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]\; then
- VAR1=\\$$\( readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 2>/dev/null\)\;
- VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
- VAR2=-1\;
- cd ${CMAKE_CURRENT_SOURCE_DIR}\;
- git log . 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]; then
- VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0\)\;
- fi\;
- if [ \\$$VAR1 != \\$$VAR2 ]\; then
- USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
- if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- sudo -k \;
- sudo make install\;
- else
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make install\;
- fi\;
- fi\;
- else
- USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
- if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- sudo -k \;
- sudo make install\;
- else
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make install\;
- fi\;
- fi\"
- DEPENDS 3rd_party_logger
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
- endif()
-
- set (install-3rd_party_logger_var "install-3rd_party_logger")
- endif()
-endif()
-
-if (HMIADAPTER STREQUAL "dbus")
- if(NO_REBUILD_3RD_PARTY_DBUS)
- message(STATUS "Not rebuilding D-Bus.")
- else()
- if(FORCE_3RD_PARTY_DBUS)
- message(STATUS "Force to rebuild D-Bus.")
-
- #build d-bus
- add_custom_target(3rd_party_dbus
- make
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
-
- #install d-bus
- #install either to default place with sudo or non-default plase without sudo.
- #to install with sudo to non-default place use manual installation
- add_custom_target(install-3rd_party_dbus
- COMMAND /bin/bash -c \"USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
- if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
- sudo -k \;
- sudo make install\;
- else
- make install\;
- fi\"
- DEPENDS 3rd_party_dbus
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
- else()
- #build d-bus
- add_custom_target(3rd_party_dbus
- COMMAND /bin/bash -c \"grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]\; then
- VAR1=\\$$\(readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 2>/dev/null\)\;
- VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
- VAR2=-1\;
- cd ${CMAKE_CURRENT_SOURCE_DIR}\;
- git log . 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]; then
- VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8\)\;
- fi\;
- if [ \\$$VAR1 != \\$$VAR2 ]\; then
- echo " Need to rebuild D-Bus. " \;
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make\;
- else
- echo " D-Bus is actual. " \;
- fi\;
- else
- echo " Need to build D-Bus. " \;
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make\;
- fi\"
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
-
- #install d-bus
- #install either to default place with sudo or non-default plase without sudo.
- #to install with sudo to non-default place use manual installation
- add_custom_target(install-3rd_party_dbus
- COMMAND /bin/bash -c \"grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]\; then
- VAR1=\\$$\(readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 2>/dev/null\)\;
- VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
- VAR2=-1\;
- cd ${CMAKE_CURRENT_SOURCE_DIR}\;
- git log . 1>/dev/null 2>&1\;
- if [ \\$$? == 0 ]; then
- VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8\)\;
- fi\;
- if [ \\$$VAR1 != \\$$VAR2 ]\; then
- USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
- if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- sudo -k \;
- sudo make install\;
- else
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make install\;
- fi\;
- fi\;
- else
- USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
- if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- sudo -k \;
- sudo make install\;
- else
- cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make install\;
- fi\;
- fi\"
- DEPENDS 3rd_party_dbus
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
- endif()
-
- set (install-3rd_party_dbus_var "install-3rd_party_dbus")
- endif()
-endif()
-
-add_subdirectory(${3RD_PARTY_SOURCE_DIRECTORY} ${3RD_PARTY_BINARY_DIRECTORY} EXCLUDE_FROM_ALL)
-add_custom_target(install-3rd_party
- DEPENDS ${install-3rd_party_logger_var}
- DEPENDS ${install-3rd_party_dbus_var}
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
-)
-
find_package(OpenSSL REQUIRED)
if(ENABLE_LOG)
include_directories ( ${LOG4CXX_INCLUDE_DIRECTORY} )
@@ -664,34 +368,38 @@ if(ENABLE_SECURITY)
set(SecurityManagerLibrary SecurityManager)
set(SecurityManagerIncludeDir ${COMPONENTS_DIR}/security_manager/include)
#set(SecurityManagerTestIncludeDir ${CMAKE_SOURCE_DIR}/test/components/security_manager/include)
+ message(STATUS "Security enabled")
endif()
if(ENABLE_HMI_PTU_DECRYPTION)
- MESSAGE("USE DHMI_PTU_PARSER")
add_definitions(-DUSE_HMI_PTU_DECRYPTION)
+ message(STATUS "HMI PTU decription enabled")
endif()
set(RTLIB rt)
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
-set(RTLIB )
+ set(RTLIB )
endif()
# Building tests
if(BUILD_TESTS)
enable_testing()
add_definitions(-DBUILD_TESTS)
- # Framework GoogleTest is also integrated together gmock
- # and must not be added separately
- add_subdirectory(./src/3rd_party-static/gmock-1.7.0)
+ include_directories(
+ ${COMPONENTS_DIR}/include/test
+ )
+ message(STATUS "Tests enabled")
endif()
+# --- 3rd party libs
+add_subdirectory(./src/3rd_party EXCLUDE_FROM_ALL)
+
# --- 3rd party libs (static)
add_subdirectory(./src/3rd_party-static)
# --- Tools
add_subdirectory(./tools)
-
# --- Components
add_subdirectory(./src/components)
@@ -701,35 +409,31 @@ add_subdirectory(./src/appMain)
# --- Plugins
add_subdirectory(./src/plugins)
-
-# Building tests
-if(BUILD_TESTS)
- # Directory test is deprecated. Use src/components/<name>/test
- include(Dart)
- #add_subdirectory(./test)
-endif()
+add_dependencies(${PROJECT} Policy)
+add_dependencies(${PROJECT} copy_policy_library)
# Building documentation
# At first creating directory for generated documentation. Unfortunately doxygen
# cannot generate it byself
-FIND_PACKAGE(Doxygen)
- IF(DOXYGEN_FOUND)
+find_package(Doxygen)
+ if(DOXYGEN_FOUND)
option(DOXYGEN_ENABLE_DIAGRAMS "Enable graphical diagram generation" ON)
+ message(STATUS "Doxygen found. Documentation will be generated")
if(DOXYGEN_ENABLE_DIAGRAMS)
set(DOXYGEN_ENABLE_DIAGRAMS_PARAM "YES")
- else(DOXYGEN_ENABLE_DIAGRAMS)
+ else()
set(DOXYGEN_ENABLE_DIAGRAMS_PARAM "NO")
endif()
configure_file("${PROJECT_SOURCE_DIR}/Doxyfile" "${PROJECT_BINARY_DIR}/Doxyfile")
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/doc/doxygen")
- ADD_CUSTOM_TARGET(doxygen COMMAND ${DOXYGEN_EXECUTABLE} "${PROJECT_BINARY_DIR}/Doxyfile")
- ELSE(DOXYGEN_FOUND)
- MESSAGE(STATUS "Doxygen not found. Documentation will not be generated")
- MESSAGE(STATUS "To enable documentation generation please install doxygen and graphviz packages")
- MESSAGE(STATUS "sudo apt-get install doxygen graphviz")
- MESSAGE(STATUS "To enable processing of MscGen comments please install mscgen")
- MESSAGE(STATUS "sudo apt-get install mscgen")
-ENDIF(DOXYGEN_FOUND)
+ add_custom_target(doxygen COMMAND ${DOXYGEN_EXECUTABLE} "${PROJECT_BINARY_DIR}/Doxyfile")
+ else()
+ message(STATUS "Doxygen not found. Documentation will not be generated")
+ message(STATUS "To enable documentation generation please install doxygen and graphviz packages")
+ message(STATUS "sudo apt-get install doxygen graphviz")
+ message(STATUS "To enable processing of MscGen comments please install mscgen")
+ message(STATUS "sudo apt-get install mscgen")
+endif()
diff --git a/src/3rd_party-static/CMakeLists.txt b/src/3rd_party-static/CMakeLists.txt
index 8dfcf6595a..2acd7be27c 100644
--- a/src/3rd_party-static/CMakeLists.txt
+++ b/src/3rd_party-static/CMakeLists.txt
@@ -32,8 +32,8 @@
add_subdirectory(./jsoncpp)
set(JSONCPP_INCLUDE_DIRECTORY ${JSONCPP_INCLUDE_DIRECTORY} PARENT_SCOPE)
-# --- MessageBroker
-add_subdirectory(./MessageBroker)
+# --- Message Broker
+add_subdirectory(./message_broker)
set(MESSAGE_BROKER_INCLUDE_DIRECTORY ${MESSAGE_BROKER_INCLUDE_DIRECTORY} PARENT_SCOPE)
# --- encryption
@@ -48,6 +48,9 @@ if (BUILD_USB_SUPPORT)
endif()
endif()
+# --- gmock
if(BUILD_TESTS)
+ add_subdirectory(./gmock-1.7.0)
+ set(GMOCK_INCLUDE_DIRECTORY ${GMOCK_INCLUDE_DIRECTORY} PARENT_SCOPE)
add_subdirectory(test)
endif()
diff --git a/src/3rd_party-static/MessageBroker/CMakeLists.txt b/src/3rd_party-static/MessageBroker/CMakeLists.txt
deleted file mode 100644
index 87a0fe2a2a..0000000000
--- a/src/3rd_party-static/MessageBroker/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-set(MESSAGE_BROKER_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include)
-set(MESSAGE_BROKER_INCLUDE_DIRECTORY ${MESSAGE_BROKER_INCLUDE_DIRECTORY} PARENT_SCOPE)
-
-include_directories (
- ./include/
- ../jsoncpp/include
- ../../components/utils/include
-
-)
-
-set (MESSAGE_BROKER_SOURCES
- ./src/lib_messagebroker/CMessageBroker.cpp
- ./src/lib_messagebroker/CMessageBrokerRegistry.cpp
- ./src/lib_messagebroker/md5.cpp
- ./src/lib_messagebroker/system.cpp
- ./src/lib_messagebroker/websocket_handler.cpp
-)
-
-set (MESSAGE_BROKER_CLIENT_SOURCES
- ./src/client/mb_client.cpp
- ./src/client/mb_tcpclient.cpp
- ./src/client/mb_controller.cpp
-)
-
-set (MESSAGE_BROKER_SERVER_SOURCES
- ./src/server/mb_server.cpp
- ./src/server/mb_tcpserver.cpp
- ./src/server/networking.cpp
-)
-
-add_library("MessageBroker" ${MESSAGE_BROKER_SOURCES})
-target_link_libraries(MessageBroker Utils)
-
-
-add_library("MessageBrokerClient" ${MESSAGE_BROKER_CLIENT_SOURCES})
-target_link_libraries("MessageBrokerClient" "MessageBroker")
-
-add_library("MessageBrokerServer" ${MESSAGE_BROKER_SERVER_SOURCES})
-target_link_libraries("MessageBrokerServer" "MessageBroker")
diff --git a/src/3rd_party-static/encryption/CMakeLists.txt b/src/3rd_party-static/encryption/CMakeLists.txt
index 3802c83cb5..5096f59c22 100644
--- a/src/3rd_party-static/encryption/CMakeLists.txt
+++ b/src/3rd_party-static/encryption/CMakeLists.txt
@@ -1,14 +1,43 @@
+# Copyright (c) 2015, Ford Motor Company
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided with the
+# distribution.
+#
+# Neither the name of the Ford Motor Company nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# 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/sources.cmake)
+
set(ENCRYPTION_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(ENCRYPTION_INCLUDE_DIRECTORY ${ENCRYPTION_INCLUDE_DIRECTORY} PARENT_SCOPE)
include_directories (
- ./include
+ ${ENCRYPTION_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ./src/Base64.cpp
- ./src/hashing.cc
-)
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
set (LIBRARIES crypto)
diff --git a/src/3rd_party-static/jsoncpp/CMakeLists.txt b/src/3rd_party-static/jsoncpp/CMakeLists.txt
index 04a4bd960c..ac273cfe7b 100644
--- a/src/3rd_party-static/jsoncpp/CMakeLists.txt
+++ b/src/3rd_party-static/jsoncpp/CMakeLists.txt
@@ -1,14 +1,42 @@
+# Copyright (c) 2016, Ford Motor Company
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided with the
+# distribution.
+#
+# Neither the name of the Ford Motor Company nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# 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/sources.cmake)
+
set(JSONCPP_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(JSONCPP_INCLUDE_DIRECTORY ${JSONCPP_INCLUDE_DIRECTORY} PARENT_SCOPE)
-include_directories (
- ./include/
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
)
-set (SOURCES
- ./src/lib_json/json_value.cpp
- ./src/lib_json/json_writer.cpp
- ./src/lib_json/json_reader.cpp
-)
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/lib_json")
-add_library("jsoncpp" ${SOURCES})
+add_library(jsoncpp ${SOURCES})
diff --git a/cmake/Modules/sources.cmake b/src/3rd_party-static/message_broker/CMakeLists.txt
index 1414a33809..348d050887 100644
--- a/cmake/Modules/sources.cmake
+++ b/src/3rd_party-static/message_broker/CMakeLists.txt
@@ -28,24 +28,51 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-function(create_cotired_test NAME SOURCES LIBS)
- add_executable(
- ${NAME}
- EXCLUDE_FROM_ALL
- ${CMAKE_SOURCE_DIR}/src/components/test_main.cc
- ${SOURCES}
- )
- if(${USE_COTIRE})
- include(cotire)
- cotire(${NAME})
- set(NAME "${NAME}_unity")
- endif()
- target_link_libraries(${NAME} ${LIBS})
- set_target_properties(
- ${NAME}
- PROPERTIES
- EXCLUDE_FROM_ALL 0
- )
- add_test(NAME ${NAME}
- COMMAND ${NAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/test_results/)
-endfunction()
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
+
+set(MESSAGE_BROKER_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include)
+set(MESSAGE_BROKER_INCLUDE_DIRECTORY ${MESSAGE_BROKER_INCLUDE_DIRECTORY} PARENT_SCOPE)
+
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${JSONCPP_INCLUDE_DIRECTORY}
+)
+
+set(CLIENT_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/client
+)
+collect_sources(CLIENT_SOURCES "${CLIENT_PATHS}")
+
+set(SERVER_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/server
+)
+collect_sources(SERVER_SOURCES "${SERVER_PATHS}")
+
+set(EXCLUDE_PATHS
+ ${CLIENT_PATHS}
+ ${SERVER_PATHS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/example
+)
+
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+
+set(LIBRARIES
+ Utils
+)
+
+add_library(message_broker ${SOURCES})
+target_link_libraries(message_broker ${LIBRARIES})
+
+list(APPEND LIBRARIES
+ message_broker
+)
+
+add_library(message_broker_client ${CLIENT_SOURCES})
+target_link_libraries(message_broker_client ${LIBRARIES})
+
+add_library(message_broker_server ${SERVER_SOURCES})
+target_link_libraries(message_broker_server ${LIBRARIES})
diff --git a/src/3rd_party-static/MessageBroker/include/CMessageBroker.hpp b/src/3rd_party-static/message_broker/include/CMessageBroker.hpp
index c542043796..c542043796 100644
--- a/src/3rd_party-static/MessageBroker/include/CMessageBroker.hpp
+++ b/src/3rd_party-static/message_broker/include/CMessageBroker.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/CMessageBrokerRegistry.hpp b/src/3rd_party-static/message_broker/include/CMessageBrokerRegistry.hpp
index 001f978bbf..001f978bbf 100644
--- a/src/3rd_party-static/MessageBroker/include/CMessageBrokerRegistry.hpp
+++ b/src/3rd_party-static/message_broker/include/CMessageBrokerRegistry.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/CSender.hpp b/src/3rd_party-static/message_broker/include/CSender.hpp
index 78faf7dad2..78faf7dad2 100644
--- a/src/3rd_party-static/MessageBroker/include/CSender.hpp
+++ b/src/3rd_party-static/message_broker/include/CSender.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/MBDebugHelper.h b/src/3rd_party-static/message_broker/include/MBDebugHelper.h
index fa835da3f0..fa835da3f0 100644
--- a/src/3rd_party-static/MessageBroker/include/MBDebugHelper.h
+++ b/src/3rd_party-static/message_broker/include/MBDebugHelper.h
diff --git a/src/3rd_party-static/MessageBroker/include/mb_client.hpp b/src/3rd_party-static/message_broker/include/mb_client.hpp
index cd70a31cd8..cd70a31cd8 100644
--- a/src/3rd_party-static/MessageBroker/include/mb_client.hpp
+++ b/src/3rd_party-static/message_broker/include/mb_client.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/mb_controller.hpp b/src/3rd_party-static/message_broker/include/mb_controller.hpp
index 2d196aced2..2d196aced2 100644
--- a/src/3rd_party-static/MessageBroker/include/mb_controller.hpp
+++ b/src/3rd_party-static/message_broker/include/mb_controller.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/mb_server.hpp b/src/3rd_party-static/message_broker/include/mb_server.hpp
index 684a89055a..684a89055a 100644
--- a/src/3rd_party-static/MessageBroker/include/mb_server.hpp
+++ b/src/3rd_party-static/message_broker/include/mb_server.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/mb_tcpclient.hpp b/src/3rd_party-static/message_broker/include/mb_tcpclient.hpp
index 07697dbde7..07697dbde7 100644
--- a/src/3rd_party-static/MessageBroker/include/mb_tcpclient.hpp
+++ b/src/3rd_party-static/message_broker/include/mb_tcpclient.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/mb_tcpserver.hpp b/src/3rd_party-static/message_broker/include/mb_tcpserver.hpp
index 8ab2ce6a6d..8ab2ce6a6d 100644
--- a/src/3rd_party-static/MessageBroker/include/mb_tcpserver.hpp
+++ b/src/3rd_party-static/message_broker/include/mb_tcpserver.hpp
diff --git a/src/3rd_party-static/MessageBroker/include/networking.h b/src/3rd_party-static/message_broker/include/networking.h
index a08853bb31..a08853bb31 100644
--- a/src/3rd_party-static/MessageBroker/include/networking.h
+++ b/src/3rd_party-static/message_broker/include/networking.h
diff --git a/src/3rd_party-static/MessageBroker/include/system.h b/src/3rd_party-static/message_broker/include/system.h
index fac4f7926b..fac4f7926b 100644
--- a/src/3rd_party-static/MessageBroker/include/system.h
+++ b/src/3rd_party-static/message_broker/include/system.h
diff --git a/src/3rd_party-static/MessageBroker/include/websocket_handler.hpp b/src/3rd_party-static/message_broker/include/websocket_handler.hpp
index 8bed007436..8bed007436 100644
--- a/src/3rd_party-static/MessageBroker/include/websocket_handler.hpp
+++ b/src/3rd_party-static/message_broker/include/websocket_handler.hpp
diff --git a/src/3rd_party-static/MessageBroker/src/client/mb_client.cpp b/src/3rd_party-static/message_broker/src/client/mb_client.cpp
index 6342c776a8..6342c776a8 100644
--- a/src/3rd_party-static/MessageBroker/src/client/mb_client.cpp
+++ b/src/3rd_party-static/message_broker/src/client/mb_client.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/client/mb_controller.cpp b/src/3rd_party-static/message_broker/src/client/mb_controller.cpp
index 8a4a77cf30..8a4a77cf30 100644
--- a/src/3rd_party-static/MessageBroker/src/client/mb_controller.cpp
+++ b/src/3rd_party-static/message_broker/src/client/mb_controller.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/client/mb_tcpclient.cpp b/src/3rd_party-static/message_broker/src/client/mb_tcpclient.cpp
index 02db417c26..02db417c26 100644
--- a/src/3rd_party-static/MessageBroker/src/client/mb_tcpclient.cpp
+++ b/src/3rd_party-static/message_broker/src/client/mb_tcpclient.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerAVA.cpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.cpp
index 77ab1ca2c1..77ab1ca2c1 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerAVA.cpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerAVA.hpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.hpp
index 47e684a7e4..47e684a7e4 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerAVA.hpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.hpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerBackend.cpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerBackend.cpp
index cbbe39492b..cbbe39492b 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerBackend.cpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerBackend.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerBackend.hpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerBackend.hpp
index b79411dc98..b79411dc98 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerBackend.hpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerBackend.hpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerPhone.cpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerPhone.cpp
index 6f308e71c2..6f308e71c2 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerPhone.cpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerPhone.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerPhone.hpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerPhone.hpp
index e6f4898226..e6f4898226 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerControllerPhone.hpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerPhone.hpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerServer.cpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerServer.cpp
index 405b3fcbd5..405b3fcbd5 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerServer.cpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerServer.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerServer.hpp b/src/3rd_party-static/message_broker/src/example/MessageBrokerServer.hpp
index 884ed0309f..884ed0309f 100644
--- a/src/3rd_party-static/MessageBroker/src/example/MessageBrokerServer.hpp
+++ b/src/3rd_party-static/message_broker/src/example/MessageBrokerServer.hpp
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBroker.cpp b/src/3rd_party-static/message_broker/src/lib_messagebroker/CMessageBroker.cpp
index 3b14489a8c..3b14489a8c 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBroker.cpp
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/CMessageBroker.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp b/src/3rd_party-static/message_broker/src/lib_messagebroker/CMessageBrokerRegistry.cpp
index fb24d08f1c..fb24d08f1c 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/CMessageBrokerRegistry.cpp
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/CMessageBrokerRegistry.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/libMBDebugHelper.h b/src/3rd_party-static/message_broker/src/lib_messagebroker/libMBDebugHelper.h
index 0d5260cdda..0d5260cdda 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/libMBDebugHelper.h
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/libMBDebugHelper.h
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/md5.cpp b/src/3rd_party-static/message_broker/src/lib_messagebroker/md5.cpp
index b3e347d9d7..b3e347d9d7 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/md5.cpp
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/md5.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/md5.h b/src/3rd_party-static/message_broker/src/lib_messagebroker/md5.h
index 2c54c03b1b..2c54c03b1b 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/md5.h
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/md5.h
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/system.cpp b/src/3rd_party-static/message_broker/src/lib_messagebroker/system.cpp
index 456362f9d8..456362f9d8 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/system.cpp
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/system.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/websocket_handler.cpp b/src/3rd_party-static/message_broker/src/lib_messagebroker/websocket_handler.cpp
index 7d3890b7a8..7d3890b7a8 100644
--- a/src/3rd_party-static/MessageBroker/src/lib_messagebroker/websocket_handler.cpp
+++ b/src/3rd_party-static/message_broker/src/lib_messagebroker/websocket_handler.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/server/mb_server.cpp b/src/3rd_party-static/message_broker/src/server/mb_server.cpp
index 25ec7fc9f3..25ec7fc9f3 100644
--- a/src/3rd_party-static/MessageBroker/src/server/mb_server.cpp
+++ b/src/3rd_party-static/message_broker/src/server/mb_server.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/server/mb_tcpserver.cpp b/src/3rd_party-static/message_broker/src/server/mb_tcpserver.cpp
index bdd7b2bfdf..bdd7b2bfdf 100644
--- a/src/3rd_party-static/MessageBroker/src/server/mb_tcpserver.cpp
+++ b/src/3rd_party-static/message_broker/src/server/mb_tcpserver.cpp
diff --git a/src/3rd_party-static/MessageBroker/src/server/networking.cpp b/src/3rd_party-static/message_broker/src/server/networking.cpp
index f054431690..f054431690 100644
--- a/src/3rd_party-static/MessageBroker/src/server/networking.cpp
+++ b/src/3rd_party-static/message_broker/src/server/networking.cpp
diff --git a/src/3rd_party-static/test/CMakeLists.txt b/src/3rd_party-static/test/CMakeLists.txt
index 33bcd82694..a38a392a01 100644
--- a/src/3rd_party-static/test/CMakeLists.txt
+++ b/src/3rd_party-static/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,21 +28,16 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
-include_directories (
+include_directories(
${GMOCK_INCLUDE_DIRECTORY}
${JSONCPP_INCLUDE_DIRECTORY}
)
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
+
set(LIBRARIES
gmock
jsoncpp
)
-set (SOURCES
- json_reader_test.cc
-)
-
-add_library("test_JSONCPPTest" ${SOURCES})
-create_test("test_JSONCPP" "${SOURCES}" "${LIBRARIES}")
-endif() \ No newline at end of file
+create_test(jsoncpp_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/3rd_party/CMakeLists.txt b/src/3rd_party/CMakeLists.txt
index c7965992f4..0886186624 100644
--- a/src/3rd_party/CMakeLists.txt
+++ b/src/3rd_party/CMakeLists.txt
@@ -28,7 +28,10 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-INCLUDE("./set_3rd_party_paths.cmake")
+include("./set_3rd_party_paths.cmake")
+
+set(3RD_PARTY_SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+set(3RD_PARTY_BINARY_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(ENABLE_LOG OR HMI_DBUS_API)
# --- libexpat
@@ -37,14 +40,110 @@ if(ENABLE_LOG OR HMI_DBUS_API)
endif()
if(ENABLE_LOG)
+ if(NO_REBUILD_3RD_PARTY_LOGGER)
+ message(STATUS "Not rebuilding logger.")
+ else()
+ if(FORCE_3RD_PARTY_LOGGER)
+ message(STATUS "Force to rebuild logger.")
+
+ #build logger
+ add_custom_target(3rd_party_logger
+ make
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+
+ #install logger
+ #install either to default place with sudo or non-default plase without sudo.
+ #to install with sudo to non-default place use manual installation
+ add_custom_target(install-3rd_party_logger
+ COMMAND /bin/bash -c \"USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
+ if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
+ sudo -k \;
+ sudo make install\;
+ else
+ make install\;
+ fi\"
+ DEPENDS 3rd_party_logger
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+ else()
+ #build logger
+ add_custom_target(3rd_party_logger
+ COMMAND /bin/bash -c \"cd ${CMAKE_CURRENT_SOURCE_DIR} &&
+ grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]\; then
+ VAR1=\\$$\( readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 2>/dev/null\)\;
+ VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
+ VAR2=-1\;
+ cd ${CMAKE_CURRENT_SOURCE_DIR}\;
+ git log . 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]; then
+ VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0\)\;
+ fi\;
+ if [ \\$$VAR1 != \\$$VAR2 ]\; then
+ echo " Need to rebuild logger. " \;
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make\;
+ else
+ echo " Logger is actual. " \;
+ fi\;
+ else
+ echo " Need to build logger. " \;
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make\;
+ fi\"
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+
+ #install logger
+ #install either to default place with sudo or non-default plase without sudo.
+ #to install with sudo to non-default place use manual installation
+ add_custom_target(install-3rd_party_logger
+ COMMAND /bin/bash -c \"cd ${CMAKE_CURRENT_SOURCE_DIR} &&
+ grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]\; then
+ VAR1=\\$$\( readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 2>/dev/null\)\;
+ VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
+ VAR2=-1\;
+ cd ${CMAKE_CURRENT_SOURCE_DIR}\;
+ git log . 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]; then
+ VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0\)\;
+ fi\;
+ if [ \\$$VAR1 != \\$$VAR2 ]\; then
+ USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
+ if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ sudo -k \;
+ sudo make install\;
+ else
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make install\;
+ fi\;
+ fi\;
+ else
+ USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
+ if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ sudo -k \;
+ sudo make install\;
+ else
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make install\;
+ fi\;
+ fi\"
+ DEPENDS 3rd_party_logger
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+ endif()
+ endif()
+
set(APR_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE)
set(APR_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include PARENT_SCOPE)
set(APR_UTIL_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE)
set(LOG4CXX_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include PARENT_SCOPE)
set(LOG4CXX_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE)
-endif()
-if(ENABLE_LOG)
# --- libapr-1
add_subdirectory(apr-cmake)
@@ -57,14 +156,108 @@ endif()
# --- D-Bus
if(HMI_DBUS_API)
+ if(NO_REBUILD_3RD_PARTY_DBUS)
+ message(STATUS "Not rebuilding D-Bus.")
+ else()
+ if(FORCE_3RD_PARTY_DBUS)
+ message(STATUS "Force to rebuild D-Bus.")
+
+ #build d-bus
+ add_custom_target(3rd_party_dbus
+ make
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+
+ #install d-bus
+ #install either to default place with sudo or non-default plase without sudo.
+ #to install with sudo to non-default place use manual installation
+ add_custom_target(install-3rd_party_dbus
+ COMMAND /bin/bash -c \"USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
+ if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
+ sudo -k \;
+ sudo make install\;
+ else
+ make install\;
+ fi\"
+ DEPENDS 3rd_party_dbus
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+ else()
+ #build d-bus
+ add_custom_target(3rd_party_dbus
+ COMMAND /bin/bash -c \"grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]\; then
+ VAR1=\\$$\(readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 2>/dev/null\)\;
+ VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
+ VAR2=-1\;
+ cd ${CMAKE_CURRENT_SOURCE_DIR}\;
+ git log . 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]; then
+ VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8\)\;
+ fi\;
+ if [ \\$$VAR1 != \\$$VAR2 ]\; then
+ echo " Need to rebuild D-Bus. " \;
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make\;
+ else
+ echo " D-Bus is actual. " \;
+ fi\;
+ else
+ echo " Need to build D-Bus. " \;
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make\;
+ fi\"
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+
+ #install d-bus
+ #install either to default place with sudo or non-default plase without sudo.
+ #to install with sudo to non-default place use manual installation
+ add_custom_target(install-3rd_party_dbus
+ COMMAND /bin/bash -c \"grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]\; then
+ VAR1=\\$$\(readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 2>/dev/null\)\;
+ VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\;
+ VAR2=-1\;
+ cd ${CMAKE_CURRENT_SOURCE_DIR}\;
+ git log . 1>/dev/null 2>&1\;
+ if [ \\$$? == 0 ]; then
+ VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8\)\;
+ fi\;
+ if [ \\$$VAR1 != \\$$VAR2 ]\; then
+ USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
+ if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ sudo -k \;
+ sudo make install\;
+ else
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make install\;
+ fi\;
+ fi\;
+ else
+ USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\;
+ if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ sudo -k \;
+ sudo make install\;
+ else
+ cd ${3RD_PARTY_BINARY_DIRECTORY}\;
+ make install\;
+ fi\;
+ fi\"
+ DEPENDS 3rd_party_dbus
+ WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
+ )
+ endif()
+ endif()
+
+ # --- D-Bus
set(DBUS_INCLUDE_DIR ${3RD_PARTY_INSTALL_PREFIX}/include)
set(DBUS_INCLUDE_DIR_ARCH ${3RD_PARTY_INSTALL_PREFIX_ARCH}/include)
set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_INCLUDE_DIR_ARCH})
set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIRS} PARENT_SCOPE)
set(DBUS_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE)
-endif()
-if(HMI_DBUS_API)
add_subdirectory(dbus-cmake)
endif()
-
diff --git a/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt b/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt
index a3dd48d1f7..57291f88a4 100644
--- a/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt
+++ b/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt
@@ -74,7 +74,7 @@ add_custom_target(liblog4cxx ALL make
cd ${CMAKE_CURRENT_SOURCE_DIR} &&
git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null &&
echo \\"Adding .commit_hash section\\" &&
- ${objcopy} --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
+ objcopy --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
fi;
fi\"
DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
diff --git a/src/3rd_party/iap.build.tar.bz2 b/src/3rd_party/iap.build.tar.bz2
deleted file mode 100644
index 19aa8b7ae5..0000000000
--- a/src/3rd_party/iap.build.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/src/appMain/CMakeLists.txt b/src/appMain/CMakeLists.txt
index 84b2c847bd..a0f053fbd2 100644
--- a/src/appMain/CMakeLists.txt
+++ b/src/appMain/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,12 +28,43 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-IF (HMIADAPTER STREQUAL "messagebroker")
-set (BROKER_LIBRARIES
- MessageBrokerClient
- MessageBrokerServer
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
+
+find_package(SDLOpenSSL REQUIRED)
+
+include_directories(
+ ${COMPONENTS_DIR}/protocol_handler/include
+ ${COMPONENTS_DIR}/application_manager/include
+ ${COMPONENTS_DIR}/formatters/include
+ ${COMPONENTS_DIR}/transport_manager/include
+ ${COMPONENTS_DIR}/security_manager/include
+ ${COMPONENTS_DIR}/security_manager/include
+ ${COMPONENTS_DIR}/config_profile/include
+ ${COMPONENTS_DIR}/utils/include
+ ${COMPONENTS_DIR}/connection_handler/include
+ ${COMPONENTS_DIR}/hmi_message_handler/include
+ ${COMPONENTS_DIR}/request_watchdog/include
+ ${COMPONENTS_DIR}/smart_objects/include
+ ${COMPONENTS_DIR}/media_manager/include
+ ${COMPONENTS_DIR}/telemetry_monitor/include
+ ${COMPONENTS_DIR}/policy/include
+ ${COMPONENTS_DIR}/resumption/include
+ ${COMPONENTS_DIR}/dbus/include
+ ${CMAKE_BINARY_DIR}/src/components
+ ${JSONCPP_INCLUDE_DIRECTORY}
+ ${LOG4CXX_INCLUDE_DIRECTORY}
+ ${OPENSSL_INCLUDE_DIRECTORY}
+ ${MESSAGE_BROKER_INCLUDE_DIRECTORY}
)
-ENDIF ()
+
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
+
+if (HMIADAPTER STREQUAL "messagebroker")
+ set (BROKER_LIBRARIES
+ message_broker_client
+ message_broker_server
+ )
+endif()
cmake_policy(PUSH)
# make link_directories() treat paths relative to the source dir
@@ -43,18 +74,18 @@ link_directories(${LIBUSB_LIBS_DIRECTORY})
cmake_policy(POP)
if (EXTENDED_MEDIA_MODE)
-set(default_media_inc
-${GSTREAMER_gst_INCLUDE_DIR}
-${GSTREAMER_gstconfig_INCLUDE_DIR}
-)
+ set(default_media_inc
+ ${GSTREAMER_gst_INCLUDE_DIR}
+ ${GSTREAMER_gstconfig_INCLUDE_DIR}
+ )
else(EXTENDED_MEDIA_MODE)
-set(default_media_inc
-)
+ set(default_media_inc)
endif()
if (TELEMETRY_MONITOR)
- set(TELEMETRY_MONITOR_LIB
- TelemetryMonitor)
+ set(TELEMETRY_MONITOR_LIB
+ TelemetryMonitor
+ )
endif()
set(LIBRARIES
@@ -73,7 +104,7 @@ set(LIBRARIES
TransportManager
${SecurityManagerLibrary}
HMIMessageHandler
- MessageBroker
+ message_broker
${BROKER_LIBRARIES}
Utils
jsoncpp
@@ -87,12 +118,15 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif()
if (BUILD_BT_SUPPORT)
- list(APPEND LIBRARIES bluetooth)
+ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ list(APPEND LIBRARIES bluetooth)
+ endif()
endif()
+
if (BUILD_USB_SUPPORT)
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- list(APPEND LIBRARIES Libusb-1.0.16)
-endif()
+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ list(APPEND LIBRARIES Libusb-1.0.16)
+ endif()
endif()
if(ENABLE_LOG)
@@ -102,44 +136,6 @@ if(ENABLE_LOG)
list(APPEND LIBRARIES expat -L${EXPAT_LIBS_DIRECTORY})
endif()
-include_directories (
- ./
- ${COMPONENTS_DIR}/protocol_handler/include/
- ${JSONCPP_INCLUDE_DIRECTORY}
- ${COMPONENTS_DIR}/application_manager/include
- ${COMPONENTS_DIR}/formatters/include
- ${COMPONENTS_DIR}/transport_manager/include
- ${COMPONENTS_DIR}/security_manager/include
- ${SecurityManagerIncludeDir}
- ${COMPONENTS_DIR}/security_manager/include
- ${COMPONENTS_DIR}/config_profile/include
- ${COMPONENTS_DIR}/utils/include/
- ${COMPONENTS_DIR}/connection_handler/include/
- ${COMPONENTS_DIR}/hmi_message_handler/include
- ${COMPONENTS_DIR}/request_watchdog/include
- ${COMPONENTS_DIR}/smart_objects/include/
- ${COMPONENTS_DIR}/media_manager/include/
- ${COMPONENTS_DIR}/telemetry_monitor/include
- ${COMPONENTS_DIR}/policy/include/
- ${COMPONENTS_DIR}/resumption/include/
- ${MESSAGE_BROKER_INCLUDE_DIRECTORY}
- ${ENCRYPTION_INCLUDE_DIRECTORY}
- ${COMPONENTS_DIR}
- ${CMAKE_BINARY_DIR}/src/components/
- ${COMPONENTS_DIR}/dbus/include/
- ${CMAKE_SOURCE_DIR}
- ${default_media_inc}
- ${LOG4CXX_INCLUDE_DIRECTORY}
- ${CMAKE_SOURCE_DIR}/src/3rd_party/dbus-1.7.8
- ${CMAKE_SOURCE_DIR}/src/3rd_party/dbus-1.7.8/dbus/
-)
-
-set (SOURCES
- main.cc
- life_cycle.cc
- signal_handlers.cc
-)
-
if( NOT CMAKE_BUILD_TYPE )
set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build. Options are: None, Debug, Release, RelWithDebInfo, MinSizeRel." FORCE)
endif()
@@ -147,7 +143,6 @@ endif()
add_executable(${PROJECT} ${SOURCES})
target_link_libraries(${PROJECT} ${LIBRARIES})
-
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/log4cxx.properties DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/audio.8bit.wav DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/test.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/src/components/CMakeLists.txt b/src/components/CMakeLists.txt
index d31141b36c..28c8e68b54 100644
--- a/src/components/CMakeLists.txt
+++ b/src/components/CMakeLists.txt
@@ -29,68 +29,64 @@
# POSSIBILITY OF SUCH DAMAGE.
set(COMPONENTS_DIR ${CMAKE_SOURCE_DIR}/src/components)
+set(COMPONENTS_DIR ${COMPONENTS_DIR} PARENT_SCOPE)
-# --- HMI_API interfaces
+# --- HMI, MOBILE Interfaces
add_subdirectory(./interfaces)
-# --- ProtocolHandler
+# --- Protocol Handler
add_subdirectory(./protocol)
-# --- TransportManager
+# --- Transport Manager
add_subdirectory(./transport_manager)
-# --- Policies
+# --- Resumption
add_subdirectory(./resumption)
-# --- formatters
+# --- Formatters
add_subdirectory(./formatters)
-# --- ProtocolHandler
+# --- Protocol Handler
add_subdirectory(./protocol_handler)
-# --- ConnectionHandler
+# --- Connection Handler
add_subdirectory(./connection_handler)
# --- Utils
add_subdirectory(./utils)
-# --- Security manager
+# --- Security Manager
if(ENABLE_SECURITY)
add_subdirectory(./security_manager)
endif()
-#
-# --- Policy_impl
+
+# --- Policy
add_subdirectory(./policy)
-# --- Validated types
+# --- Validated Types
add_subdirectory(./rpc_base)
-# --- SmartObjects
+# --- Smart Objects
add_subdirectory(./smart_objects)
-# --- Application manager
+# --- Application Manager
add_subdirectory(./application_manager)
# --- HMI Message Handler
add_subdirectory(./hmi_message_handler)
-# --- Config
+# --- Config Profile
add_subdirectory(./config_profile)
-# --- AudioManager
+# --- Media Manager
add_subdirectory(./media_manager)
-if (TELEMETRY_MONITOR)
- add_subdirectory(./telemetry_monitor)
+# --- Telemetry Monitor
+if(TELEMETRY_MONITOR)
+ add_subdirectory(./telemetry_monitor)
endif()
-
-if (${HMI_DBUS_API})
# --- DBus
- add_subdirectory(./dbus)
-endif ()
-if (${QT_HMI})
-# --- Qt HMI
- add_subdirectory(./qt_hmi)
-endif ()
-
+if(HMI_DBUS_API)
+ add_subdirectory(./dbus)
+endif()
diff --git a/src/components/HMI/IVSU/PROPRIETARY_REQUEST~ b/src/components/HMI/IVSU/PROPRIETARY_REQUEST~
deleted file mode 100644
index e69de29bb2..0000000000
--- a/src/components/HMI/IVSU/PROPRIETARY_REQUEST~
+++ /dev/null
diff --git a/src/components/application_manager/CMakeLists.txt b/src/components/application_manager/CMakeLists.txt
index 32848b1c6d..591b2063b9 100644
--- a/src/components/application_manager/CMakeLists.txt
+++ b/src/components/application_manager/CMakeLists.txt
@@ -28,6 +28,8 @@
# 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/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
set (AM_SOURCE_DIR ${COMPONENTS_DIR}/application_manager)
set (AM_TEST_DIR ${AM_SOURCE_DIR}/test)
@@ -41,16 +43,14 @@ include_directories (
${COMPONENTS_DIR}/protocol_handler/include/
${COMPONENTS_DIR}/smart_objects/include/
${COMPONENTS_DIR}/hmi_message_handler/include
- ${COMPONENTS_DIR}/media_manager/include/
- ${COMPONENTS_DIR}/connection_handler/include/
- ${COMPONENTS_DIR}/config_profile/include/
- ${COMPONENTS_DIR}/request_watchdog/include/
- ${COMPONENTS_DIR}/resumption/include/
- ${COMPONENTS_DIR}/app_launch/include/
- ${COMPONENTS_DIR}/rpc_base/include/
- ${COMPONENTS_DIR}/interfaces
- ${CMAKE_BINARY_DIR}/src/components/
- ${COMPONENTS_DIR}/policy/include/
+ ${COMPONENTS_DIR}/media_manager/include
+ ${COMPONENTS_DIR}/connection_handler/include
+ ${COMPONENTS_DIR}/config_profile/include
+ ${COMPONENTS_DIR}/request_watchdog/include
+ ${COMPONENTS_DIR}/resumption/include
+ ${COMPONENTS_DIR}/rpc_base/include
+ ${COMPONENTS_DIR}/policy/include
+ ${CMAKE_BINARY_DIR}/src/components
${JSONCPP_INCLUDE_DIRECTORY}
${ENCRYPTION_INCLUDE_DIRECTORY}
${MESSAGE_BROKER_INCLUDE_DIRECTORY}
@@ -69,48 +69,60 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "QNX")
)
endif()
-file (GLOB SOURCES
- ${AM_SOURCE_DIR}/src/*
+set (MESSAGE_HELPER_SOURCE_DIR
+ ${AM_SOURCE_DIR}/src/message_helper
)
-set (MESSAGE_HELPER_SOURCES
- ${AM_SOURCE_DIR}/src/message_helper/message_helper.cc
+set (MESSAGE_HELPER_PATHS
+ ${MESSAGE_HELPER_SOURCE_DIR}
)
+collect_sources(MESSAGE_HELPER_SOURCES "${MESSAGE_HELPER_PATHS}")
-set (POLICIES_MANAGER
-${AM_SOURCE_DIR}/src/policies/policy_handler.cc
-${AM_SOURCE_DIR}/src/usage_statistics.cc
-${AM_SOURCE_DIR}/src/policies/policy_event_observer.cc
-${AM_SOURCE_DIR}/src/policies/delegates/app_permission_delegate.cc
-${AM_SOURCE_DIR}/src/policies/delegates/statistics_delegate.cc
+
+set (POLICIES_SOURCE_DIR
+ ${AM_SOURCE_DIR}/src/policies
)
- include_directories(
- ${COMPONENTS_DIR}/policy/src/policy/policy_table/table_struct
- )
-file (GLOB EVENT_ENGINE
- ${AM_SOURCE_DIR}/src/event_engine/*
+set (POLICIES_MANAGER_SOURCES
+ ${POLICIES_SOURCE_DIR}/policy_handler.cc
+ ${POLICIES_SOURCE_DIR}/policy_event_observer.cc
+ ${POLICIES_SOURCE_DIR}/delegates/app_permission_delegate.cc
+ ${POLICIES_SOURCE_DIR}/delegates/statistics_delegate.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/usage_statistics.cc
)
-file (GLOB RESUMPTION
- ${AM_SOURCE_DIR}/src/resumption/*
+include_directories(
+ ${COMPONENTS_DIR}/policy/src/policy/policy_table/table_struct
)
-file (GLOB APP_LAUNCH
- ${AM_SOURCE_DIR}/src/app_launch/*
+set (EVENT_ENGINE_SOURCE_DIR
+ ${AM_SOURCE_DIR}/src/event_engine
)
+set (EVENT_ENGINE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/application_manager/event_engine
+ ${EVENT_ENGINE_SOURCE_DIR}
+)
+collect_sources(EVENT_ENGINE_SOURCES "${EVENT_ENGINE_PATHS}")
+
set (COMMANDS_SOURCE_DIR
${AM_SOURCE_DIR}/src/commands
)
+collect_sources(POLICIES_SOURCES "${POLICIES_PATHS}")
-file (GLOB MOBILE_COMMANDS_SOURCES
- ${COMMANDS_SOURCE_DIR}/*
- ${COMMANDS_SOURCE_DIR}/mobile/*
+set(MOBILE_COMMANDS_EXCLUDE_PATHS
+ ${COMMANDS_SOURCE_DIR}/hmi
)
+set (MOBILE_COMMANDS_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/application_manager/commands
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/application_manager/commands/mobile
+ ${COMMANDS_SOURCE_DIR}
+ ${COMMANDS_SOURCE_DIR}/mobile
+)
+collect_sources(MOBILE_COMMANDS_SOURCES "${MOBILE_COMMANDS_PATHS}" "${MOBILE_COMMANDS_EXCLUDE_PATHS}")
- set (HMI_COMMANDS_SOURCES
+set (HMI_COMMANDS_SOURCES
${COMMANDS_SOURCE_DIR}/hmi/request_to_hmi.cc
${COMMANDS_SOURCE_DIR}/hmi/response_from_hmi.cc
${COMMANDS_SOURCE_DIR}/hmi/request_from_hmi.cc
@@ -357,7 +369,20 @@ if (${HMI_DBUS_API})
set (HMI_COMMANDS_SOURCES ${HMI_COMMANDS_SOURCES} ${HMI_COMMANDS_SOURCES_DBUS})
endif (${HMI_DBUS_API})
-SET (LIBRARIES
+set(EXCLUDE_PATHS
+ ${COMMANDS_SOURCE_DIR}
+ ${EVENT_ENGINE_SOURCE_DIR}
+ ${MESSAGE_HELPER_SOURCE_DIR}
+ ${POLICIES_SOURCE_DIR}
+)
+
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+
+set(LIBRARIES
HMI_API
MOBILE_API
v4_protocol_v1_2_no_extra
@@ -373,15 +398,14 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
list(APPEND LIBRARIES sqlite3)
endif ()
-IF(${CMAKE_SYSTEM_NAME} MATCHES "QNX")
+if (${CMAKE_SYSTEM_NAME} MATCHES "QNX")
list(REMOVE_ITEM LIBRARIES dl)
endif()
-add_library("AMEventEngine" ${EVENT_ENGINE})
+add_library("AMEventEngine" ${EVENT_ENGINE_SOURCES})
target_link_libraries("AMEventEngine" ${LIBRARIES})
-
-add_library("AMPolicyLibrary" ${POLICIES_MANAGER} )
+add_library("AMPolicyLibrary" ${POLICIES_MANAGER_SOURCES} )
target_link_libraries("AMPolicyLibrary" ${LIBRARIES} AMEventEngine)
add_library("AMHMICommandsLibrary" ${HMI_COMMANDS_SOURCES})
@@ -392,18 +416,21 @@ add_library("MessageHelper" ${MESSAGE_HELPER_SOURCES})
add_library("AMMobileCommandsLibrary" ${MOBILE_COMMANDS_SOURCES} )
target_link_libraries("AMMobileCommandsLibrary" ${LIBRARIES} AMEventEngine)
-add_library("ApplicationManager" ${SOURCES} ${RESUMPTION} ${APP_LAUNCH})
+add_library("ApplicationManager" ${SOURCES})
-target_link_libraries("ApplicationManager" ${LIBRARIES} AMHMICommandsLibrary
- AMMobileCommandsLibrary
- AMEventEngine
- AMPolicyLibrary)
+list(APPEND LIBRARIES
+ AMEventEngine
+ AMPolicyLibrary
+ AMHMICommandsLibrary
+ AMMobileCommandsLibrary
+)
if(ENABLE_LOG)
- target_link_libraries("ApplicationManager" log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
+ list(APPEND LIBRARIES log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
endif()
+target_link_libraries("ApplicationManager" ${LIBRARIES})
+
if(BUILD_TESTS)
add_subdirectory(test)
- add_subdirectory(test/message_helper)
endif()
diff --git a/src/components/application_manager/test/CMakeLists.txt b/src/components/application_manager/test/CMakeLists.txt
index ba5d684df8..49de6dbcc9 100644
--- a/src/components/application_manager/test/CMakeLists.txt
+++ b/src/components/application_manager/test/CMakeLists.txt
@@ -28,42 +28,44 @@
# 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/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
+
# TODO{ALeshin}: APPLINK-10792. Do not write tests which use
# application manager(AM) singleton while refactoring of AM is finished.
-if (BUILD_TESTS)
-
- include_directories(
- ${GMOCK_INCLUDE_DIRECTORY}
- ${CMAKE_BINARY_DIR}/src/components/
- ${COMPONENTS_DIR}/application_manager/include/
- ${COMPONENTS_DIR}/utils/include/
- ${COMPONENTS_DIR}/resumption/include/
- ${COMPONENTS_DIR}/utils/include/
- ${COMPONENTS_DIR}/policy/include/
- ${COMPONENTS_DIR}/media_manager/include/
- ${COMPONENTS_DIR}/security_manager/include/
- ${COMPONENTS_DIR}/policy/test/include/
- ${COMPONENTS_DIR}/application_manager/test/include/
- )
-
- set(testSources
- ${AM_TEST_DIR}/mobile_message_handler_test.cc
- ${AM_TEST_DIR}/mobile_message_handler_v1_test.cc
- ${AM_TEST_DIR}/request_info_test.cc
- ${AM_TEST_DIR}/resumption_sql_queries_test.cc
- ${AM_TEST_DIR}/event_engine_test.cc
- ${AM_TEST_DIR}/policy_event_observer_test.cc
- ${AM_TEST_DIR}/application_impl_test.cc
- ${AM_TEST_DIR}/hmi_capabilities_test.cc
- ${AM_TEST_DIR}/application_state_test.cc
- ${AM_TEST_DIR}/usage_statistics_test.cc
- ${AM_TEST_DIR}/policy_handler_test.cc
- ${AM_TEST_DIR}/mock_message_helper.cc
- )
- set (request_controller_SOURCES
- ${AM_TEST_DIR}/request_controller/request_controller_test.cc
- )
+include_directories(
+ ${GMOCK_INCLUDE_DIRECTORY}
+ ${CMAKE_BINARY_DIR}/src/components/
+ ${COMPONENTS_DIR}/application_manager/include/
+ ${COMPONENTS_DIR}/utils/include/
+ ${COMPONENTS_DIR}/resumption/include/
+ ${COMPONENTS_DIR}/utils/include/
+ ${COMPONENTS_DIR}/policy/include/
+ ${COMPONENTS_DIR}/media_manager/include/
+ ${COMPONENTS_DIR}/security_manager/include/
+ ${COMPONENTS_DIR}/policy/test/include/
+ ${COMPONENTS_DIR}/application_manager/test/include/
+)
+
+set(testSources
+ ${AM_TEST_DIR}/mobile_message_handler_test.cc
+ ${AM_TEST_DIR}/mobile_message_handler_v1_test.cc
+ ${AM_TEST_DIR}/request_info_test.cc
+ ${AM_TEST_DIR}/resumption_sql_queries_test.cc
+ ${AM_TEST_DIR}/event_engine_test.cc
+ ${AM_TEST_DIR}/policy_event_observer_test.cc
+ ${AM_TEST_DIR}/application_impl_test.cc
+ ${AM_TEST_DIR}/hmi_capabilities_test.cc
+ ${AM_TEST_DIR}/application_state_test.cc
+ ${AM_TEST_DIR}/usage_statistics_test.cc
+ ${AM_TEST_DIR}/policy_handler_test.cc
+ ${AM_TEST_DIR}/mock_message_helper.cc
+)
+
+set(request_controller_SOURCES
+ ${AM_TEST_DIR}/request_controller/request_controller_test.cc
+)
set(testLibraries
ApplicationManager
@@ -104,72 +106,73 @@ set(test_exec_libraries
Resumption
)
-IF(${CMAKE_SYSTEM_NAME} MATCHES "QNX")
+if (${CMAKE_SYSTEM_NAME} MATCHES "QNX")
+ list(REMOVE_ITEM test_exec_libraries dl)
+endif()
+
+set(testLibraries
+ Utils
+ ApplicationManager
+ jsoncpp
+ Policy
+ connectionHandler
+ HMI_API
+ MOBILE_API
+ v4_protocol_v1_2_no_extra
+ SmartObjects
+ formatters
+ gmock_main
+ UsageStatistics
+ dl
+ ProtocolLibrary
+ ConfigProfile
+ MediaManager
+ Resumption
+ ProtocolHandler
+ SecurityManager
+)
+
+if (${CMAKE_SYSTEM_NAME} MATCHES "QNX")
list(REMOVE_ITEM test_exec_libraries dl)
endif()
- set(testLibraries
- Utils
- ApplicationManager
- jsoncpp
- Policy
- connectionHandler
- HMI_API
- MOBILE_API
- v4_protocol_v1_2_no_extra
- SmartObjects
- formatters
- gmock_main
- UsageStatistics
- dl
- ProtocolLibrary
- ConfigProfile
- MediaManager
- Resumption
- ProtocolHandler
- SecurityManager
- )
-
- if (${CMAKE_SYSTEM_NAME} MATCHES "QNX")
- list(REMOVE_ITEM test_exec_libraries dl)
- endif()
-
- if (ENABLE_LOG)
- list(APPEND LIBRARIES log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
- list(APPEND LIBRARIES apr-1 -L${APR_LIBS_DIRECTORY})
- list(APPEND LIBRARIES aprutil-1 -L${APR_UTIL_LIBS_DIRECTORY})
- list(APPEND LIBRARIES expat -L${EXPAT_LIBS_DIRECTORY})
- endif()
-
- file(COPY smartDeviceLink_test2.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
- file(COPY sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
- file(COPY sdl_pt_update.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+if (ENABLE_LOG)
+ list(APPEND LIBRARIES log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
+ list(APPEND LIBRARIES apr-1 -L${APR_LIBS_DIRECTORY})
+ list(APPEND LIBRARIES aprutil-1 -L${APR_UTIL_LIBS_DIRECTORY})
+ list(APPEND LIBRARIES expat -L${EXPAT_LIBS_DIRECTORY})
+endif()
+
+file(COPY smartDeviceLink_test2.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY sdl_pt_update.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(
-OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libPolicy.so
- COMMAND ${CMAKE_COMMAND} -E
- copy ${COMPONENTS_DIR}/policy/libPolicy.so ${CMAKE_CURRENT_BINARY_DIR})
- set(CMAKE_EXE_LINKER_FLAGS
- "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath=${CMAKE_CURRENT_BINARY_DIR}")
- create_test("application_manager_test" "${testSources}" "${testLibraries}" )
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libPolicy.so
+ COMMAND ${CMAKE_COMMAND} -E
+ copy ${COMPONENTS_DIR}/policy/libPolicy.so ${CMAKE_CURRENT_BINARY_DIR}
+)
+set(CMAKE_EXE_LINKER_FLAGS
+ "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath=${CMAKE_CURRENT_BINARY_DIR}"
+)
+create_test("application_manager_test" "${testSources}" "${testLibraries}")
+
# TODO [AKozoriz] : Fix not buildable tests
- set(ResumptionData_SOURCES
- ${AM_TEST_DIR}/resumption/resumption_data_test.cc
- ${AM_TEST_DIR}/resumption/resumption_data_db_test.cc
- ${AM_TEST_DIR}/resumption/resumption_data_json_test.cc
- ${AM_TEST_DIR}/resumption/resume_ctrl_test.cc
- ${AM_TEST_DIR}/mock_message_helper.cc
- )
-
- file(COPY hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
- file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
- file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resumption)
- file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/resumption)
- create_test("resumption/data_resumption_test" "${ResumptionData_SOURCES}" "${testLibraries}")
-
- add_subdirectory(state_controller)
-endif()
+set(ResumptionData_SOURCES
+ ${AM_TEST_DIR}/resumption/resumption_data_test.cc
+ ${AM_TEST_DIR}/resumption/resumption_data_db_test.cc
+ ${AM_TEST_DIR}/resumption/resumption_data_json_test.cc
+ ${AM_TEST_DIR}/resumption/resume_ctrl_test.cc
+ ${AM_TEST_DIR}/mock_message_helper.cc
+)
+
+file(COPY hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+
+file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resumption)
+file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/resumption)
+create_test("resumption/data_resumption_test" "${ResumptionData_SOURCES}" "${testLibraries}")
+add_subdirectory(state_controller)
add_subdirectory(app_launch)
add_subdirectory(commands)
diff --git a/src/components/application_manager/test/commands/CMakeLists.txt b/src/components/application_manager/test/commands/CMakeLists.txt
index 068823fcfa..e5a083b5b2 100644
--- a/src/components/application_manager/test/commands/CMakeLists.txt
+++ b/src/components/application_manager/test/commands/CMakeLists.txt
@@ -28,7 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-include(sources)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
${GMOCK_INCLUDE_DIRECTORY}
diff --git a/src/components/application_manager/test/commands/mobile/alert_request_test.cc b/src/components/application_manager/test/commands/mobile/alert_request_test.cc
index e8ebcd0f60..b384cd9f11 100644
--- a/src/components/application_manager/test/commands/mobile/alert_request_test.cc
+++ b/src/components/application_manager/test/commands/mobile/alert_request_test.cc
@@ -210,4 +210,4 @@ TEST_F(AlertRequestTest, OnEvent_UI_HmiSendSuccess_UNSUPPORTED_RESOURCE) {
} // namespace mobile_commands_test
} // namespace commands_test
} // namespace components
-} // namespace tests
+} // namespace test
diff --git a/src/components/application_manager/test/commands/mobile/read_did_request_test.cc b/src/components/application_manager/test/commands/mobile/read_did_request_test.cc
index 111dbf4e27..334f559ae6 100644
--- a/src/components/application_manager/test/commands/mobile/read_did_request_test.cc
+++ b/src/components/application_manager/test/commands/mobile/read_did_request_test.cc
@@ -46,7 +46,7 @@
#include "interfaces/MOBILE_API.h"
#include "interfaces/HMI_API.h"
#include "application_manager/smart_object_keys.h"
-#include "event_engine/event.h"
+#include "application_manager/event_engine/event.h"
namespace test {
namespace components {
diff --git a/src/components/application_manager/test/message_helper/CMakeLists.txt.user b/src/components/application_manager/test/message_helper/CMakeLists.txt.user
deleted file mode 100755
index e7522c1793..0000000000
--- a/src/components/application_manager/test/message_helper/CMakeLists.txt.user
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.5.1, 2015-11-19T12:59:06. -->
-<qtcreator>
- <data>
- <variable>EnvironmentId</variable>
- <value type="QByteArray">{6965f0e8-9b58-4b26-8426-81354d6c3400}</value>
- </data>
- <data>
- <variable>ProjectExplorer.Project.ActiveTarget</variable>
- <value type="int">0</value>
- </data>
- <data>
- <variable>ProjectExplorer.Project.EditorSettings</variable>
- <valuemap type="QVariantMap">
- <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
- <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
- <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
- <value type="QString" key="language">Cpp</value>
- <valuemap type="QVariantMap" key="value">
- <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
- </valuemap>
- </valuemap>
- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
- <value type="QString" key="language">QmlJS</value>
- <valuemap type="QVariantMap" key="value">
- <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
- </valuemap>
- </valuemap>
- <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
- <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
- <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
- <value type="int" key="EditorConfiguration.IndentSize">4</value>
- <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
- <value type="int" key="EditorConfiguration.MarginColumn">80</value>
- <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
- <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
- <value type="int" key="EditorConfiguration.PaddingMode">1</value>
- <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
- <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
- <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
- <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
- <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
- <value type="int" key="EditorConfiguration.TabSize">8</value>
- <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
- <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
- <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
- <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
- <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
- <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
- </valuemap>
- </data>
- <data>
- <variable>ProjectExplorer.Project.PluginSettings</variable>
- <valuemap type="QVariantMap"/>
- </data>
- <data>
- <variable>ProjectExplorer.Project.Target.0</variable>
- <valuemap type="QVariantMap">
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.5.1 GCC 64bit</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.5.1 GCC 64bit</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.55.gcc_64_kit</value>
- <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
- <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
- <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
- <value type="bool" key="CMakeProjectManager.CMakeBuildConfiguration.UseNinja">false</value>
- <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/oherasym/sdl_panasonic/src/components/application_manager/test/message_helper-build</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
- <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
- <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
- <value type="bool" key="CMakeProjectManager.MakeStep.Clean">false</value>
- <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
- </valuemap>
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
- <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">clean</value>
- <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
- <value type="bool" key="CMakeProjectManager.MakeStep.Clean">true</value>
- <value type="QString" key="CMakeProjectManager.MakeStep.MakeCommand"></value>
- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
- <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
- <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">all</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
- <value type="int">0</value>
- <value type="int">1</value>
- <value type="int">2</value>
- <value type="int">3</value>
- <value type="int">4</value>
- <value type="int">5</value>
- <value type="int">6</value>
- <value type="int">7</value>
- <value type="int">8</value>
- <value type="int">9</value>
- <value type="int">10</value>
- <value type="int">11</value>
- <value type="int">12</value>
- <value type="int">13</value>
- <value type="int">14</value>
- </valuelist>
- <value type="int" key="PE.EnvironmentAspect.Base">2</value>
- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
- </valuemap>
- </data>
- <data>
- <variable>ProjectExplorer.Project.TargetCount</variable>
- <value type="int">1</value>
- </data>
- <data>
- <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
- <value type="int">18</value>
- </data>
- <data>
- <variable>Version</variable>
- <value type="int">18</value>
- </data>
-</qtcreator>
diff --git a/src/components/config_profile/CMakeLists.txt b/src/components/config_profile/CMakeLists.txt
index 107fd58127..2f8561fc2d 100644
--- a/src/components/config_profile/CMakeLists.txt
+++ b/src/components/config_profile/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,7 @@
# 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/sources.cmake)
include_directories (
include
@@ -35,13 +36,18 @@ include_directories (
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${COMPONENTS_DIR}/config_profile/src/profile.cc
- ${COMPONENTS_DIR}/config_profile/src/ini_file.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
+set(LIBRARIES
+ Utils
+)
+
+collect_sources(SOURCES "${PATHS}")
add_library("ConfigProfile" ${SOURCES})
-target_link_libraries("ConfigProfile" Utils)
+target_link_libraries("ConfigProfile" ${LIBRARIES})
if(BUILD_TESTS)
add_subdirectory(test)
diff --git a/src/components/config_profile/test/CMakeLists.txt b/src/components/config_profile/test/CMakeLists.txt
index 1246bff066..597be8fe00 100644
--- a/src/components/config_profile/test/CMakeLists.txt
+++ b/src/components/config_profile/test/CMakeLists.txt
@@ -28,23 +28,20 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${GMOCK_INCLUDE_DIRECTORY}
${COMPONENTS_DIR}/config_profile/include
)
-
-set(testSources
- profile_test.cc
- ini_file_test.cc
-)
-
-set(testLibraries
+set(LIBRARIES
gmock
ConfigProfile
)
+
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
+create_test(config_profile_test "${SOURCES}" "${LIBRARIES}")
file(COPY smartDeviceLink.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
@@ -52,6 +49,3 @@ file(COPY smartDeviceLink_invalid_pairs.ini DESTINATION ${CMAKE_CURRENT_BINARY_D
file(COPY smartDeviceLink_invalid_string.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY smartDeviceLink_invalid_int.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY smartDeviceLink_invalid_boolean.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-create_test("config_profile_test" "${testSources}" "${testLibraries}")
-
-endif()
diff --git a/src/components/connection_handler/CMakeLists.txt b/src/components/connection_handler/CMakeLists.txt
index dc1b2d24d6..2cdfec91f2 100644
--- a/src/components/connection_handler/CMakeLists.txt
+++ b/src/components/connection_handler/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,8 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-
-set(CH_SRC_DIR ${COMPONENTS_DIR}/connection_handler/src)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
include
@@ -39,20 +38,20 @@ include_directories (
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${CH_SRC_DIR}/connection_handler_impl.cc
- ${CH_SRC_DIR}/connection.cc
- ${CH_SRC_DIR}/device.cc
- ${CH_SRC_DIR}/heartbeat_monitor.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
set(LIBRARIES
ProtocolLibrary
+ encryption
)
+collect_sources(SOURCES "${PATHS}")
add_library(connectionHandler ${SOURCES})
-target_link_libraries(connectionHandler encryption)
+target_link_libraries(connectionHandler ${LIBRARIES})
if(BUILD_TESTS)
- add_subdirectory(test)
+ add_subdirectory(test)
endif()
diff --git a/src/components/connection_handler/test/CMakeLists.txt b/src/components/connection_handler/test/CMakeLists.txt
index 32da4bdcd8..033a45e97d 100644
--- a/src/components/connection_handler/test/CMakeLists.txt
+++ b/src/components/connection_handler/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,9 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
-
-set(appMain_DIR ${CMAKE_SOURCE_DIR}/src/appMain)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
${GMOCK_INCLUDE_DIRECTORY}
@@ -46,15 +44,7 @@ set(LIBRARIES
ProtocolHandler
)
-set(SOURCES
- connection_handler_impl_test.cc
- connection_test.cc
- device_test.cc
- heart_beat_monitor_test.cc
-)
-
-file(COPY ${appMain_DIR}/smartDeviceLink.ini DESTINATION "./")
-
-create_test("connection_handler_test" "${SOURCES}" "${LIBRARIES}")
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
+create_test(connection_handler_test "${SOURCES}" "${LIBRARIES}")
-endif()
+file(COPY ${CMAKE_SOURCE_DIR}/src/appMain/smartDeviceLink.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/src/components/dbus/CMakeLists.txt b/src/components/dbus/CMakeLists.txt
index 7e7f2af787..cb1ce30a6d 100644
--- a/src/components/dbus/CMakeLists.txt
+++ b/src/components/dbus/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,7 @@
# 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/sources.cmake)
include_directories (
${DBUS_INCLUDE_DIRS}
@@ -40,17 +41,17 @@ include_directories (
${CMAKE_BINARY_DIR}/src/components/
)
-set (SOURCES
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}/introspection_xml.cc
${CMAKE_CURRENT_BINARY_DIR}/message_descriptions.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/dbus_adapter.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/dbus_message.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/dbus_message_controller.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/schema.cc
)
+collect_sources(SOURCES "${PATHS}")
-set (LIBRARIES dbus-1 -L${DBUS_LIBS_DIRECTORY})
-
+set(LIBRARIES
+ dbus-1 -L${DBUS_LIBS_DIRECTORY}
+)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/message_descriptions.cc
@@ -71,7 +72,7 @@ add_custom_command(
)
add_library("DBus" ${SOURCES})
-ADD_DEPENDENCIES("DBus" Utils install-3rd_party_dbus)
+add_dependecnies("DBus" Utils install-3rd_party_dbus)
target_link_libraries("DBus" "${LIBRARIES}")
diff --git a/src/components/dbus/test/CMakeLists.txt b/src/components/dbus/test/CMakeLists.txt
index d96f2388fb..1b3df2c0e7 100644
--- a/src/components/dbus/test/CMakeLists.txt
+++ b/src/components/dbus/test/CMakeLists.txt
@@ -28,13 +28,20 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${GMOCK_INCLUDE_DIRECTORY}
${COMPONENTS_DIR}/dbus/include/
)
+#FIXME: exclude some tests
+set (EXCLUDE_PATHS
+ test_dbus_message_controller.cc
+)
+
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" ${EXCLUDE_PATHS})
+
set (LIBRARIES
gmock
DBus
@@ -42,12 +49,4 @@ set (LIBRARIES
SmartObjects
)
-set(testSources
- ${COMPONENTS_DIR}/dbus/test/test_schema.cc
- ${COMPONENTS_DIR}/dbus/test/test_dbus_adapter.cc
-)
-
-create_test("test_DBus_test" "${testSources}" "${LIBRARIES}")
-
-endif()
-
+create_test(test_DBus_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/components/formatters/CMakeLists.txt b/src/components/formatters/CMakeLists.txt
index 1858342ff3..02a337e278 100644
--- a/src/components/formatters/CMakeLists.txt
+++ b/src/components/formatters/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,8 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-
-set(FORMATTERS_SRC_DIR ${COMPONENTS_DIR}/formatters/src)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
include/
@@ -41,22 +40,13 @@ include_directories (
${COMPONENTS_DIR}/utils/include
)
-set (SOURCES
- ${FORMATTERS_SRC_DIR}/CSmartFactory.cc
-)
-
-set (FORMATTER_SOURCES
- ${FORMATTERS_SRC_DIR}/CFormatterJsonBase.cc
- ${FORMATTERS_SRC_DIR}/CFormatterJsonSDLRPCv1.cc
- ${FORMATTERS_SRC_DIR}/CFormatterJsonSDLRPCv2.cc
- ${FORMATTERS_SRC_DIR}/formatter_json_rpc.cc
- ${FORMATTERS_SRC_DIR}/meta_formatter.cc
- ${FORMATTERS_SRC_DIR}/generic_json_formatter.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
-add_library("formatters" ${SOURCES}
- ${FORMATTER_SOURCES}
-)
+collect_sources(SOURCES "${PATHS}")
+add_library(formatters ${SOURCES})
if(BUILD_TESTS)
add_subdirectory(test)
diff --git a/src/components/formatters/test/CMakeLists.txt b/src/components/formatters/test/CMakeLists.txt
index d245626dae..c80c3d0e40 100644
--- a/src/components/formatters/test/CMakeLists.txt
+++ b/src/components/formatters/test/CMakeLists.txt
@@ -29,7 +29,7 @@
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
${GMOCK_INCLUDE_DIRECTORY}
@@ -49,19 +49,15 @@ set(LIBRARIES
jsoncpp
)
-set(SOURCES
- ${COMPONENTS_DIR}/formatters/test/src/SmartFactoryTestHelper.cc
- ${COMPONENTS_DIR}/formatters/test/CSmartFactory_test.cc
- ${COMPONENTS_DIR}/formatters/test/CFormatterJsonBase_test.cc
- ${COMPONENTS_DIR}/formatters/test/generic_json_formatter_test.cc
- ${COMPONENTS_DIR}/formatters/test/formatter_json_rpc_test.cc
- ${COMPONENTS_DIR}/formatters/test/src/create_smartSchema.cc
- ${COMPONENTS_DIR}/formatters/test/cFormatterJsonSDLRPCv1_test.cc
- ${COMPONENTS_DIR}/formatters/test/cFormatterJsonSDLRPCv2_test.cc
- ${COMPONENTS_DIR}/formatters/test/src/meta_formatter_test_helper.cc
- ${COMPONENTS_DIR}/formatters/test/meta_formatter_test.cc
+set (SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_SOURCE_DIR}
)
-create_test("formatters_test" "${SOURCES}" "${LIBRARIES}")
+set (EXCLUDE_PATHS
+)
+
+collect_sources(SOURCES "")
+create_test(formatters_test "${SOURCES}" "${LIBRARIES}")
-endif()
diff --git a/src/components/hmi_message_handler/CMakeLists.txt b/src/components/hmi_message_handler/CMakeLists.txt
index 49aea93bda..c1dfca5e67 100644
--- a/src/components/hmi_message_handler/CMakeLists.txt
+++ b/src/components/hmi_message_handler/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,8 @@
# 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/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
include/
@@ -46,29 +48,36 @@ include_directories (
${LOG4CXX_INCLUDE_DIRECTORY}
)
-IF (HMIADAPTER STREQUAL "dbus")
- set (DBUS_SOURCE ./src/dbus_message_adapter.cc)
- set (DBUS_ADAPTER DBus)
-ENDIF ()
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+if (HMIADAPTER STREQUAL "dbus")
+ set(EXCLUDE_PATHS)
+ set(DBUS_ADAPTER DBus)
+else()
+ set(EXCLUDE_PATHS dbus_message_adapter.cc)
+ set(DBUS_ADAPTER)
+endif ()
-set (SOURCES
- ${COMPONENTS_DIR}/hmi_message_handler/src/hmi_message_handler_impl.cc
- ${COMPONENTS_DIR}/hmi_message_handler/src/messagebroker_adapter.cc
- ${COMPONENTS_DIR}/hmi_message_handler/src/hmi_message_adapter_impl.cc
- ${DBUS_SOURCE}
+list(APPEND EXCLUDE_PATHS
+ mqueue_adapter.cc
)
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+
set(LIBRARIES
- Utils
- ${DBUS_ADAPTER}
- ${RTLIB}
+ Utils
+ ${DBUS_ADAPTER}
+ ${RTLIB}
)
add_library("HMIMessageHandler" ${SOURCES})
target_link_libraries("HMIMessageHandler" ${LIBRARIES})
if(ENABLE_LOG)
- target_link_libraries("HMIMessageHandler" log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
+ target_link_libraries("HMIMessageHandler" log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
endif()
# Tests temporary are inactivated. For details please check
diff --git a/src/components/hmi_message_handler/test/CMakeLists.txt b/src/components/hmi_message_handler/test/CMakeLists.txt
index 98e9fd5653..0d7ccd9ee1 100644
--- a/src/components/hmi_message_handler/test/CMakeLists.txt
+++ b/src/components/hmi_message_handler/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,7 +28,8 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${GMOCK_INCLUDE_DIRECTORY}
@@ -36,27 +37,31 @@ include_directories (
${COMPONENTS_DIR}/hmi_message_handler/test/include
)
+if (HMIADAPTER STREQUAL "messagebroker")
+ set (BROKER_LIBRARIES
+ message_broker_client
+ message_broker_server
+ )
+endif()
+
+set(EXCLUDE_PATHS)
+
set(LIBRARIES
gmock
ApplicationManager
HMIMessageHandler
jsoncpp
- MessageBrokerClient
- MessageBrokerServer
+ ${BROKER_LIBRARIES}
ConfigProfile
)
-set(SOURCES
-${COMPONENTS_DIR}/hmi_message_handler/test/hmi_message_handler_impl_test.cc
-${COMPONENTS_DIR}/hmi_message_handler/test/hmi_message_adapter_test.cc
-)
-
-if(${QT_HMI})
- list (APPEND SOURCES
- ${COMPONENTS_DIR}/hmi_message_handler/test/mock_subscriber.cc
- ${COMPONENTS_DIR}/hmi_message_handler/test/dbus_message_adapter_test.cc
+if(NOT HMI_DBUS_API})
+ list (APPEND EXCLUDE_PATHS
+ mock_subscriber.cc
+ dbus_message_adapter_test.cc
)
endif()
-create_test("hmi_message_handler_test" "${SOURCES}" "${LIBRARIES}")
-endif()
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
+
+create_test(hmi_message_handler_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/components/include/utils/threads/CMakeLists.txt b/src/components/include/utils/threads/CMakeLists.txt
deleted file mode 100644
index f97039c21b..0000000000
--- a/src/components/include/utils/threads/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-set(UtilsIncludeDir ${COMPONENTS_DIR/utils/include)
-
-include_directories (
- ${UtilsIncludeDir}
-) \ No newline at end of file
diff --git a/src/components/interfaces/CMakeLists.txt b/src/components/interfaces/CMakeLists.txt
index bcb47976ea..2c84e48235 100644
--- a/src/components/interfaces/CMakeLists.txt
+++ b/src/components/interfaces/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,54 +28,46 @@
# 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)
include_directories (
- ${COMPONENTS_DIR}/utils/include/
+ ${COMPONENTS_DIR}/include
+ ${COMPONENTS_DIR}/utils/include
${COMPONENTS_DIR}/formatters/include
+ ${COMPONENTS_DIR}/smart_objects/include
+ ${CMAKE_BINARY_DIR}
)
-
-GenerateInterface("v4_protocol_v1_2_no_extra.xml" "NsSmartDeviceLinkRPC::V1" "sdlrpcv1")
-GenerateInterface("MOBILE_API.xml" "mobile_apis" "sdlrpcv2")
-
-IF (${HMI_JSON_API})
- GenerateInterface("HMI_API.xml" "hmi_apis" "jsonrpc")
-ENDIF (${HMI_JSON_API})
-IF (${HMI_DBUS_API})
- set(hpp_file
- "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API.h"
- "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.h"
- )
+generate_interface("v4_protocol_v1_2_no_extra.xml" "NsSmartDeviceLinkRPC::V1" "sdlrpcv1")
+add_library(v4_protocol_v1_2_no_extra ${CMAKE_CURRENT_BINARY_DIR}/v4_protocol_v1_2_no_extra_schema.cc)
- set(cpp_file "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.cc")
- set(full_xml_name "${CMAKE_CURRENT_SOURCE_DIR}/QT_HMI_API.xml")
+generate_interface("MOBILE_API.xml" "mobile_apis" "sdlrpcv2")
+add_library(MOBILE_API ${CMAKE_CURRENT_BINARY_DIR}/MOBILE_API_schema.cc)
- add_custom_command( OUTPUT ${hpp_file} ${cpp_file}
- COMMAND ${INTEFRACE_GENERATOR_CMD} ${full_xml_name} hmi_apis ${CMAKE_CURRENT_BINARY_DIR} "--parser-type" "jsonrpc"
- DEPENDS ${INTERFACE_GENERATOR_DEPENDENCIES} ${full_xml_name}
- COMMENT "Generating files:\n ${hpp_file}\n ${cpp_file}\nfrom:\n QT_HMI_API.xml ..."
- VERBATIM
- )
+if(HMI_JSON_API)
+ generate_interface("HMI_API.xml" "hmi_apis" "jsonrpc")
+ add_library(HMI_API ${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc)
+endif()
- include_directories (
- ${COMPONENTS_DIR}/smart_objects/include
- ${COMPONENTS_DIR}/formatters/include/
- ${CMAKE_BINARY_DIR}
- )
+if(HMI_DBUS_API)
+ generate_interface("QT_HMI_API.xml" "hmi_apis" "jsonrpc")
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/HMI_API.h"
+ add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/HMI_API.h"
COMMAND sed "-e" "s/QT_HMI_API/HMI_API/g" "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API.h" > "${CMAKE_CURRENT_BINARY_DIR}/HMI_API.h"
- DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API.h")
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.h"
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API.h"
+ )
+ add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.h"
COMMAND sed "-e" "s/QT_HMI_API/HMI_API/g" "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.h" > "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.h"
- DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.h")
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc"
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.h"
+ )
+ add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc"
COMMAND sed "-e" "s/QT_HMI_API/HMI_API/g" "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.cc" > "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc"
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.cc" "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.h" "${CMAKE_CURRENT_BINARY_DIR}/HMI_API.h")
- add_library(HMI_API "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc")
-ENDIF (${HMI_DBUS_API})
+
+ add_library(HMI_API ${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc)
+endif()
add_dependencies(HMI_API Utils)
diff --git a/src/components/media_manager/CMakeLists.txt b/src/components/media_manager/CMakeLists.txt
index 3ca02357ab..c143a7979e 100644
--- a/src/components/media_manager/CMakeLists.txt
+++ b/src/components/media_manager/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2014-2015, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,63 +28,10 @@
# 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/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
-if (EXTENDED_MEDIA_MODE)
-find_package(Gstreamer-1.0 REQUIRED)
-find_package(Glib-2.0 REQUIRED)
-find_package(PkgConfig)
-pkg_check_modules(GLIB2 REQUIRED glib-2.0)
-add_definitions(${GLIB2_CFLAGS})
-set(default_includes
- ${GSTREAMER_gst_INCLUDE_DIR}
- ${GSTREAMER_gstconfig_INCLUDE_DIR}
- ${GLIB_glib_2_INCLUDE_DIR}
-)
-set(default_sources
- ${COMPONENTS_DIR}/media_manager/src/audio/a2dp_source_player_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/from_mic_recorder_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/from_mic_to_file_recorder_thread.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/socket_audio_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/pipe_audio_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/file_audio_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/video/socket_video_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/video/pipe_video_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/video/file_video_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/pipe_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/socket_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/file_streamer_adapter.cc
-)
-set(LIBRARIES
- ${GSTREAMER_gstreamer_LIBRARY}
- ApplicationManager
- pulse-simple
- pulse
- gobject-2.0
- glib-2.0
-)
-else(EXTENDED_MEDIA_MODE)
-set(default_includes
-)
-
-set(default_sources
- ${COMPONENTS_DIR}/media_manager/src/audio/socket_audio_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/pipe_audio_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/file_audio_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/video/socket_video_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/video/pipe_video_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/video/file_video_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/pipe_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/socket_streamer_adapter.cc
- ${COMPONENTS_DIR}/media_manager/src/file_streamer_adapter.cc
-)
-set(LIBRARIES
- ProtocolLibrary
-)
-endif()
-
-include_directories (
+include_directories(
include
${COMPONENTS_DIR}/media_manager/include/audio/
${COMPONENTS_DIR}/media_manager/include/video/
@@ -99,22 +46,60 @@ include_directories (
${JSONCPP_INCLUDE_DIRECTORY}
${CMAKE_BINARY_DIR}/src/components/
${COMPONENTS_DIR}/policy/include/
- ${default_includes}
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${COMPONENTS_DIR}/media_manager/src/media_adapter_impl.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/from_mic_recorder_listener.cc
- ${COMPONENTS_DIR}/media_manager/src/audio/audio_stream_sender_thread.cc
- ${COMPONENTS_DIR}/media_manager/src/streamer_listener.cc
- ${COMPONENTS_DIR}/media_manager/src/media_manager_impl.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
-add_library("MediaManager" ${SOURCES} ${default_sources})
+set(EXCLUDE_PATHS
+ video_stream_to_file_adapter.cc
+)
+
+set(LIBRARIES
+ ProtocolLibrary
+)
+
+if(EXTENDED_MEDIA_MODE)
+ find_package(Gstreamer-1.0 REQUIRED)
+ find_package(Glib-2.0 REQUIRED)
+ find_package(PkgConfig)
+ pkg_check_modules(GLIB2 REQUIRED glib-2.0)
+ add_definitions(${GLIB2_CFLAGS})
+
+ include_directories(
+ ${GSTREAMER_gst_INCLUDE_DIR}
+ ${GSTREAMER_gstconfig_INCLUDE_DIR}
+ ${GLIB_glib_2_INCLUDE_DIR}
+ )
+ list(APPEND EXCLUDE_PATHS
+
+ )
+ list(APPEND LIBRARIES
+ ${GSTREAMER_gstreamer_LIBRARY}
+ pulse-simple
+ pulse
+ gobject-2.0
+ glib-2.0
+ )
+else()
+ list(APPEND EXCLUDE_PATHS
+ a2dp_source_player_adapter.cc
+ from_mic_recorder_adapter.cc
+ from_mic_to_file_recorder_thread.cc
+ )
+endif()
+
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+add_library("MediaManager" ${SOURCES})
target_link_libraries("MediaManager" ${LIBRARIES})
-if(BUILD_TESTS)
- add_subdirectory(test)
+if(ENABLE_LOG)
+ target_link_libraries("MediaManager" log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
endif()
+if(BUILD_TESTS)
+ add_subdirectory(test)
+endif()
diff --git a/src/components/media_manager/test/CMakeLists.txt b/src/components/media_manager/test/CMakeLists.txt
index ede6f27f95..f5d596f681 100644
--- a/src/components/media_manager/test/CMakeLists.txt
+++ b/src/components/media_manager/test/CMakeLists.txt
@@ -28,7 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
${GMOCK_INCLUDE_DIRECTORY}
@@ -46,9 +46,7 @@ if(EXTENDED_MEDIA_MODE)
)
endif()
-set(SOURCES
- ${COMPONENTS_DIR}/media_manager/test/media_manager_impl_test.cc
-)
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
set(LIBRARIES
SmartObjects
@@ -74,7 +72,3 @@ create_test("media_manager_test" "${SOURCES}" "${LIBRARIES}")
if(ENABLE_LOG)
target_link_libraries("media_manager_test" log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
endif()
-
-endif()
-
-# vim: set ts=2 sw=2 et:
diff --git a/src/components/policy/CMakeLists.txt b/src/components/policy/CMakeLists.txt
index 3a2b0829dc..ce6d7c227c 100644
--- a/src/components/policy/CMakeLists.txt
+++ b/src/components/policy/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2013, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,12 +28,8 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-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(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${COMPONENTS_DIR}/policy/include
@@ -44,37 +40,43 @@ include_directories (
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set(SOURCES
- ${COMPONENTS_DIR}/policy/src/policy_manager_impl.cc
- ${COMPONENTS_DIR}/policy/src/policy_helper.cc
- ${COMPONENTS_DIR}/policy/src/policy_table.cc
- ${COMPONENTS_DIR}/policy/src/sql_pt_queries.cc
- ${COMPONENTS_DIR}/policy/src/sql_pt_representation.cc
- ${COMPONENTS_DIR}/policy/src/update_status_manager.cc
- ${COMPONENTS_DIR}/policy/src/cache_manager.cc
- ${COMPONENTS_DIR}/rpc_base/src/rpc_base/rpc_base.cc
+set(POLICY_TABLE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/policy/policy_table
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/policy_table
)
+collect_sources(POLICY_TABLE_SOURCES "${POLICY_TABLE_PATHS}")
+add_library(policy_struct ${POLICY_TABLE_SOURCES})
+target_link_libraries(policy_struct Utils)
-# --- Table struct section
-set(policy_struct_target policy_struct)
-set(POLICY_TABLE_SOURCES
- ${COMPONENTS_DIR}/policy/src/policy_table/enums.cc
- ${COMPONENTS_DIR}/policy/src/policy_table/types.cc
- ${COMPONENTS_DIR}/policy/src/policy_table/validation.cc
+set(USAGE_STATISTICS_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/policy/usage_statistics
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/usage_statistics
)
+collect_sources(USAGE_STATISTICS_SOURCES "${USAGE_STATISTICS_PATHS}")
+add_library(UsageStatistics ${USAGE_STATISTICS_SOURCES})
-add_library(${policy_struct_target} ${POLICY_TABLE_SOURCES})
-target_link_libraries(${policy_struct_target} Utils)
-# --- end of Table struct section
+set(EXCLUDE_PATHS
+ ${POLICY_TABLE_PATHS}
+ ${USAGE_STATISTICS_PATHS}
+ sql_pt_ext_queries.cc
+ sql_pt_ext_representation.cc
+)
-# --- Usage statistics section
-set(USAGE_STATISTICS_SOURCES
- ${COMPONENTS_DIR}/policy/src/usage_statistics/counter.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/
+ ${COMPONENTS_DIR}/rpc_base/src/rpc_base/rpc_base.cc
+)
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+
+set(LIBRARIES
+ ConfigProfile
+ policy_struct
+ dbms
+ jsoncpp
+ Utils
)
-add_library(UsageStatistics ${USAGE_STATISTICS_SOURCES})
-# --- end of Usage statistics section
-set(LIBRARIES ConfigProfile policy_struct dbms jsoncpp Utils)
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
# --- QDB Wrapper
include_directories (${COMPONENTS_DIR}/utils/include/utils)
@@ -84,22 +86,28 @@ else ()
list(APPEND LIBRARIES sqlite3)
endif ()
-add_library(${target} SHARED ${SOURCES})
-target_link_libraries(${target} ${LIBRARIES} )
+add_library(Policy SHARED ${SOURCES})
+target_link_libraries(Policy ${LIBRARIES})
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
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- ${CMAKE_CURRENT_BINARY_DIR}/${library_name}
- ${copy_destination}
- DEPENDS ${target}
- COMMENT "Copying library ${library_name}")
+set(LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}Policy${CMAKE_SHARED_LIBRARY_SUFFIX})
+set(TARGET_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME})
+set(INSTALL_DESTINATION bin)
+set(COPY_DESTINATION ${CMAKE_BINARY_DIR}/src/appMain)
-install(TARGETS ${target}
- DESTINATION ${install_destination}
+add_custom_target(copy_policy_library ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${TARGET_LOCATION}
+ ${COPY_DESTINATION}/${LIBRARY_NAME}
+ DEPENDS Policy
+ COMMENT "Copying library ${LIBRARY_NAME}"
+)
+
+install(TARGETS Policy
+ DESTINATION ${INSTALL_DESTINATION}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
@@ -107,4 +115,4 @@ install(TARGETS ${target}
if(BUILD_TESTS)
add_subdirectory(test)
-endif() # BUILD_TESTS
+endif()
diff --git a/src/components/policy/test/CMakeLists.txt b/src/components/policy/test/CMakeLists.txt
index 95a61f92ff..4f6abf2992 100644
--- a/src/components/policy/test/CMakeLists.txt
+++ b/src/components/policy/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,8 @@
# 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/sources.cmake)
+
include_directories(
include
${COMPONENTS_DIR}
@@ -40,26 +42,17 @@ include_directories(
${COMPONENTS_DIR}/policy/test/include/
)
-set(testLibraries
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
+
+set(LIBRARIES
gmock
+ dbms
Utils
Policy
UsageStatistics
)
-set(testSources
- counter_test.cc
- shared_library_test.cc
- generated_code_test.cc
- policy_manager_impl_test.cc
- update_status_manager_test.cc
-)
-
-list (APPEND testSources
- sql_pt_representation_test.cc
-)
-
-create_test("policy_test" "${testSources}" "${testLibraries}")
+create_test(policy_test "${SOURCES}" "${LIBRARIES}")
file(COPY valid_sdl_pt_update.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/src/components/protocol/CMakeLists.txt b/src/components/protocol/CMakeLists.txt
index 8524ff4f44..7d8579bdbc 100644
--- a/src/components/protocol/CMakeLists.txt
+++ b/src/components/protocol/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,18 +28,18 @@
# 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/sources.cmake)
include_directories(
- ./include
- ${APR_INCLUDE_DIRECTORY}
+ ${COMPONENTS_DIR}/include
+ ${COMPONENTS_DIR}/utils/include
)
-set(SOURCES
- ${COMPONENTS_DIR}/protocol/src/raw_message.cc
- ${COMPONENTS_DIR}/protocol/src/service_type.cc
- ${COMPONENTS_DIR}/protocol/src/message_priority.cc
- ${COMPONENTS_DIR}/protocol/src/rpc_type.cc
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
+
+set(LIBRARIES
+ Utils
)
add_library(ProtocolLibrary ${SOURCES})
-target_link_libraries(ProtocolLibrary Utils)
+target_link_libraries(ProtocolLibrary ${LIBRARIES})
diff --git a/src/components/protocol_handler/CMakeLists.txt b/src/components/protocol_handler/CMakeLists.txt
index a09a565844..559acf8956 100644
--- a/src/components/protocol_handler/CMakeLists.txt
+++ b/src/components/protocol_handler/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,7 @@
# 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/sources.cmake)
include_directories(
include
@@ -37,13 +38,11 @@ include_directories(
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set(SOURCES
- ${COMPONENTS_DIR}/protocol_handler/src/incoming_data_handler.cc
- ${COMPONENTS_DIR}/protocol_handler/src/protocol_handler_impl.cc
- ${COMPONENTS_DIR}/protocol_handler/src/protocol_packet.cc
- ${COMPONENTS_DIR}/protocol_handler/src/protocol_payload.cc
- ${COMPONENTS_DIR}/protocol_handler/src/multiframe_builder.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
+collect_sources(SOURCES "${PATHS}")
set(LIBRARIES
ProtocolLibrary
diff --git a/src/components/protocol_handler/test/CMakeLists.txt b/src/components/protocol_handler/test/CMakeLists.txt
index 87d91bfd54..ca079dcc7e 100644
--- a/src/components/protocol_handler/test/CMakeLists.txt
+++ b/src/components/protocol_handler/test/CMakeLists.txt
@@ -28,7 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if (BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
include
@@ -38,9 +38,12 @@ include_directories (
${COMPONENTS_DIR}/protocol_handler/test/include
${COMPONENTS_DIR}/include/protocol
${JSONCPP_INCLUDE_DIRECTORY}
+ ${GMOCK_INCLUDE_DIRECTORY}
)
-set (LIBRARIES
+collect_sources(SOURCES ${CMAKE_CURRENT_SOURCE_DIR})
+
+set(LIBRARIES
gmock
ProtocolHandler
connectionHandler
@@ -49,15 +52,4 @@ set (LIBRARIES
ProtocolLibrary
)
-set (SOURCES
- incoming_data_handler_test.cc
- protocol_header_validator_test.cc
- protocol_handler_tm_test.cc
- protocol_packet_test.cc
- protocol_payload_test.cc
- multiframe_builder_test.cc
-)
-
-create_test ("protocol_handler_test" "${SOURCES}" "${LIBRARIES}")
-
-endif ()
+create_test(protocol_handler_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/components/qt_hmi/test/CMakeLists.txt b/src/components/qt_hmi/test/CMakeLists.txt
index b0c48a4348..91ec2cd20c 100644
--- a/src/components/qt_hmi/test/CMakeLists.txt
+++ b/src/components/qt_hmi/test/CMakeLists.txt
@@ -29,8 +29,6 @@
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
-
cmake_minimum_required(VERSION 2.8.11)
set(QT_HMI_TESTS_LIST
@@ -67,4 +65,3 @@ foreach( file_i ${QT_HMI_TESTS_LIST})
file(COPY ${file_i} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
endforeach( file_i )
-endif() \ No newline at end of file
diff --git a/src/components/resumption/CMakeLists.txt b/src/components/resumption/CMakeLists.txt
index b8fa277cae..f142f59b1e 100644
--- a/src/components/resumption/CMakeLists.txt
+++ b/src/components/resumption/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,7 @@
# 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/sources.cmake)
include_directories (
include
@@ -37,9 +38,11 @@ include_directories (
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${COMPONENTS_DIR}/resumption/src/last_state.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
+collect_sources(SOURCES "${PATHS}")
add_library("Resumption" ${SOURCES})
diff --git a/src/components/resumption/test/CMakeLists.txt b/src/components/resumption/test/CMakeLists.txt
index 6fa1c07381..5481d5f80f 100644
--- a/src/components/resumption/test/CMakeLists.txt
+++ b/src/components/resumption/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,7 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
${LOG4CXX_INCLUDE_DIRECTORY}
@@ -41,22 +41,14 @@ include_directories(
${CMAKE_BINARY_DIR}
)
+collect_sources(SOURCES ${CMAKE_CURRENT_SOURCE_DIR})
+
set(LIBRARIES
gmock
ConfigProfile
Utils
Resumption
jsoncpp
- ConfigProfile
)
-set(SOURCES
- ${COMPONENTS_DIR}/resumption/test/last_state_test.cc
-)
-
-#file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-#file(COPY app_info.dat DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
-create_test("resumption_test" "${SOURCES}" "${LIBRARIES}")
-
-endif()
+create_test(resumption_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/components/rpc_base/CMakeLists.txt b/src/components/rpc_base/CMakeLists.txt
index 94e67cc985..700cec72bb 100644
--- a/src/components/rpc_base/CMakeLists.txt
+++ b/src/components/rpc_base/CMakeLists.txt
@@ -28,31 +28,27 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-
-set(RPC_BASE_INCLUDE_DIR ${COMPONENTS_DIR}/rpc_base/include)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
- include
+ ${COMPONENTS_DIR}/rpc_base/include
+ ${COMPONENTS_DIR}/utils/include
${JSONCPP_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${COMPONENTS_DIR}/rpc_base/src/rpc_base/rpc_base.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
+collect_sources(SOURCES "${PATHS}")
-set (HEADERS
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/gtest_support.h
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/rpc_base_dbus_inl.h
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/rpc_base.h
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/rpc_base_inl.h
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/rpc_base_json_inl.h
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/rpc_message.h
- ${RPC_BASE_INCLUDE_DIR}/rpc_base/validation_report.h
+set(LIBRARIES
+ jsoncpp
)
-add_library(rpc_base ${HEADERS} ${SOURCES})
-target_link_libraries(rpc_base jsoncpp)
+add_library(rpc_base ${SOURCES})
+target_link_libraries(rpc_base ${LIBRARIES})
if(BUILD_TESTS)
add_subdirectory(test)
-endif() \ No newline at end of file
+endif()
diff --git a/src/components/rpc_base/test/CMakeLists.txt b/src/components/rpc_base/test/CMakeLists.txt
index 76cf738f46..566f0ddcde 100644
--- a/src/components/rpc_base/test/CMakeLists.txt
+++ b/src/components/rpc_base/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,8 +28,9 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if (BUILD_TESTS)
- include_directories (
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
+
+include_directories(
${COMPONENTS_DIR}/dbus/include
${COMPONENTS_DIR}/dbus/src
${COMPONENTS_DIR}/rpc_base/include
@@ -43,20 +44,16 @@ set(LIBRARIES
jsoncpp
)
-set(SOURCES
- rpc_base_json_test.cc
- rpc_base_test.cc
- validation_report_test.cc
-)
-
-if (${HMI_DBUS_API})
- # Build dbus tests
+if(${HMI_DBUS_API})
include_directories(${DBUS_INCLUDE_DIRS})
- set (LIBRARIES ${LIBRARIES} DBus)
- set (SOURCES ${SOURCES} rpc_base_dbus_test.cc)
-endif ()
-
-create_test("rpc_base_test" "${SOURCES}" "${LIBRARIES}")
-
+ list(APPEND LIBRARIES
+ DBus
+ )
+else()
+ set(EXCLUDE_PATHS
+ rpc_base_dbus_test.cc
+ )
endif()
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
+create_test(rpc_base_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/components/security_manager/CMakeLists.txt b/src/components/security_manager/CMakeLists.txt
index 3cc6178931..bb50ad50c9 100644
--- a/src/components/security_manager/CMakeLists.txt
+++ b/src/components/security_manager/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2015, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -27,7 +27,9 @@
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# 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/sources.cmake)
include_directories(
include/
@@ -41,15 +43,22 @@ include_directories(
${APR_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${COMPONENTS_DIR}/security_manager/src/security_manager_impl.cc
- ${COMPONENTS_DIR}/security_manager/src/security_query.cc
- ${COMPONENTS_DIR}/security_manager/src/crypto_manager_impl.cc
- ${COMPONENTS_DIR}/security_manager/src/ssl_context_impl.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+collect_sources(SOURCES "${PATHS}")
+
+set(LIBRARIES
+ crypto
+ ssl
+ ProtocolHandler
+ jsoncpp
+ ProtocolLibrary
)
add_library(SecurityManager ${SOURCES})
-target_link_libraries(SecurityManager crypto ssl ProtocolHandler jsoncpp ProtocolLibrary)
+target_link_libraries(SecurityManager ${LIBRARIES})
if(BUILD_TESTS)
add_subdirectory(test)
diff --git a/src/components/security_manager/test/CMakeLists.txt b/src/components/security_manager/test/CMakeLists.txt
index 6707e5ea5a..ba1fbcca8b 100644
--- a/src/components/security_manager/test/CMakeLists.txt
+++ b/src/components/security_manager/test/CMakeLists.txt
@@ -28,8 +28,8 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if (BUILD_TESTS)
-
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
+
include_directories(
${GMOCK_INCLUDE_DIRECTORY}
${COMPONENTS_DIR}/protocol_handler/test/include
@@ -39,20 +39,15 @@ include_directories(
${JSONCPP_INCLUDE_DIRECTORY}
)
-set(SOURCES
- ${COMPONENTS_DIR}/security_manager/test/crypto_manager_impl_test.cc
- ${COMPONENTS_DIR}/security_manager/test/security_manager_test.cc
- ${COMPONENTS_DIR}/security_manager/test/security_query_test.cc
- ${COMPONENTS_DIR}/security_manager/test/security_query_matcher.cc
- ${COMPONENTS_DIR}/security_manager/test/ssl_context_test.cc
- ${COMPONENTS_DIR}/security_manager/test/ssl_certificate_handshake_test.cc
- )
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
set(LIBRARIES
gmock
${SecurityManagerLibrary}
)
+create_test (security_manager_test "${SOURCES}" "${LIBRARIES}")
+
set(CERT_LIST
${CMAKE_SOURCE_DIR}/mycert.pem
${CMAKE_SOURCE_DIR}/mykey.pem
@@ -64,11 +59,8 @@ add_custom_target(generate_certificates
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
-foreach( file_i ${CERT_LIST})
- file(COPY ${file_i} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-endforeach( file_i )
+foreach(CERT_ENTRY ${CERT_LIST})
+ file(COPY ${CERT_ENTRY} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+endforeach()
-create_test (security_manager_test "${SOURCES}" "${LIBRARIES}")
add_dependencies(security_manager_test generate_certificates)
-
-endif ()
diff --git a/src/components/smart_objects/CMakeLists.txt b/src/components/smart_objects/CMakeLists.txt
index c1d599db67..339cf90ea4 100644
--- a/src/components/smart_objects/CMakeLists.txt
+++ b/src/components/smart_objects/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,28 +28,19 @@
# 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/sources.cmake)
-set(SMART_OBJECTS_SRC_DIR ${COMPONENTS_DIR}/smart_objects/src)
-
-include_directories (
- include
- ${COMPONENTS_DIR}/utils/include/
+include_directories(
+ ${COMPONENTS_DIR}/include
+ ${COMPONENTS_DIR}/smart_objects/include
+ ${COMPONENTS_DIR}/utils/include
)
-set (SOURCES
- ${SMART_OBJECTS_SRC_DIR}/smart_object.cc
- ${SMART_OBJECTS_SRC_DIR}/smart_schema.cc
- ${SMART_OBJECTS_SRC_DIR}/schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/always_false_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/always_true_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/default_shema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/bool_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/number_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/enum_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/string_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/object_schema_item.cc
- ${SMART_OBJECTS_SRC_DIR}/array_schema_item.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
+collect_sources(SOURCES "${PATHS}")
add_library("SmartObjects" ${SOURCES})
@@ -60,4 +51,3 @@ endif()
if(BUILD_TESTS)
add_subdirectory(test)
endif()
-
diff --git a/src/components/smart_objects/test/CMakeLists.txt b/src/components/smart_objects/test/CMakeLists.txt
index e8bc20b6b8..e0cc37e104 100644
--- a/src/components/smart_objects/test/CMakeLists.txt
+++ b/src/components/smart_objects/test/CMakeLists.txt
@@ -28,8 +28,11 @@
# 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/sources.cmake)
+
if(BUILD_TESTS)
-add_definitions(-DUNIT_TESTS)
+ add_definitions(-DUNIT_TESTS)
+endif()
include_directories (
${GMOCK_INCLUDE_DIRECTORY}
@@ -45,22 +48,10 @@ set(LIBRARIES
jsoncpp
)
-set(SOURCES
- ${COMPONENTS_DIR}/smart_objects/test/SmartObjectDraft_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/SmartObjectInvalid_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/SmartObjectStress_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/SmartObjectUnit_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/smart_object_performance_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/map_performance_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/BoolSchemaItem_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/NumberSchemaItem_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/StringSchemaItem_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/ArraySchemaItem_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/CObjectSchemaItem_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/AlwaysTrueSchemaItem_test.cc
- ${COMPONENTS_DIR}/smart_objects/test/AlwaysFalseSchemaItem_test.cc
+set(EXCLUDE_PATHS
+ EnumSchemaItem_test.cc
+ SmartObjectConvertionTime_test.cc
)
-create_test("smart_object_test" "${SOURCES}" "${LIBRARIES}")
-
-endif()
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
+create_test(smart_object_test "${SOURCES}" "${LIBRARIES}")
diff --git a/src/components/telemetry_monitor/CMakeLists.txt b/src/components/telemetry_monitor/CMakeLists.txt
index f3004dc61e..594b56abc5 100644
--- a/src/components/telemetry_monitor/CMakeLists.txt
+++ b/src/components/telemetry_monitor/CMakeLists.txt
@@ -28,8 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-
-set(TELEMETRY_MONITOR_SRC_DIR ${COMPONENTS_DIR}/telemetry_monitor/src)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
include
@@ -49,15 +48,15 @@ include_directories (
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set(SOURCES
- ${TELEMETRY_MONITOR_SRC_DIR}/metric_wrapper.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/telemetry_monitor.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/application_manager_observer.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/transport_manager_observer.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/protocol_handler_observer.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/application_manager_metric_wrapper.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/transport_manager_metric_wrapper.cc
- ${TELEMETRY_MONITOR_SRC_DIR}/protocol_handler_metric_wrapper.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+collect_sources(SOURCES "${PATHS}")
+
+set(LIBRARIES
+ HMI_API
+ MOBILE_API
)
add_library("TelemetryMonitor" ${SOURCES})
diff --git a/src/components/telemetry_monitor/test/CMakeLists.txt b/src/components/telemetry_monitor/test/CMakeLists.txt
index 7d2de19854..ea2698dfb2 100644
--- a/src/components/telemetry_monitor/test/CMakeLists.txt
+++ b/src/components/telemetry_monitor/test/CMakeLists.txt
@@ -28,7 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
include
@@ -40,20 +40,10 @@ include_directories(
${COMPONENTS_DIR}/resumption/include
${JSONCPP_INCLUDE_DIRECTORY}
)
-
-set(testSources
- metric_wrapper_test.cc
- telemetry_monitor_test.cc
- protocol_handler_metric_test.cc
- protocol_handler_observer_test.cc
- transport_manager_metric_test.cc
- transport_manager_observer_test.cc
- application_manager_metric_test.cc
- application_manager_observer_test.cc
-)
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
-set(testLibraries
+set(LIBRARIES
gmock
TelemetryMonitor
jsoncpp
@@ -68,7 +58,7 @@ set(testLibraries
MessageHelper
Resumption
jsoncpp
- transport_manager
+ TransportManager
MediaManager
ProtocolHandler
connectionHandler
@@ -82,8 +72,8 @@ if (BUILD_BT_SUPPORT)
list(APPEND testLibraries bluetooth)
endif()
-file(COPY log4cxx.properties DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+create_test("telemetry_monitor_test" "${SOURCES}" "${LIBRARIES}")
+
+file(COPY ${COMPONENTS_DIR}/telemetry_monitor/test/log4cxx.properties DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-create_test("telemetry_monitor_test" "${testSources}" "${testLibraries}")
-endif()
diff --git a/src/components/transport_manager/CMakeLists.txt b/src/components/transport_manager/CMakeLists.txt
index fbe6018d6a..5d70aca285 100644
--- a/src/components/transport_manager/CMakeLists.txt
+++ b/src/components/transport_manager/CMakeLists.txt
@@ -28,8 +28,8 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-set(target TransportManager)
-set(TM_SRC_DIR ${COMPONENTS_DIR}/transport_manager/src)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
include
@@ -42,83 +42,63 @@ include_directories (
${LIBUSB_INCLUDE_DIRECTORY}
${LOG4CXX_INCLUDE_DIRECTORY}
)
-if (BUILD_BT_SUPPORT)
- include_directories(
- )
-endif()
-set (SOURCES
- ${TM_SRC_DIR}/transport_manager_impl.cc
- ${TM_SRC_DIR}/transport_manager_default.cc
- ${TM_SRC_DIR}/transport_adapter/transport_adapter_listener_impl.cc
- ${TM_SRC_DIR}/transport_adapter/transport_adapter_impl.cc
- ${TM_SRC_DIR}/tcp/tcp_transport_adapter.cc
- ${TM_SRC_DIR}/transport_adapter/threaded_socket_connection.cc
- ${TM_SRC_DIR}/tcp/tcp_client_listener.cc
- ${TM_SRC_DIR}/tcp/tcp_device.cc
- ${TM_SRC_DIR}/tcp/tcp_socket_connection.cc
- ${TM_SRC_DIR}/tcp/tcp_connection_factory.cc
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+set(EXCLUDE_PATHS)
+
+set(LIBRARIES
+ ProtocolLibrary
)
-if (BUILD_BT_SUPPORT)
- list (APPEND SOURCES
- ${TM_SRC_DIR}/bluetooth/bluetooth_device_scanner.cc
- ${TM_SRC_DIR}/bluetooth/bluetooth_transport_adapter.cc
- ${TM_SRC_DIR}/bluetooth/bluetooth_connection_factory.cc
- ${TM_SRC_DIR}/bluetooth/bluetooth_socket_connection.cc
- ${TM_SRC_DIR}/bluetooth/bluetooth_device.cc
+if(BUILD_BT_SUPPORT)
+ list(APPEND LIBRARIES
+ bluetooth
+ )
+else()
+ list(APPEND EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/bluetooth
+ ${COMPONENTS_DIR}/transport_manager/src/bluetooth
)
endif()
-if (BUILD_USB_SUPPORT)
- list (APPEND SOURCES
- ${TM_SRC_DIR}/usb/usb_aoa_adapter.cc
- ${TM_SRC_DIR}/usb/usb_connection_factory.cc
- ${TM_SRC_DIR}/usb/usb_device_scanner.cc
- )
+if(BUILD_USB_SUPPORT)
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- list (APPEND SOURCES
- ${TM_SRC_DIR}/usb/libusb/usb_handler.cc
- ${TM_SRC_DIR}/usb/libusb/usb_connection.cc
- ${TM_SRC_DIR}/usb/libusb/platform_usb_device.cc
+ set(EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/qnx
+ ${COMPONENTS_DIR}/transport_manager/src/usb/qnx
+ )
+ list(APPEND LIBRARIES
+ Libusb-1.0.16
)
elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
- list(APPEND SOURCES
- ${TM_SRC_DIR}/usb/qnx/usb_handler.cc
- ${TM_SRC_DIR}/usb/qnx/usb_connection.cc
- ${TM_SRC_DIR}/usb/qnx/platform_usb_device.cc
+ set(EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/libusb
+ ${COMPONENTS_DIR}/transport_manager/src/usb/libusb
+ )
+ list(APPEND LIBRARIES
+ usbdi
)
endif()
-endif(BUILD_USB_SUPPORT)
-
-
-if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
+else()
+ list(APPEND EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb
+ ${COMPONENTS_DIR}/transport_manager/src/usb
+ )
endif()
-add_library(${target} ${SOURCES})
-target_link_libraries(${target} ProtocolLibrary)
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
-if (BUILD_USB_SUPPORT)
- if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- target_link_libraries(${target} usbdi)
- endif()
-endif(BUILD_USB_SUPPORT)
+add_library("TransportManager" ${SOURCES})
+target_link_libraries("TransportManager" ${LIBRARIES})
if(ENABLE_LOG)
- target_link_libraries(${target} log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
-endif()
-
-if (BUILD_BT_SUPPORT)
- target_link_libraries(${target} bluetooth)
+ target_link_libraries("TransportManager" log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
endif()
-if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
-endif()
-
-add_library("transport_manager" ${SOURCES}
- ${TRANSPORT_MANAGER_SOURCES}
-)
-
if(BUILD_TESTS)
add_subdirectory(test)
endif()
diff --git a/src/components/transport_manager/test/CMakeLists.txt b/src/components/transport_manager/test/CMakeLists.txt
index da20f1d43c..757d0b4a63 100644
--- a/src/components/transport_manager/test/CMakeLists.txt
+++ b/src/components/transport_manager/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,8 +28,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
-set(TM_TEST_DIR ${COMPONENTS_DIR}/transport_manager/test)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
include
@@ -42,10 +41,16 @@ include_directories(
${JSONCPP_INCLUDE_DIRECTORY}
)
+set(EXCLUDE_PATHS
+ raw_message_matcher.cc
+)
+
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
+
set(LIBRARIES
gmock
ConfigProfile
- transport_manager
+ TransportManager
Utils
ConfigProfile
ProtocolLibrary
@@ -58,20 +63,12 @@ if (BUILD_USB_SUPPORT)
endif()
if (BUILD_BT_SUPPORT)
+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
list(APPEND LIBRARIES bluetooth)
+ endif()
endif()
-set(SOURCES
- ${TM_TEST_DIR}/transport_manager_impl_test.cc
- ${TM_TEST_DIR}/transport_adapter_test.cc
- ${TM_TEST_DIR}/transport_adapter_listener_test.cc
- ${TM_TEST_DIR}/tcp_transport_adapter_test.cc
- ${TM_TEST_DIR}/tcp_device_test.cc
- ${TM_TEST_DIR}/tcp_client_listener_test.cc
- ${TM_TEST_DIR}/transport_manager_default_test.cc
-)
-
create_test("transport_manager_test" "${SOURCES}" "${LIBRARIES}")
+
file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY app_info_storage2 DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-endif()
diff --git a/src/components/transport_manager/test/raw_message_matcher.cc b/src/components/transport_manager/test/raw_message_matcher.cc
index 130ddc96c8..00489d7c03 100644
--- a/src/components/transport_manager/test/raw_message_matcher.cc
+++ b/src/components/transport_manager/test/raw_message_matcher.cc
@@ -30,8 +30,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "include/raw_message_matcher.h"
-//#include "../../include/protocol/raw_message.h"
+#include "include/transport_manager/raw_message_matcher.h"
namespace test {
namespace components {
diff --git a/src/components/utils/CMakeLists.txt b/src/components/utils/CMakeLists.txt
index f72d43e546..51835c125a 100644
--- a/src/components/utils/CMakeLists.txt
+++ b/src/components/utils/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,62 +28,77 @@
# 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/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
-set(UTILS_INCLUDE_DIR ${COMPONENTS_DIR}/utils/include)
-set(UTILS_SRC_DIR ${COMPONENTS_DIR}/utils/src)
+find_package(Sqlite3 REQUIRED)
include_directories (
- ${UTILS_INCLUDE_DIR}
+ ${COMPONENTS_DIR}/utils/include
${COMPONENTS_DIR}/config_profile/include
${COMPONENTS_DIR}/media_manager/include
${COMPONENTS_DIR}/protocol_handler/include
${LOG4CXX_INCLUDE_DIRECTORY}
)
-set (SOURCES
- ${UTILS_SRC_DIR}/bitstream.cc
- ${UTILS_SRC_DIR}/conditional_variable_posix.cc
- ${UTILS_SRC_DIR}/file_system.cc
- ${UTILS_SRC_DIR}/threads/posix_thread.cc
- ${UTILS_SRC_DIR}/threads/thread_delegate.cc
- ${UTILS_SRC_DIR}/threads/thread_validator.cc
- ${UTILS_SRC_DIR}/threads/async_runner.cc
- ${UTILS_SRC_DIR}/lock_posix.cc
- ${UTILS_SRC_DIR}/rwlock_posix.cc
- ${UTILS_SRC_DIR}/date_time.cc
- ${UTILS_SRC_DIR}/signals_linux.cc
- ${UTILS_SRC_DIR}/system.cc
- ${UTILS_SRC_DIR}/resource_usage.cc
- ${UTILS_SRC_DIR}/appenders_loader.cc
- ${UTILS_SRC_DIR}/gen_hash.cc
- ${UTILS_SRC_DIR}/convert_utils.cc
- ${UTILS_SRC_DIR}/custom_string.cc
- ${UTILS_SRC_DIR}/timer.cc
+# dbms
+set(DBMS_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/utils/sqlite_wrapper
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/sqlite_wrapper
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/utils/qdb_wrapper
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/qdb_wrapper
)
+set(EXCLUDE_PATHS
+ thread_manager.cc
+ pulse_thread_delegate.cc
+ ${DBMS_PATHS}
+)
+
+set(LIBRARIES)
+
+if(NOT BUILD_BACKTRACE_SUPPORT)
+ list(APPEND EXCLUDE_PATHS
+ back_trace.cc
+ )
+endif()
+
if(ENABLE_LOG)
- list(APPEND SOURCES
- ${UTILS_SRC_DIR}/push_log.cc
- ${UTILS_SRC_DIR}/log_message_loop_thread.cc
- ${UTILS_SRC_DIR}/logger_status.cc
- ${UTILS_SRC_DIR}/auto_trace.cc
- ${UTILS_SRC_DIR}/logger.cc
+ list(APPEND LIBRARIES
+ log4cxx -L${LOG4CXX_LIBS_DIRECTORY}
+ apr-1 -L${APR_LIBS_DIRECTORY}
+ aprutil-1 -L${APR_UTIL_LIBS_DIRECTORY}
+ ConfigProfile
+ )
+else()
+ list(APPEND EXCLUDE_PATHS
+ push_log.cc
+ log_message_loop_thread.cc
+ logger_status.cc
+ auto_trace.cc
+ logger.cc
)
endif()
-if (BUILD_BACKTRACE_SUPPORT)
- list(APPEND SOURCES
- ${UTILS_SRC_DIR}/back_trace.cc
- )
+if(NOT BUILD_BT_SUPPORT)
+ list(APPEND EXCLUDE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/utils/bluetooth
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/bluetooth
+ )
endif()
-if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- list(APPEND SOURCES
- ${UTILS_SRC_DIR}/threads/pulse_thread_delegate.cc
+if (NOT CMAKE_SYSTEM_NAME STREQUAL "QNX")
+ list(APPEND EXCLUDE_PATHS
+ pulse_thread_delegate.cc
)
endif()
-add_library("Utils" ${SOURCES})
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
# --- QDB Wrapper
@@ -94,26 +109,16 @@ else ()
endif ()
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- list(APPEND LIBRARIES dl)
+ list(APPEND LIBRARIES dl pthread ${RTLIB})
endif()
+add_library("Utils" ${SOURCES})
+target_link_libraries("Utils" ${LIBRARIES})
if(ENABLE_LOG)
- list(APPEND LIBRARIES log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
- list(APPEND LIBRARIES apr-1 -L${APR_LIBS_DIRECTORY})
- list(APPEND LIBRARIES aprutil-1 -L${APR_UTIL_LIBS_DIRECTORY})
- list(APPEND LIBRARIES ConfigProfile)
-
- ADD_DEPENDENCIES(Utils install-3rd_party_logger)
+ add_dependencies("Utils" install-3rd_party_logger)
endif()
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- target_link_libraries("Utils" pthread ${RTLIB})
-endif()
-
-target_link_libraries("Utils" ${LIBRARIES})
-
-
if(BUILD_TESTS)
add_subdirectory(test)
endif()
diff --git a/src/components/utils/src/signals_linux.cc b/src/components/utils/src/signals_posix.cc
index 274c254716..274c254716 100644
--- a/src/components/utils/src/signals_linux.cc
+++ b/src/components/utils/src/signals_posix.cc
diff --git a/src/components/utils/src/threads/posix_thread.cc b/src/components/utils/src/threads/thread_posix.cc
index 51e59fa108..51e59fa108 100644
--- a/src/components/utils/src/threads/posix_thread.cc
+++ b/src/components/utils/src/threads/thread_posix.cc
diff --git a/src/components/utils/test/CMakeLists.txt b/src/components/utils/test/CMakeLists.txt
index 6ec12a17e6..81e7d15bcb 100644
--- a/src/components/utils/test/CMakeLists.txt
+++ b/src/components/utils/test/CMakeLists.txt
@@ -28,7 +28,8 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${JSONCPP_INCLUDE_DIRECTORY}
@@ -39,74 +40,61 @@ include_directories (
${COMPONENTS_DIR}/policy/include
)
-set(testSources
- messagemeter_test.cc
- file_system_test.cc
- date_time_test.cc
- system_test.cc
- thread_validator_test.cc
- conditional_variable_test.cc
- message_queue_test.cc
- resource_usage_test.cc
- bitstream_test.cc
- prioritized_queue_test.cc
- data_accessor_test.cc
- lock_posix_test.cc
- singleton_test.cc
- #posix_thread_test.cc
- stl_utils_test.cc
- rwlock_posix_test.cc
- async_runner_test.cc
- shared_ptr_test.cc
- scope_guard_test.cc
- atomic_object_test.cc
- message_loop_thread_test.cc
- custom_string_test.cc
- timer_test.cc
+set(EXCLUDE_PATHS
+ qdb_wrapper
+ test_generator
)
-set(testLibraries
- gmock
- Utils
- Policy
- ConfigProfile
-)
+if(NOT ENABLE_LOG)
+ list(APPEND EXCLUDE_PATHS
+ auto_trace_test.cc
+ log_message_loop_thread_test.cc
+ )
+endif()
+
+if(NOT BUILD_BACKTRACE_SUPPORT)
+ list(APPEND EXCLUDE_PATHS
+ back_trace_test.cc
+ )
+endif()
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- # --- Tests for QDB Wrapper
- list (APPEND testSources
- ./qdb_wrapper/sql_database_test.cc
- ./qdb_wrapper/sql_query_test.cc
+ # exclude tests for SQLite wrapper
+ list (APPEND EXCLUDE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/sqlite_wrapper
)
file(COPY qdbserver.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY test-qdb.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY policy.sql DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
else ()
- # --- Tests for SQLite Wrapper
find_package(Sqlite3 REQUIRED)
- list (APPEND testSources
- ./sqlite_wrapper/sql_database_test.cc
- ./sqlite_wrapper/sql_query_test.cc
- generated_code_with_sqlite_test.cc
+ # exclude tests for QDB wrapper
+ list (APPEND EXCLUDE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/qdb_wrapper
)
list (APPEND testLibraries sqlite3)
endif()
-if (ENABLE_LOG)
- list(APPEND testSources auto_trace_test.cc)
- list(APPEND testSources log_message_loop_thread_test.cc)
-endif()
+# exclude some tests
+list(APPEND EXCLUDE_PATHS
+ generated_code_with_sqlite_test.cc
+ posix_thread_test.cc
+ resource_usage_test.cc
+)
-if (BUILD_BACKTRACE_SUPPORT)
- list(APPEND testSources back_trace_test.cc)
-endif()
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
+
+set(LIBRARIES
+ gmock
+ Utils
+ Policy
+ ConfigProfile
+)
+
+create_test(utils_test "${SOURCES}" "${LIBRARIES}")
file(COPY testscript.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY log4cxx.properties DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY smartDeviceLink.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-create_test("utils_test" "${testSources}" "${testLibraries}")
-
add_subdirectory(test_generator)
-
-endif()
diff --git a/src/components/utils/test/test_generator/CMakeLists.txt b/src/components/utils/test/test_generator/CMakeLists.txt
index d649f927a5..5a7f939659 100644
--- a/src/components/utils/test/test_generator/CMakeLists.txt
+++ b/src/components/utils/test/test_generator/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,38 +28,35 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-if(BUILD_TESTS)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/generators.cmake)
include_directories (
- ${JSONCPP_INCLUDE_DIRECTORY}
- ${CMAKE_SOURCE_DIR}/src/3rd_party-static/gmock-1.7.0/include
- ${CMAKE_SOURCE_DIR}/src/3rd_party-static/gmock-1.7.0/gtest/include
${CMAKE_SOURCE_DIR}/tools/interfaceGenerator
${CMAKE_CURRENT_BINARY_DIR}
${COMPONENTS_DIR}/utils/include/utils
${COMPONENTS_DIR}/include/utils
+ ${JSONCPP_INCLUDE_DIRECTORY}
+ ${GMOCK_INCLUDE_DIRECTORY}
)
-set(full_xml_name "${CMAKE_SOURCE_DIR}/src/components/interfaces/MOBILE_API.xml")
-
-add_custom_target( generate_version
- COMMAND ${INTEFRACE_GENERATOR_CMD} ${full_xml_name} "mobile_apis"
- ${CMAKE_CURRENT_BINARY_DIR} "--parser-type" "sdlrpcv2"
- DEPENDS ${INTERFACE_GENERATOR_DEPENDENCIES} ${full_xml_name}
- VERBATIM
- )
+set(XML_NAME ${CMAKE_SOURCE_DIR}/src/components/interfaces/MOBILE_API.xml)
+add_custom_target(generate_version
+ COMMAND ${INTEFRACE_GENERATOR_CMD} ${XML_NAME} "mobile_apis"
+ ${CMAKE_CURRENT_BINARY_DIR} "--parser-type" "sdlrpcv2"
+ DEPENDS ${INTERFACE_GENERATOR_DEPENDENCIES} ${XML_NAME}
+ VERBATIM
+)
-set(testLibraries
+set(LIBRARIES
gmock
Utils
)
-set(testSources
+set(SOURCES
generated_msg_version_test.cc
)
-file(COPY ${full_xml_name} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-create_test("generator_test" "${testSources}" "${testLibraries}")
-add_dependencies("generator_test" generate_version)
+create_test(generator_test "${SOURCES}" "${LIBRARIES}")
+file(COPY ${XML_NAME} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-endif()
+add_dependencies("generator_test" generate_version)
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index 1a4eff13b5..4b6f6d8dfa 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -29,5 +29,5 @@
# POSSIBILITY OF SUCH DAMAGE.
if(ENABLE_LOG)
-add_subdirectory(appenders)
+ add_subdirectory(appenders)
endif()
diff --git a/src/plugins/appenders/CMakeLists.txt b/src/plugins/appenders/CMakeLists.txt
index 9d01599ca3..59628a021b 100644
--- a/src/plugins/appenders/CMakeLists.txt
+++ b/src/plugins/appenders/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,22 +28,22 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-SET(target "appenders")
-
-SET(SOURCES
- safe_file_appender.cc
- safe_rolling_file_appender.cc
-)
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories(
${LOG4CXX_INCLUDE_DIRECTORY}
)
-add_library(${target} MODULE ${SOURCES})
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
+
+set(LIBRARIES
+ log4cxx -L${LOG4CXX_LIBS_DIRECTORY}
+)
-target_link_libraries(${target} log4cxx -L${LOG4CXX_LIBS_DIRECTORY})
+add_library(appenders ${SOURCES})
+target_link_libraries(appenders ${LIBRARIES})
-install(TARGETS ${target}
+install(TARGETS appenders
DESTINATION bin
PERMISSIONS
OWNER_READ OWNER_WRITE OWNER_EXECUTE
diff --git a/cmake/Modules/cotire.cmake b/tools/cmake/helpers/cotire.cmake
index 741d6901f1..741d6901f1 100644
--- a/cmake/Modules/cotire.cmake
+++ b/tools/cmake/helpers/cotire.cmake
diff --git a/src/components/utils/src/qdb_wrapper/CMakeLists.txt b/tools/cmake/helpers/generators.cmake
index c19321568e..64f7c1f670 100644
--- a/src/components/utils/src/qdb_wrapper/CMakeLists.txt
+++ b/tools/cmake/helpers/generators.cmake
@@ -1,4 +1,4 @@
-# Copyright (c) 2013, Ford Motor Company
+# Copyright (c) 2016, Ford Motor Company
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -28,27 +28,35 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
-set(target dbms)
+find_package(PythonInterp REQUIRED)
-include_directories(${COMPONENTS_DIR}/utils/include/utils)
+if(NOT PYTHONINTERP_FOUND)
+ message(STATUS "Python interpreter is not found")
+ message(STATUS "To install it type in the command line:")
+ message(STATUS "sudo apt-get install python")
+ message(FATAL_ERROR "Exiting!")
+endif(NOT PYTHONINTERP_FOUND)
-set(SOURCES
- ./sql_database.cc
- ./sql_query.cc
- ./sql_error.cc
-)
+set(INTEFRACE_GENERATOR "${CMAKE_SOURCE_DIR}/tools/InterfaceGenerator/Generator.py")
+set(INTEFRACE_GENERATOR_CMD ${PYTHON_EXECUTABLE} -B ${INTEFRACE_GENERATOR})
+file(GLOB_RECURSE INTERFACE_GENERATOR_DEPENDENCIES "${CMAKE_SOURCE_DIR}/tools/InterfaceGenerator/*.*")
-add_library(${target} ${SOURCES})
-target_link_libraries(${target} qdb Utils)
+macro(generate_interface ARG_XML_NAME ARG_NAMESPACE PARSER_TYPE)
+ string(REGEX MATCH "^[a-zA-Z_0-9]*[^.]" FILE_NAME ${ARG_XML_NAME}) # TODO: make expression more robust
-if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/policy.ini DESTINATION ${CMAKE_BINARY_DIR}/src/appMain)
- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/qdbserver.sh DESTINATION ${CMAKE_BINARY_DIR}/src/appMain)
-endif ()
+ set(HPP_FILE
+ "${CMAKE_CURRENT_BINARY_DIR}/${FILE_NAME}.h"
+ "${CMAKE_CURRENT_BINARY_DIR}/${FILE_NAME}_schema.h"
+ )
-if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- install(FILES policy.ini DESTINATION bin)
- install(FILES qdbserver.sh DESTINATION bin
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
- GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
-endif ()
+ set(CPP_FILE "${CMAKE_CURRENT_BINARY_DIR}/${FILE_NAME}_schema.cc")
+ set(FULL_XML_NAME "${CMAKE_CURRENT_SOURCE_DIR}/${ARG_XML_NAME}")
+
+ add_custom_command(
+ OUTPUT ${HPP_FILE} ${CPP_FILE}
+ COMMAND ${INTEFRACE_GENERATOR_CMD} ${FULL_XML_NAME} ${ARG_NAMESPACE} ${CMAKE_CURRENT_BINARY_DIR} "--parser-type" "${PARSER_TYPE}"
+ DEPENDS ${INTERFACE_GENERATOR_DEPENDENCIES} ${FULL_XML_NAME}
+ COMMENT "Generating files:\n ${HPP_FILE}\n ${CPP_FILE}\nfrom:\n ${FULL_XML_NAME} ..."
+ VERBATIM
+ )
+endmacro()
diff --git a/tools/cmake/helpers/platform.cmake b/tools/cmake/helpers/platform.cmake
new file mode 100644
index 0000000000..a377dfd042
--- /dev/null
+++ b/tools/cmake/helpers/platform.cmake
@@ -0,0 +1,96 @@
+# Copyright (c) 2016, Ford Motor Company
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided with the
+# distribution.
+#
+# Neither the name of the Ford Motor Company nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# SDL build platform includes three necessary components:
+# OS, Architecture and SDK. Build parameters and sources code base
+# could be varied depends on these three components combination.
+#
+# Platform helpers provide functionality to get supported by SDL
+# OS, Architecture or SDK lists and specified for actual build these
+# variables values. Values could be passed to cmake as parameters
+# (f.e. "-DOS_WINDOWS=1 -DSDK_QT=1"), otherwise they will be detected
+# related to current build environment.
+#
+# Full list of supported cmake flags:
+# OS_POSIX
+# OS_WINDOWS
+# ARCH_X86
+# ARCH_X64
+# SDK_QT
+
+function(get_supported_os OS_LIST)
+ set(${OS_LIST} "posix" "win" PARENT_SCOPE)
+endfunction()
+
+function(get_supported_arch ARCH_LIST)
+ set(${ARCH_LIST} "x86" "x64" PARENT_SCOPE)
+endfunction()
+
+function(get_supported_sdk SDK_LIST)
+ set(${SDK_LIST} "qt" PARENT_SCOPE)
+endfunction()
+
+function(get_os OS)
+ if(OS_POSIX)
+ set(${OS} "posix" PARENT_SCOPE)
+ elseif(OS_WINDOWS)
+ set(${OS} "win" PARENT_SCOPE)
+ else()
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ set(${OS} "posix" PARENT_SCOPE)
+ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+ set(${OS} "win" PARENT_SCOPE)
+ else()
+ message(FATAL_ERROR "Unsupported operation system")
+ endif()
+ endif()
+endfunction()
+
+function(get_arch ARCH)
+ if(ARCH_X86)
+ set(${ARCH} "x86" PARENT_SCOPE)
+ elseif(ARCH_X64)
+ set(${ARCH} "x64" PARENT_SCOPE)
+ else()
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386")
+ set(${ARCH} "x86" PARENT_SCOPE)
+ elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
+ set(${ARCH} "x64" PARENT_SCOPE)
+ else()
+ message(FATAL_ERROR "Unsupported architecture")
+ endif()
+ endif()
+endfunction()
+
+function(get_sdk SDK)
+ if(SDK_QT)
+ set(${SDK} "qt" PARENT_SCOPE)
+ endif()
+endfunction()
diff --git a/tools/cmake/helpers/sources.cmake b/tools/cmake/helpers/sources.cmake
new file mode 100644
index 0000000000..0315b905d9
--- /dev/null
+++ b/tools/cmake/helpers/sources.cmake
@@ -0,0 +1,166 @@
+# Copyright (c) 2016, Ford Motor Company
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided with the
+# distribution.
+#
+# Neither the name of the Ford Motor Company nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# Sources helpers provide functionality to collect headers, source files
+# or any other files depends on current build settings (OS, Architecture, SDK).
+#
+# Files could be included or excluded to/from build for some platform by
+# platform-specific suffix adding to filename. For example file
+# sdl_source_file_posix_x86_qt.cc will be added only to build with parameters:
+# OS=posix ARCH=x86 SDK=qt but file sdl_source_file_win.cc to all builds
+# with OS=win option enabled. Suffixes could be mixed within filename randomly.
+#
+# Full list of supported suffixes:
+# posix
+# win
+# x86
+# x64
+# qt
+
+include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/platform.cmake)
+
+function(filter_files_by_name FILES IGNORE_NAMES)
+ set(FILES_LOCAL ${${FILES}})
+ foreach(FILE_ENTRY ${${FILES}})
+ foreach(IGNORE_ENTRY ${IGNORE_NAMES})
+ if(${FILE_ENTRY} MATCHES ${IGNORE_ENTRY})
+ list(REMOVE_ITEM FILES_LOCAL ${FILE_ENTRY})
+ endif()
+ endforeach()
+ endforeach()
+ set(${FILES} ${FILES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(filter_files_by_suffix FILES IGNORE_SUFFIXES)
+ set(FILES_LOCAL ${${FILES}})
+ foreach(FILE_ENTRY ${${FILES}})
+ foreach(IGNORE_ENTRY ${IGNORE_SUFFIXES})
+ if((${FILE_ENTRY} MATCHES "_${IGNORE_ENTRY}_") OR (${FILE_ENTRY} MATCHES "_${IGNORE_ENTRY}\\."))
+ list(REMOVE_ITEM FILES_LOCAL ${FILE_ENTRY})
+ endif()
+ endforeach()
+ endforeach()
+ set(${FILES} ${FILES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(filter_files_by_os FILES)
+ set(FILES_LOCAL ${${FILES}})
+ get_supported_os(OS_LIST)
+ get_os(OS)
+ list(REMOVE_ITEM OS_LIST ${OS})
+ filter_files_by_suffix(FILES_LOCAL "${OS_LIST}")
+ set(${FILES} ${FILES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(filter_files_by_arch FILES)
+ set(FILES_LOCAL ${${FILES}})
+ get_supported_arch(ARCH_LIST)
+ get_arch(ARCH)
+ list(REMOVE_ITEM ARCH_LIST ${ARCH})
+ filter_files_by_suffix(FILES_LOCAL "${ARCH_LIST}")
+ set(${FILES} ${FILES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(filter_files_by_sdk FILES)
+ set(FILES_LOCAL ${${FILES}})
+ get_supported_sdk(SDK_LIST)
+ get_sdk(SDK)
+ if(SDK)
+ list(REMOVE_ITEM SDK_LIST ${SDK})
+ endif()
+ filter_files_by_suffix(FILES_LOCAL "${SDK_LIST}")
+ set(${FILES} ${FILES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(filter_files FILES IGNORE_NAMES)
+ set(FILES_LOCAL ${${FILES}})
+ filter_files_by_name(FILES_LOCAL "${IGNORE_NAMES}")
+ filter_files_by_os(FILES_LOCAL)
+ filter_files_by_arch(FILES_LOCAL)
+ filter_files_by_sdk(FILES_LOCAL)
+ set(${FILES} ${FILES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(collect_sources SOURCES PATHS)
+ set(OPTIONAL_ARG ${ARGN})
+ set(HEADERS_LOCAL)
+ set(SOURCES_LOCAL)
+ get_os(OS)
+
+ foreach(PATH_ENTRY ${PATHS})
+ file(GLOB_RECURSE SOURCES_TO_FILTER "${PATH_ENTRY}/*.c" "${PATH_ENTRY}/*.cc" "${PATH_ENTRY}/*.cpp")
+ filter_files(SOURCES_TO_FILTER "${OPTIONAL_ARG}")
+ list(APPEND SOURCES_LOCAL ${SOURCES_TO_FILTER})
+ set(SOURCES_TO_FILTER)
+ if(${OS} STREQUAL "win")
+ file(GLOB_RECURSE HEADERS_TO_FILTER "${PATH_ENTRY}/*.h" "${PATH_ENTRY}/*.hpp")
+ filter_files(HEADERS_TO_FILTER "${OPTIONAL_ARG}")
+ list(APPEND HEADERS_LOCAL ${HEADERS_TO_FILTER})
+ set(HEADERS_TO_FILTER)
+ endif()
+ endforeach()
+
+ if(${OS} STREQUAL "win")
+ source_group("Header Files" FILES ${HEADERS_LOCAL})
+ source_group("Source Files" FILES ${SOURCES_LOCAL})
+ endif()
+ set(${SOURCES} ${SOURCES_LOCAL} PARENT_SCOPE)
+endfunction()
+
+function(create_test NAME SOURCES LIBS)
+ add_executable("${NAME}" ${CMAKE_SOURCE_DIR}/src/components/test_main.cc ${SOURCES})
+ target_link_libraries("${NAME}" ${LIBS})
+ target_link_libraries("${NAME}" Utils)
+ add_test(NAME ${NAME}
+ COMMAND ${NAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/test_results/)
+endfunction()
+
+function(create_cotired_test NAME SOURCES LIBS)
+ add_executable(
+ ${NAME}
+ EXCLUDE_FROM_ALL
+ ${CMAKE_SOURCE_DIR}/src/components/test_main.cc
+ ${SOURCES}
+ )
+ # TODO: Fix problems with Cotire on Windows and Qt APPLINK-28060
+ if(${USE_COTIRE} AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux"))
+ include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/cotire.cmake)
+ cotire(${NAME})
+ set(NAME "${NAME}_unity")
+ endif()
+ target_link_libraries(${NAME} ${LIBS})
+ set_target_properties(
+ ${NAME}
+ PROPERTIES
+ EXCLUDE_FROM_ALL 0
+ )
+ add_test(NAME ${NAME}
+ COMMAND ${NAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/test_results/)
+endfunction()
diff --git a/cmake/Modules/FindGlib-2.0.cmake b/tools/cmake/modules/FindGlib-2.0.cmake
index b39da141c9..b39da141c9 100644
--- a/cmake/Modules/FindGlib-2.0.cmake
+++ b/tools/cmake/modules/FindGlib-2.0.cmake
diff --git a/cmake/Modules/FindGstreamer-1.0.cmake b/tools/cmake/modules/FindGstreamer-1.0.cmake
index 8f1d69d01b..8f1d69d01b 100644
--- a/cmake/Modules/FindGstreamer-1.0.cmake
+++ b/tools/cmake/modules/FindGstreamer-1.0.cmake
diff --git a/cmake/Modules/FindLibXML2.cmake b/tools/cmake/modules/FindLibXML2.cmake
index 1daaeb07b7..1daaeb07b7 100644
--- a/cmake/Modules/FindLibXML2.cmake
+++ b/tools/cmake/modules/FindLibXML2.cmake
diff --git a/cmake/Modules/FindQt5Core.cmake b/tools/cmake/modules/FindQt5Core.cmake
index 1a2ad84842..1a2ad84842 100644
--- a/cmake/Modules/FindQt5Core.cmake
+++ b/tools/cmake/modules/FindQt5Core.cmake
diff --git a/cmake/Modules/FindQt5DBus.cmake b/tools/cmake/modules/FindQt5DBus.cmake
index d850010e97..d850010e97 100644
--- a/cmake/Modules/FindQt5DBus.cmake
+++ b/tools/cmake/modules/FindQt5DBus.cmake
diff --git a/cmake/Modules/FindQt5Qml.cmake b/tools/cmake/modules/FindQt5Qml.cmake
index f4bdaa8f71..f4bdaa8f71 100644
--- a/cmake/Modules/FindQt5Qml.cmake
+++ b/tools/cmake/modules/FindQt5Qml.cmake
diff --git a/cmake/Modules/FindQt5Quick.cmake b/tools/cmake/modules/FindQt5Quick.cmake
index 1e16340c2e..1e16340c2e 100644
--- a/cmake/Modules/FindQt5Quick.cmake
+++ b/tools/cmake/modules/FindQt5Quick.cmake
diff --git a/tools/cmake/modules/FindSDLGstreamer.cmake b/tools/cmake/modules/FindSDLGstreamer.cmake
new file mode 100644
index 0000000000..515404d39b
--- /dev/null
+++ b/tools/cmake/modules/FindSDLGstreamer.cmake
@@ -0,0 +1,42 @@
+# - Try to find Gstreamer
+#
+# GSTREAMER_INCLUDE_DIRECTORY - the Gstreamer include directory
+# GSTREAMER_LIBRARIES - the Gstreamer libraries
+
+get_os(OS)
+if(${OS} STREQUAL "posix")
+ find_package(Gstreamer-1.0 REQUIRED)
+ find_package(Glib-2.0 REQUIRED)
+ find_package(PkgConfig)
+ pkg_check_modules(GLIB2 REQUIRED glib-2.0)
+ add_definitions(${GLIB2_CFLAGS})
+ set(GSTREAMER_INCLUDE_DIRECTORY
+ ${GSTREAMER_gst_INCLUDE_DIR}
+ ${GLIB_glib_2_INCLUDE_DIR}
+ )
+ set(GSTREAMER_LIBRARIES
+ ${GSTREAMER_gstreamer_LIBRARY}
+ gobject-2.0
+ glib-2.0
+ )
+elseif(${OS} STREQUAL "win")
+ get_sdk(SDK)
+ if(NOT SDK)
+ if(EXISTS $ENV{SDL_GSTREAMER_DIR})
+ set(GSTREAMER_DIR $ENV{SDL_GSTREAMER_DIR})
+ else()
+ message(FATAL_ERROR "Could not find GSTREAMER (Check SDL_GSTREAMER_DIR environment variable)")
+ endif()
+ set(GSTREAMER_INCLUDE_DIRECTORY
+ ${GSTREAMER_DIR}/include/gstreamer-0.10
+ ${GSTREAMER_DIR}/include/libxml2
+ ${GSTREAMER_DIR}/include/glib-2.0
+ ${GSTREAMER_DIR}/lib/glib-2.0/include
+ )
+ set(GSTREAMER_LIBRARIES
+ ${GSTREAMER_DIR}/lib/gstreamer-0.10.lib
+ ${GSTREAMER_DIR}/lib/glib-2.0.lib
+ ${GSTREAMER_DIR}/lib/gobject-2.0.lib
+ )
+ endif()
+endif()
diff --git a/tools/cmake/modules/FindSDLLibUSB.cmake b/tools/cmake/modules/FindSDLLibUSB.cmake
new file mode 100644
index 0000000000..0082d62315
--- /dev/null
+++ b/tools/cmake/modules/FindSDLLibUSB.cmake
@@ -0,0 +1,19 @@
+# - Try to find libusb
+#
+# LIBUSB_INCLUDE_DIRECTORY - the libusb include directory
+# LIBUSB_LIBRARIES - libusb libraries to link
+
+get_os(OS)
+if(${OS} STREQUAL "posix")
+ set(LIBUSB_INCLUDE_DIRECTORY /usr/include/libusb-1.0)
+ set(LIBUSB_LIBRARIES usb-1.0 udev)
+elseif(${OS} STREQUAL "win")
+ get_arch(ARCH)
+ if(${ARCH} STREQUAL "x86")
+ set(LIBUSB_DIR ${CMAKE_SOURCE_DIR}/build/libusbx_win_x86)
+ elseif(${ARCH} STREQUAL "x64")
+ set(LIBUSB_DIR ${CMAKE_SOURCE_DIR}/build/libusbx_win_x64)
+ endif()
+ set(LIBUSB_INCLUDE_DIRECTORY ${LIBUSB_DIR}/libusb)
+ set(LIBUSB_LIBRARIES ${LIBUSB_DIR}/bin/libusb-1.0.lib)
+endif()
diff --git a/tools/cmake/modules/FindSDLOpenSSL.cmake b/tools/cmake/modules/FindSDLOpenSSL.cmake
new file mode 100644
index 0000000000..c16236a1cb
--- /dev/null
+++ b/tools/cmake/modules/FindSDLOpenSSL.cmake
@@ -0,0 +1,18 @@
+# - Try to find OpenSSL
+#
+# OPENSSL_INCLUDE_DIRECTORY - the OpenSSL include directory
+# OPENSSL_LIBRARIES - the OpenSSL libraries
+
+get_os(OS)
+if(${OS} STREQUAL "posix")
+ find_package(OpenSSL REQUIRED)
+elseif(${OS} STREQUAL "win")
+ get_arch(ARCH)
+ if(${ARCH} STREQUAL "x86")
+ set(OPENSSL_DIR ${CMAKE_SOURCE_DIR}/build/openssl_win_x86)
+ elseif(${ARCH} STREQUAL "x64")
+ set(OPENSSL_DIR ${CMAKE_SOURCE_DIR}/build/openssl_win_x64)
+ endif()
+ set(OPENSSL_INCLUDE_DIRECTORY ${OPENSSL_DIR}/include)
+ set(OPENSSL_LIBRARIES ${OPENSSL_DIR}/lib/libeay32.lib ${OPENSSL_DIR}/lib/ssleay32.lib)
+endif()
diff --git a/cmake/Modules/FindSqlite3.cmake b/tools/cmake/modules/FindSqlite3.cmake
index 514ff0b7f9..f6bdcad69c 100644
--- a/cmake/Modules/FindSqlite3.cmake
+++ b/tools/cmake/modules/FindSqlite3.cmake
@@ -23,7 +23,7 @@ else (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
else (PKG_CONFIG_FOUND)
message(WARNING "PkgConfig isn't installed. You need to sure sqlite3>=3.7.11")
endif (PKG_CONFIG_FOUND)
-
+
find_path(SQLITE3_INCLUDE_DIR
NAMES
sqlite3.h
diff --git a/cmake/Modules/FindUDev.cmake b/tools/cmake/modules/FindUDev.cmake
index cdc8743777..cdc8743777 100644
--- a/cmake/Modules/FindUDev.cmake
+++ b/tools/cmake/modules/FindUDev.cmake
diff --git a/tools/intergen/test/CMakeLists.txt b/tools/intergen/test/CMakeLists.txt
index f8af75c3bf..27d506443e 100644
--- a/tools/intergen/test/CMakeLists.txt
+++ b/tools/intergen/test/CMakeLists.txt
@@ -76,10 +76,10 @@ if (${HMI_DBUS_API})
${CMAKE_SOURCE_DIR}/src/components/dbus/include
${DBUS_INCLUDE_DIRS}
)
- set (LIBRARIES ${LIBRARIES} DBus)
+ set (LIBRARIES ${LIBRARIES} dbus)
set (SOURCES ${SOURCES} generated_interface_dbus_tests.cc)
endif ()
create_test(test_generated_interface "${SOURCES}" "${LIBRARIES}")
-endif() \ No newline at end of file
+endif()