summaryrefslogtreecommitdiff
path: root/src/appMain/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/appMain/CMakeLists.txt')
-rw-r--r--src/appMain/CMakeLists.txt160
1 files changed, 91 insertions, 69 deletions
diff --git a/src/appMain/CMakeLists.txt b/src/appMain/CMakeLists.txt
index 84b2c847bd..514867624a 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,33 +28,64 @@
# 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)
+
+if (EXTENDED_MEDIA_MODE)
+ set(default_media_inc
+ ${GSTREAMER_gst_INCLUDE_DIR}
+ ${GSTREAMER_gstconfig_INCLUDE_DIR}
+ )
+else(EXTENDED_MEDIA_MODE)
+ set(default_media_inc)
+endif()
+
+include_directories(
+ ${COMPONENTS_DIR}/protocol_handler/include
+ ${COMPONENTS_DIR}/application_manager/include
+ ${COMPONENTS_DIR}/remote_control/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}/hmi_message_handler/src
+ ${COMPONENTS_DIR}/request_watchdog/include
+ ${COMPONENTS_DIR}/smart_objects/include
+ ${COMPONENTS_DIR}/media_manager/include
+ ${COMPONENTS_DIR}/telemetry_monitor/include
+ ${COMPONENTS_DIR}/functional_module/include
+ ${POLICY_PATH}/include
+ ${POLICY_GLOBAL_INCLUDE_PATH}/
+ ${COMPONENTS_DIR}/rpc_base/include
+ ${COMPONENTS_DIR}/resumption/include
+ ${COMPONENTS_DIR}/dbus/include
+ ${CMAKE_BINARY_DIR}/src/components
+ ${JSONCPP_INCLUDE_DIRECTORY}
+ ${LOG4CXX_INCLUDE_DIRECTORY}
+ ${BSON_INCLUDE_DIRECTORY}
+ ${OPENSSL_INCLUDE_DIRECTORY}
+ ${default_media_inc}
+ ${MESSAGE_BROKER_INCLUDE_DIRECTORY}
+ ${BOOST_INCLUDE_DIR}
)
-ENDIF ()
+
+collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
cmake_policy(PUSH)
# make link_directories() treat paths relative to the source dir
# info: cmake --help-policy CMP0015
cmake_policy(SET CMP0015 NEW)
-link_directories(${LIBUSB_LIBS_DIRECTORY})
cmake_policy(POP)
-if (EXTENDED_MEDIA_MODE)
-set(default_media_inc
-${GSTREAMER_gst_INCLUDE_DIR}
-${GSTREAMER_gstconfig_INCLUDE_DIR}
-)
-else(EXTENDED_MEDIA_MODE)
-set(default_media_inc
-)
-endif()
-
if (TELEMETRY_MONITOR)
- set(TELEMETRY_MONITOR_LIB
- TelemetryMonitor)
+ set(TELEMETRY_MONITOR_LIB
+ TelemetryMonitor
+ )
endif()
set(LIBRARIES
@@ -73,13 +104,18 @@ set(LIBRARIES
TransportManager
${SecurityManagerLibrary}
HMIMessageHandler
- MessageBroker
${BROKER_LIBRARIES}
Utils
jsoncpp
ConfigProfile
Resumption
)
+if(REMOTE_CONTROL)
+ SET (LIBRARIES
+ ${LIBRARIES}
+ FunctionalModule
+ )
+endif(REMOTE_CONTROL)
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
list(APPEND LIBRARIES pthread)
@@ -87,12 +123,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.so)
+ endif()
endif()
if(ENABLE_LOG)
@@ -102,51 +141,19 @@ 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/
-)
+list(APPEND LIBRARIES bson -L${BSON_LIBS_DIRECTORY})
+list(APPEND LIBRARIES emhashmap -L${EMHASHMAP_LIBS_DIRECTORY})
-set (SOURCES
- main.cc
- life_cycle.cc
- signal_handlers.cc
-)
+add_executable(${PROJECT} ${SOURCES})
-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)
+if (HMIADAPTER STREQUAL "messagebroker")
+ add_dependencies(${PROJECT} Boost)
+ list(APPEND LIBRARIES libboost_system.so)
endif()
-add_executable(${PROJECT} ${SOURCES})
target_link_libraries(${PROJECT} ${LIBRARIES})
+add_dependencies(${PROJECT} Policy)
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})
@@ -154,6 +161,9 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/test.txt DESTINATION ${CMAKE_CURRENT_BINAR
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/smartDeviceLink.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sample_policy_manager.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/start.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/start_external_proprietary.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/init_policy.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
endif ()
@@ -203,16 +213,17 @@ endif ()
install(TARGETS ${PROJECT} DESTINATION bin)
install(
FILES log4cxx.properties audio.8bit.wav test.txt smartDeviceLink.ini
- hmi_capabilities.json sdl_preloaded_pt.json
+ hmi_capabilities.json sdl_preloaded_pt.json sample_policy_manager.py
${CMAKE_SOURCE_DIR}/mycert.pem ${CMAKE_SOURCE_DIR}/mykey.pem
DESTINATION bin
)
-if (${WEB_HMI})
- if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- install( DIRECTORY ${CMAKE_HOME_DIRECTORY}/src/components/HMI/ DESTINATION bin/HMI)
- endif ()
-elseif (${QT_HMI})
+install(
+ FILES sdl_preloaded_pt.json
+ DESTINATION bin
+)
+
+if (${QT_HMI})
if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
install(FILES start-qml.sh DESTINATION bin
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
@@ -227,3 +238,14 @@ if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif ()
+
+if (${EXTENDED_POLICY} STREQUAL "EXTERNAL_PROPRIETARY")
+ install(FILES start_external_proprietary.sh DESTINATION bin
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
+ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME start.sh)
+else()
+ install(FILES start.sh DESTINATION bin
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
+ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+endif()
+