diff options
Diffstat (limited to 'SDL_Core/CMakeLists.txt')
-rw-r--r-- | SDL_Core/CMakeLists.txt | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/SDL_Core/CMakeLists.txt b/SDL_Core/CMakeLists.txt deleted file mode 100644 index befbf48df..000000000 --- a/SDL_Core/CMakeLists.txt +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright (c) 2013, 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. - -cmake_minimum_required(VERSION 2.8.0) - -set (PROJECT smartDeviceLinkCore) -project (${PROJECT}) - -option(HMI2 "Use Qt HMI" OFF) - -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 .) -set(ARCHIVE_OUTPUT_DIRECTORY ./bin) - -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_AVAHI_SUPPORT "libavahi support" OFF) -option(BUILD_RWLOCK_SUPPORT "rwlocks support" OFF) -option(BUILD_BACKTRACE_SUPPORT "backtrace support" ON) - - -if (UNIX) - add_definitions(-DOS_POSIX) - - set(CMAKE_CXX_FLAGS "-g3 -ggdb3 -std=gnu++0x -Werror=return-type -Wuninitialized") - set(CMAKE_CXX_FLAGS_RELEASE "-s -O2") #It will be appended to CMAKE_CXX_FLAGS in release - - if (CMAKE_SYSTEM_NAME STREQUAL "Linux") - add_definitions(-DOS_LINUX) - elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX") - add_definitions(-DOS_QNX) - SET(BUILD_BT_SUPPORT OFF) - SET(BUILD_AVAHI_SUPPORT OFF) - SET(BUILD_BACKTRACE_SUPPORT OFF) - SET(EXTENDED_MEDIA_MODE OFF) - elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin) - add_definitions(-DOS_MACOSX) - #compile 32-bit 64-bit is having an issue - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch i386") - endif() -endif(UNIX) - -if (BUILD_USB_SUPPORT) - add_definitions(-DUSB_SUPPORT) -endif() - -if (BUILD_BT_SUPPORT) - add_definitions(-DBLUETOOTH_SUPPORT) -endif() - -if (BUILD_AVAHI_SUPPORT) - # --- Check libavahi-common, libavahi-client availability - find_package(Libavahi) - - add_definitions(-DAVAHI_SUPPORT) -endif() - -if (BUILD_RWLOCK_SUPPORT) - add_definitions(-DRWLOCK_SUPPORT) -endif() - -if (BUILD_BACKTRACE_SUPPORT) - add_definitions(-DBACKTRACE_SUPPORT) -endif() - -# TODO(AK): check current OS here -add_definitions(-DOS_POSIX) - -IF(CMAKE_C_FLAGS_DEBUG) - SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG" ) - add_definitions(-DDEBUG) - - # Enable debug mode in the GNU C++ library, to catch incorrect/undefined behavior - add_definitions(-D_GLIBCXX_DEBUG) - add_definitions(-D_GLIBCXX_DEBUG_PEDANTIC) -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) -# required to find 'glibconfig.h' -find_package(PkgConfig) -pkg_check_modules(GLIB2 REQUIRED glib-2.0) -add_definitions(${GLIB2_CFLAGS}) -endif() - -# Find log4cxx -if(UNIX) - find_package(PkgConfig) - pkg_check_modules(LOG4CXX REQUIRED liblog4cxx) - include_directories(${LOG4CXX_INCLUDE_DIRS}) - link_directories(${LOG4CXX_LIBRARY_DIRS}) -elseif(WIN32) -# Add finding log4cxx here -endif(UNIX) - - -# --- Interface generator - -find_package(PythonInterp) -if(NOT PYTHONINTERP_FOUND) - message(ERROR "Python interpreter is not found") - message(ERROR "To install it type in the command line:") - message(ERROR "sudo apt-get install python") -endif(NOT PYTHONINTERP_FOUND) - -if (${HMI2}) - 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 () -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 ( - ../../../src/components/smart_objects/include - ../../../src/components/formatters/include/ - ${CMAKE_SOURCE_DIR}/src/components/formatters/include/ - ${CMAKE_BINARY_DIR} - ) - - add_library("${file_name}" ${cpp_file}) -endmacro(GenerateInterface) - -# --- Useful macro -macro(create_test NAME SOURCES LIBS) - add_executable("${NAME}" ${SOURCES}) - target_link_libraries("${NAME}" ${LIBS}) - add_test(${NAME} ${NAME}) -endmacro(create_test) - -# Building application - -# --- Type HMI -if (${HMI2}) - set(QT_HMI ON) - add_definitions(-DQT_HMI) -else (${HMI2}) - set(WEB_HMI ON) - add_definitions(-DWEB_HMI) -ENDIF (${HMI2}) - -# --- ThirdPartyLibs -add_subdirectory(./src/thirdPartyLibs) - -# --- Tools -add_subdirectory(./tools) - -# --- Components -add_subdirectory(./src/components) - -# --- Main application -add_subdirectory(./src/appMain) - -# Building tests -option(BUILD_TESTS "Possibility to build and run tests" OFF) -if(BUILD_TESTS) - enable_testing() - include(Dart) - # Framework GoogleTest is also integrated together gmock - # and must not be added separately - add_subdirectory(./src/thirdPartyLibs/gmock-1.6.0) - add_subdirectory(./test) -endif() - -# Building documentation - -# At first creating directory for generated documentation. Unfortunately doxygen -# cannot generate it byself -FIND_PACKAGE(Doxygen) - IF(DOXYGEN_FOUND) - option(DOXYGEN_ENABLE_DIAGRAMS "Enable graphical diagram generation" ON) - - if(DOXYGEN_ENABLE_DIAGRAMS) - set(DOXYGEN_ENABLE_DIAGRAMS_PARAM "YES") - else(DOXYGEN_ENABLE_DIAGRAMS) - 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) - - |