Merge pull request #30 from tripzero/master
[profile/ivi/automotive-message-broker.git] / CMakeLists.txt
index c960308..dd98be8 100644 (file)
@@ -6,8 +6,8 @@ set(CMAKE_BUILD_TYPE, Debug)
 include(FindPkgConfig)
 
 set(PROJECT_NAME "automotive-message-broker")
-set(PROJECT_VERSION "0.11.810")
-set(PROJECT_CODENAME "veyron")
+set(PROJECT_VERSION "0.12.802")
+set(PROJECT_CODENAME "agera")
 set(PROJECT_QUALITY "alpha")
 
 add_definitions(-DPROJECT_VERSION="${PROJECT_VERSION}")
@@ -17,6 +17,7 @@ add_definitions(-DPROJECT_QUALITY="${PROJECT_QUALITY}")
 
 set (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
 set (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${CMAKE_LIBRARY_ARCHITECTURE}" CACHE STRING "Directory where lib will install")
+set (PLUGIN_INSTALL_PATH "${LIB_INSTALL_DIR}/${PROJECT_NAME}")
 set (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The directory the headers are installed in")
 set (DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PROJECT_NAME}" CACHE PATH "The directory the docs will be installed to")
 
@@ -30,7 +31,7 @@ option(qt_bindings "AMB Qt DBus bindings" OFF)
 option(opencvlux_plugin "OpenCV Lux plugin" OFF)
 option(murphy_plugin "murphy policy framework plugin" OFF)
 option(test_plugin "Test Plugin" ON)
-option(bluemonkey_plugin "bluemonkey irc plugin" OFF)
+option(bluemonkey_plugin "bluemonkey plugin" OFF)
 option(gpsnmea_plugin "gps NMEA location plugin" OFF)
 option(openxc_plugin "OpenXC plugin" OFF)
 option(bluetooth_plugin "bluetooth plugin" OFF)
@@ -39,10 +40,12 @@ option(cangen_plugin "Can generator plugin" OFF)
 option(enable_icecc "Enable icecc checking, for distributed compilation" ON)
 option(enable_docs "enable Doxygen doc generation" OFF)
 option(usebluez5 "use bluez 5 API" OFF)
+option(xwalk_vehicle_extension "Crosswalk vehicle extension" OFF)
+set(XWALK_EXTENSION_PATH "/automotive-message-broker/xwalk" CACHE PATH "directory the xwalk extension will be installed to")
 
 #turn on -fpic/-fpie:
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-list(APPEND CMAKE_CXX_FLAGS "-fpie -pie -std=c++11")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie -pie -std=c++11")
 
 if(opencvlux_plugin)
    message(STATUS "OpenCV Lux plugin enabled")
@@ -66,20 +69,13 @@ if(enable_docs)
 message(STATUS "doxygen doc generation enabled")
 find_package(Doxygen)
 if(DOXYGEN_FOUND)
-       configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
-       add_custom_target(all ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs COMMENT "Generating API documentation with Doxygen" VERBATIM)
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.idl.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.idl @ONLY)
+  add_custom_target(all ALL ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs/amb COMMENT "Generating API documentation with Doxygen" VERBATIM)
+  add_custom_target(idl ALL ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.idl WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs/dbus COMMENT "Generating DBus API documentation with Doxygen" VERBATIM)
 endif(DOXYGEN_FOUND)
 endif(enable_docs)
 
-find_library(libtool_LIBRARY ltdl DOC "Libtool libraries")
-find_path(libtool_INCLUDE_DIR ltdl.h DOC "Libtool headers")
-
-if(libtool_LIBRARY)
-     message(STATUS "libltdl / libtool found")
-else(libtool_LIBRARY)
-     message(FATAL_ERROR "libltdl / libtool missing.  please install libltdl / libtool")
-endif(libtool_LIBRARY)
-
 find_package(Boost REQUIRED)
 
 
@@ -89,37 +85,37 @@ pkg_check_modules(json REQUIRED json)
 add_definitions(-DDBusServiceName="org.automotive.message.broker")
 
 set(include_dirs ${libtool_INCLUDE_DIR} ${glib_INCLUDE_DIRS} ${gio_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${json_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
-set(link_libraries -lamb ${libtool_LIBRARY} ${glib_LIBRARIES} ${json_LIBRARIES} -L${CMAKE_CURRENT_BINARY_DIR}/lib)
+set(link_libraries -lamb ${glib_LIBRARIES} ${json_LIBRARIES} -L${CMAKE_CURRENT_BINARY_DIR}/lib)
 
 if(qtmainloop)
-       message(STATUS "using Qt mainloop")
-
-       find_package(Qt5Core)
-       if(Qt5Core_FOUND)
-               message(STATUS "using Qt5")
-               set(QT_INCLUDE_DIRS ${Qt5Core_INCLUDE_DIRS})
-               set(QT_LIBRARIES ${Qt5Core_LIBRARIES})
-               set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
-       #       if(CMAKE_SIZEOF_VOID_P MATCHES "8")
-       #               set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcmodel=large")
-       #       endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
-               add_definitions(${Qt5Core_DEFINITIONS})
-       else(Qt5Core_FOUND)
-               message(STATUS "using Qt4")
-               find_package( Qt4 REQUIRED )
-               include(${QT_USE_FILE})
-
-       endif(Qt5Core_FOUND)
-
-       set(include_dirs ${include_dirs} ${QT_INCLUDE_DIRS})
-       set(link_libraries ${link_libraries} ${QT_LIBRARIES})
-
-       add_definitions(-DQT_NO_KEYWORDS)
-       add_definitions(-DUSE_QT_CORE)
+  message(STATUS "using Qt mainloop")
+
+  find_package(Qt5Core)
+  if(Qt5Core_FOUND)
+    message(STATUS "using Qt5")
+    set(QT_INCLUDE_DIRS ${Qt5Core_INCLUDE_DIRS})
+    set(QT_LIBRARIES ${Qt5Core_LIBRARIES})
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+  #    if(CMAKE_SIZEOF_VOID_P MATCHES "8")
+  #            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcmodel=large")
+  #    endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
+    add_definitions(${Qt5Core_DEFINITIONS})
+  else(Qt5Core_FOUND)
+    message(STATUS "using Qt4")
+    find_package( Qt4 REQUIRED )
+    include(${QT_USE_FILE})
+
+  endif(Qt5Core_FOUND)
+
+  set(include_dirs ${include_dirs} ${QT_INCLUDE_DIRS})
+  set(link_libraries ${link_libraries} ${QT_LIBRARIES})
+
+  add_definitions(-DQT_NO_KEYWORDS)
+  add_definitions(-DUSE_QT_CORE)
 endif(qtmainloop)
 
 if(usebluez5)
-        add_definitions(-DUSE_BLUEZ5)
+  add_definitions(-DUSE_BLUEZ5)
 
 endif(usebluez5)
 
@@ -149,9 +145,12 @@ SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
 
 INCLUDE(CPack)
 
+configure_file (${CMAKE_CURRENT_SOURCE_DIR}/packaging.in/config.tizen.in ${CMAKE_CURRENT_BINARY_DIR}/packaging.in/config.tizen @ONLY)
+
 add_subdirectory(lib)
 add_subdirectory(ambd)
 add_subdirectory(plugins)
 add_subdirectory(docs)
 add_subdirectory(tests)
 add_subdirectory(examples)
+add_subdirectory(xwalk)