X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=43d79db7f4e46fef7fbd909e4d9da7c6b6ca99c1;hb=4d43929911190385dc30dce1c3929c70f8ffbb96;hp=12c84c2e31ebc6c9fd2e690d665c3ba20939e89c;hpb=857e6ab73130278417b5d6f6db67c19f093db575;p=profile%2Fivi%2Fautomotive-message-broker.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 12c84c2..43d79db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,61 +4,60 @@ cmake_minimum_required(VERSION 2.8) set(CMAKE_BUILD_TYPE, Debug) include(FindPkgConfig) +include(CMakeDependentOption) set(PROJECT_NAME "automotive-message-broker") -set(PROJECT_VERSION "0.10.999") -set(PROJECT_CODENAME "challenger") +set(PROJECT_PRETTY_NAME "Automotive Message Broker") +set(PROJECT_VERSION "0.13.800") +set(PROJECT_CODENAME "") +set(PROJECT_QUALITY "alpha") add_definitions(-DPROJECT_VERSION="${PROJECT_VERSION}") add_definitions(-DPROJECT_NAME="${PROJECT_NAME}") add_definitions(-DPROJECT_CODENAME="${PROJECT_CODENAME}") +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 (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") +set (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${CMAKE_LIBRARY_ARCHITECTURE}" ) +set (PLUGIN_INSTALL_PATH "${LIB_INSTALL_DIR}/${PROJECT_NAME}") +set (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include") +set (DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PROJECT_NAME}") option(qtmainloop "Use QCoreApplication mainloop " OFF) option(websocket_plugin "websocket source and sink plugins" OFF) -option(tpms_plugin "TPMS plugin " OFF) option(obd2_plugin "OBD-II plugin" OFF) option(database_plugin "Database plugins" OFF) option(qt_bindings "AMB Qt DBus bindings" OFF) option(opencvlux_plugin "OpenCV Lux plugin" OFF) -option(gpsd_plugin "gpsd location 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) - - -if(opencvlux_plugin) - message(STATUS "OpenCV Lux plugin enabled") - -endif(opencvlux_plugin) +option(bluetooth_plugin "bluetooth plugin" OFF) +option(cansim_plugin "Can simulator plugin" OFF) +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) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie -pie -std=c++1y") include (CMakeForceCompiler) -option(ENABLE_ICECC "Enable icecc checking, for distributed compilation" ON) - -if (ENABLE_ICECC) - find_program(ICECC /usr/lib/icecc/bin/g++) - if (ICECC) - message(STATUS "icecc will be used for distributed compiling") - cmake_force_cxx_compiler(${ICECC} icecc) - else(ICECC) - message(STATUS "Not using icecc") - endif(ICECC) -endif(ENABLE_ICECC) - -find_library(libtool_LIBRARY ltdl DOC "Libtool libraries") -find_path(libtool_INCLUDE_DIR ltdl.h DOC "Libtool headers") - -if(libtool_LIBRARY) - message(STATUS "libtool found") -else(libtool_LIBRARY) - message(FATAL_ERROR "libtool missing. please install libtool") -endif(libtool_LIBRARY) + +if (enable_icecc) + find_program(ICECC /usr/lib/icecc/bin/g++) + if (ICECC) + message(STATUS "icecc will be used for distributed compiling") + cmake_force_cxx_compiler(${ICECC} icecc) + else(ICECC) + message(STATUS "Not using icecc") + endif(ICECC) +endif(enable_icecc) find_package(Boost REQUIRED) @@ -66,40 +65,15 @@ find_package(Boost REQUIRED) pkg_check_modules(glib REQUIRED glib-2.0 gobject-2.0) pkg_check_modules(json REQUIRED json) - -add_definitions(-std=c++0x) 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) - -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") - message(STATUS "can has 64bits") - 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) +set(link_libraries -lamb ${glib_LIBRARIES} ${json_LIBRARIES} -L${CMAKE_CURRENT_BINARY_DIR}/lib) + +if(usebluez5) + add_definitions(-DUSE_BLUEZ5) + +endif(usebluez5) set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}) add_custom_target(dist COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD | bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) @@ -109,7 +83,7 @@ add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/c # packaging stuff: # Common things to every type of package -SET(CPACK_PACKAGE_DESCRIPTION "daemon to access vehicle data") +SET(CPACK_PACKAGE_DESCRIPTION "daemon that provides access vehicle data") SET(CPACK_PACKAGE_NAME "automotive-message-broker") SET(CPACK_PACKAGE_EXECUTABLES "ambd") SET(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") @@ -117,19 +91,15 @@ SET(CPACK_STRIP_FILES true) SET(CPACK_PACKAGE_CONTACT "tripzero.kev@gmail.com") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") - # Always build .tar.gz and .sh files -SET(CPACK_GENERATOR "STGZ;TGZ") - -SET(CPACK_GENERATOR "${CPACK_GENERATOR};DEB") -SET(CPACK_DEBIAN_PACKAGE_DEPENDS "gpsd (>=2.0), libopencv, libjson0, libltdl7") -SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION}) - -INCLUDE(CPack) +SET(CPACK_GENERATOR "STGZ;TGZ;TBZ2") add_subdirectory(lib) -add_subdirectory(ambd) add_subdirectory(plugins) +add_subdirectory(ambd) add_subdirectory(docs) add_subdirectory(tests) +add_subdirectory(tools) add_subdirectory(examples) +add_subdirectory(xwalk) +add_subdirectory(packaging.in)