summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJustin Dickow <jjdickow@gmail.com>2015-02-20 09:11:18 -0500
committerJustin Dickow <jjdickow@gmail.com>2015-02-20 09:11:18 -0500
commita7c5d752cb75485baa0ded5226335d0f8eb10321 (patch)
treefbfd9251ada2cdcd5cf6a03a79887d08f6b496d7 /CMakeLists.txt
parentb2b2233d866f102d3de339afa8ccaf37d3cf2570 (diff)
downloadsdl_core-a7c5d752cb75485baa0ded5226335d0f8eb10321.tar.gz
Bug Fixes and ImprovementsSynchronizationCommit
Fix Empty perform iteration request Fix type of name from string to enum SendLocation implemented on HTML5 HMI Fixed PI response on VR rejection due to high priority. Fix Apps not responsive/not able to start app/apps remain listed on SYNC even after USB disconnect Mobile API change and processing capabilities Change perform interaction request conditions. Fix SDL must always start 3sec timer before resuming the HMILevel of the app Remove redundant StartSavePersistentDataTimer() call. Change wrong predicate name to right. Added stream request handling feature Made streaming timeout in media manager configurable Put navi app in LIMITED in case of phone call Handling of audio state for applications Add stop streaming timeout into ini file Implement HMILevel resumption for job-1 Fix result code ABORTED when interrupts it by Voice recognition activation Fix incorrect value parameter unexpectedDisconnect in BCOnAppUnregistered Fix SDL send BC.OnAppUnregistered with "unexpectedDisconnect" set to "true" in case received from HMI OnExitAllApplications {"reason":"MASTER_RESET"} Fix Update ini file for iAP1 support Current working directory added to image path Fix helpers to make it workable with more then 2 parameters DCHECK() for ManageMobileCommand() replaced with log message because the latter returns false in some regular situations (e.g. TOO_MANY_PENDING_REQUESTS, see SDLAQ-CRS-10) Remove connection after closing. Signed-off-by: Justin Dickow <jjdickow@gmail.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt381
1 files changed, 261 insertions, 120 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a9d8be65b4..1776a00bbb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,19 +38,16 @@ set (HMI "web" CACHE STRING "HMI type")
option(HMI2 "Use Qt HMI" OFF)
option(EXTENDED_MEDIA_MODE "Turn on and off extended Madia Manager features relates to PulseAudio A2DP and GStreamer" OFF)
option(BUILD_SHARED_LIBS "Build all libraries as shared (if ON) or static (if OFF)" OFF)
-option(BUILD_BT_SUPPORT "Bluetooth support" OFF)
-option(BUILD_USB_SUPPORT "libusb support" OFF)
-option(BUILD_AOA_SUPPORT "libaoa support" OFF)
-option(BUILD_MME_SUPPORT "Apple devices support" OFF)
-option(BUILD_AVAHI_SUPPORT "libavahi support" OFF)
-option(BUILD_RWLOCK_SUPPORT "rwlocks support" OFF)
+option(BUILD_BT_SUPPORT "Bluetooth support" ON)
+option(BUILD_USB_SUPPORT "libusb support" ON)
+option(BUILD_AVAHI_SUPPORT "libavahi support" ON)
option(BUILD_BACKTRACE_SUPPORT "backtrace support" ON)
option(BUILD_TESTS "Possibility to build and run tests" OFF)
option(TIME_TESTER "Enable profiling time test util" ON)
option(ENABLE_LOG "Logging feature" ON)
option(ENABLE_GCOV "gcov code coverage feature" OFF)
+option(ENABLE_SANITIZE "Sanitize tool" OFF)
option(ENABLE_SECURITY "Security Ford protocol protection" ON)
-option(EXTENDED_POLICY_FLAG "Build with specific features and extended functionality" OFF)
set(OS_TYPE_OPTION "$ENV{OS_TYPE}")
set(DEBUG_OPTION "$ENV{DEBUG}")
@@ -62,24 +59,10 @@ set(ENABLE_LOG_OPTION "$ENV{ENABLE_LOG}")
set(ARCH_TYPE_OPTION "$ENV{ARCH_TYPE}")
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}")
-add_custom_target(pasa-tarball
- COMMAND ${CMAKE_SOURCE_DIR}/tools/Utils/export-customer-specific.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} pasa
- COMMAND tar -cz -C /tmp/PASA -f ${CMAKE_BINARY_DIR}/pasa.tar.gz .
- DEPENDS HMI_API MOBILE_API v4_protocol_v1_2_no_extra
-)
-add_custom_target(ford-tarball
- COMMAND ${CMAKE_SOURCE_DIR}/tools/Utils/export-customer-specific.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} FORD
- COMMAND tar -czv -C /tmp/FORD -f ${CMAKE_BINARY_DIR}/ford.tar.gz .
- DEPENDS HMI_API MOBILE_API v4_protocol_v1_2_no_extra
-)
-
-add_custom_target(genivi-tarball
- COMMAND ${CMAKE_SOURCE_DIR}/tools/Utils/export-customer-specific.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} genivi
- COMMAND tar -czv -C /tmp/GENIVI -f ${CMAKE_BINARY_DIR}/genivi.tar.gz .
- DEPENDS HMI_API MOBILE_API v4_protocol_v1_2_no_extra
-)
if (ARCH_TYPE_OPTION)
if (NOT (${ARCH_TYPE_OPTION} STREQUAL "x86") AND NOT (${ARCH_TYPE_OPTION} STREQUAL "armv7"))
@@ -150,12 +133,6 @@ if (ENABLE_LOG_OPTION)
endif()
endif()
-if (POLICY_OPTION)
- if (${POLICY_OPTION} STREQUAL "EXTENDED_POLICY")
- message(STATUS "Jenkins integration: Extended policy is used")
- set (EXTENDED_POLICY_FLAG ON)
- endif()
-endif()
if (SECURITY_OPTION)
if (${SECURITY_OPTION} STREQUAL "SEC_OFF")
@@ -164,9 +141,26 @@ if (SECURITY_OPTION)
endif()
endif()
-
#Jenkins integration section end
+add_custom_target(pasa-tarball
+ COMMAND ${CMAKE_SOURCE_DIR}/tools/Utils/export-customer-specific.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} pasa
+ COMMAND tar -cz -C /tmp/PASA -f ${CMAKE_BINARY_DIR}/pasa.tar.gz .
+ DEPENDS HMI_API MOBILE_API v4_protocol_v1_2_no_extra
+)
+
+add_custom_target(ford-tarball
+ COMMAND ${CMAKE_SOURCE_DIR}/tools/Utils/export-customer-specific.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ford
+ COMMAND tar -cz -C /tmp/FORD -f ${CMAKE_BINARY_DIR}/ford.tar.gz .
+ DEPENDS HMI_API MOBILE_API v4_protocol_v1_2_no_extra
+)
+
+add_custom_target(genivi-tarball
+ COMMAND ${CMAKE_SOURCE_DIR}/tools/Utils/export-customer-specific.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} genivi
+ COMMAND tar -cz -C /tmp/GENIVI -f ${CMAKE_BINARY_DIR}/genivi.tar.gz .
+)
+
+
project (${PROJECT})
#ADD_DEPENDENCIES(${PROJECT} Policy)
@@ -177,17 +171,18 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
# flag is handled by CMake
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
set(ARCHIVE_OUTPUT_DIRECTORY ./bin)
-set(CMAKE_CXX_FLAGS "-fPIC -g3 -ggdb3 -std=gnu++0x -Wall -Werror -Wuninitialized")
-if (ENABLE_GCOV)
+
+set(CMAKE_CXX_FLAGS "-fPIC -std=gnu++0x -Wall -Werror -Wuninitialized -Wvla")
+
+if(ENABLE_SANITIZE)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
+endif()
+if(ENABLE_GCOV)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
add_definitions(-DGCOV_ENABLED)
endif()
-set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -s -O2") #It will be appended to CMAKE_CXX_FLAGS in release
-
-#include_directories(
-# ../../../src/components/policy/
-# ../../../src/components/rpc_base/
-#)
+set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG -s -O2")
+set(CMAKE_CXX_FLAGS_DEBUG " -DDEBUG -g3 -ggdb3")
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
add_definitions(-DOS_LINUX)
@@ -219,10 +214,6 @@ if (BUILD_AVAHI_SUPPORT)
message(STATUS "Avahi support is enabled")
endif()
-if (BUILD_RWLOCK_SUPPORT)
- add_definitions(-DRWLOCK_SUPPORT)
-endif()
-
if (BUILD_BACKTRACE_SUPPORT)
add_definitions(-DBACKTRACE_SUPPORT)
endif()
@@ -239,16 +230,6 @@ endif()
# TODO(AK): check current OS here
add_definitions(-DOS_POSIX)
-# FIXME(DC): weird logic
-IF(CMAKE_C_FLAGS_DEBUG)
- SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG" )
- add_definitions(-DDEBUG)
-ELSE (CMAKE_C_FLAGS_DEBUG)
- SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DRELEASE" )
- add_definitions(-DRELEASE)
-ENDIF(CMAKE_C_FLAGS_DEBUG)
-
-
if (EXTENDED_MEDIA_MODE)
add_definitions(-DEXTENDED_MEDIA_MODE)
# required to find 'glibconfig.h'
@@ -316,9 +297,8 @@ macro (GenerateInterface arg_xml_name arg_namespace parser_type)
)
include_directories (
- ../../../src/components/smart_objects/include
- ../../../src/components/formatters/include/
- ${CMAKE_SOURCE_DIR}/src/components/formatters/include/
+ ${COMPONENTS_DIR}/smart_objects/include
+ ${COMPONENTS_DIR}/formatters/include/
${CMAKE_BINARY_DIR}
)
@@ -327,14 +307,17 @@ endmacro(GenerateInterface)
# --- Useful macro
macro(create_test NAME SOURCES LIBS)
- add_executable("${NAME}" ${SOURCES})
- target_link_libraries("${NAME}" ${LIBS})
- target_link_libraries("${NAME}" Utils)
- if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
- add_test(${NAME} ${CMAKE_SOURCE_DIR}/qnx/remote_run_test.sh ${NAME})
- else()
- add_test(${NAME} ${NAME})
- endif()
+ add_executable("${NAME}" ${SOURCES})
+ target_link_libraries("${NAME}" ${LIBS})
+ target_link_libraries("${NAME}" Utils)
+ 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/)
+ else()
+ add_test(${NAME} ${NAME})
+ endif()
endmacro(create_test)
# --replace in list macro
@@ -388,8 +371,8 @@ endif()
# --- Directory with SDL interfaces, global types and ProtocolLib component
include_directories(
- ${CMAKE_SOURCE_DIR}/src/components/include
- ${CMAKE_SOURCE_DIR}/src/components/protocol/include
+ ${COMPONENTS_DIR}/include
+ ${COMPONENTS_DIR}/protocol/include
)
# --- 3rd party libs
@@ -400,66 +383,219 @@ set(3RD_PARTY_BINARY_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/3rd_party)
set (install-3rd_party_logger_var "")
set (install-3rd_party_dbus_var "")
-set (is_logger_actual 1)
-set (is_dbus_actual 1)
-set (is_git_folder 1)
-execute_process(
- COMMAND /bin/bash -c "cd ${CMAKE_CURRENT_SOURCE_DIR} && git log . 1>/dev/null 2>&1; if [ $? == 0 ]; then exit 0; else exit 1; fi"
- RESULT_VARIABLE is_git_folder
-)
-if(ENABLE_LOG)
- #build logger
- if(is_git_folder EQUAL 0)
- execute_process(
- 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=\$(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0); if [[ \$VAR1 == \$VAR2 ]]; then exit 0; else exit 1; fi; else exit 1; fi"
- RESULT_VARIABLE is_logger_actual
- )
- endif()
- if(is_logger_actual EQUAL 0)
- message(STATUS "Logger is actual.")
+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()
- message(STATUS "Need to rebuild logger.")
+ set(FORCE_3RD_PARTY_LOGGER ON)
+ set(FORCE_3RD_PARTY_DBUS ON)
+ endif()
+endif()
- add_custom_target(3rd_party_logger
- make
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
- #install logger
- #install either to default place with sudo or none-default plase without sudo.
- #to install with sudo to none-default place use manual installation
- add_custom_target(install-3rd_party_logger
- COMMAND /bin/bash -c \"if [ ! ${is_logger_actual} == 0 ]\; then USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; if [[ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]]\; then sudo make install\; else make install\; fi\; fi\"
- DEPENDS 3rd_party_logger
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
+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")
-#build d-bus
- execute_process(
- 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=\$(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8); if [[ \$VAR1 == \$VAR2 ]]; then exit 0; else exit 1; fi; else exit 1; fi"
- RESULT_VARIABLE is_dbus_actual
- )
- if(is_dbus_actual EQUAL 0)
- message(STATUS "D-Bus is actual.")
+ if(NO_REBUILD_3RD_PARTY_DBUS)
+ message(STATUS "Not rebuilding D-Bus.")
else()
- message(STATUS "Need to rebuild 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 none default plase without sudo.
- #to install with sudo to none default place use manual installation
- add_custom_target(install-3rd_party_dbus
- COMMAND /bin/bash -c \"if [ ! ${is_dbus_actual} == 0 ]\; then USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; if [[ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]]\; then sudo make install\; else make install\; fi\; fi\"
- DEPENDS 3rd_party_dbus
- WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
- )
+ 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()
@@ -471,11 +607,15 @@ add_custom_target(install-3rd_party
WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
)
+if(ENABLE_LOG)
+ include_directories ( ${LOG4CXX_INCLUDE_DIRECTORY} )
+endif()
+
if(ENABLE_SECURITY)
add_definitions(-DENABLE_SECURITY)
set(SecurityManagerLibrary SecurityManager)
- set(SecurityManagerIncludeDir ${CMAKE_SOURCE_DIR}/src/components/security_manager/include)
- set(SecurityManagerTestIncludeDir ${CMAKE_SOURCE_DIR}/test/components/security_manager/include)
+ set(SecurityManagerIncludeDir ${COMPONENTS_DIR}/security_manager/include)
+ #set(SecurityManagerTestIncludeDir ${CMAKE_SOURCE_DIR}/test/components/security_manager/include)
endif()
set(RTLIB rt)
@@ -498,6 +638,7 @@ add_subdirectory(./src/3rd_party-static)
# --- Tools
add_subdirectory(./tools)
+
# --- Components
add_subdirectory(./src/components)
@@ -514,8 +655,8 @@ if(BUILD_TESTS)
include(Dart)
#add_subdirectory(./test)
endif()
-
-# Building documentation
+
+# Building documentation
# At first creating directory for generated documentation. Unfortunately doxygen
# cannot generate it byself