summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorChristian Muck <christian.muck@bmw.de>2011-04-11 15:41:05 +0200
committerChristian Muck <christian.muck@bmw.de>2011-04-11 15:41:05 +0200
commit760fb8a4daba3e403376099ce38aca8f88d695d3 (patch)
tree36b6f428cee8ba0af0fd50b3e44a3d4da9083a44 /CMakeLists.txt
parent5394c6fa5bf40d9bc8619026cbc4c306211a8499 (diff)
downloadDLT-daemon-760fb8a4daba3e403376099ce38aca8f88d695d3.tar.gz
Init of dlt daemon
Diffstat (limited to 'CMakeLists.txt')
-rwxr-xr-xCMakeLists.txt265
1 files changed, 265 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755
index 0000000..2f966fd
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,265 @@
+#######
+# Dlt - Diagnostic Log and Trace
+# @licence make begin@
+ #
+ # Copyright (C) 2011, BMW AG - Alexander Wenzel <alexander.wenzel@bmw.de>
+ #
+ # This program is free software; you can redistribute it and/or modify it under the terms of the
+ # GNU Lesser General Public License, version 2.1, as published by the Free Software Foundation.
+ # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ # the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
+ # Public License, version 2.1, for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public License, version 2.1, along
+ # with this program; if not, see <http://www.gnu.org/licenses/lgpl-2.1.html>.
+ #
+ # Note that the copyright holders assume that the GNU Lesser General Public License, version 2.1, may
+ # also be applicable to programs even in cases in which the program is not a library in the technical sense.
+ #
+ # Linking DLT statically or dynamically with other modules is making a combined work based on DLT. You may
+ # license such other modules under the GNU Lesser General Public License, version 2.1. If you do not want to
+ # license your linked modules under the GNU Lesser General Public License, version 2.1, you
+ # may use the program under the following exception.
+ #
+ # As a special exception, the copyright holders of DLT give you permission to combine DLT
+ # with software programs or libraries that are released under any license unless such a combination is not
+ # permitted by the license of such a software program or library. You may copy and distribute such a
+ # system following the terms of the GNU Lesser General Public License, version 2.1, including this
+ # special exception, for DLT and the licenses of the other code concerned.
+ #
+ # Note that people who make modified versions of DLT are not obligated to grant this special exception
+ # for their modified versions; it is their choice whether to do so. The GNU Lesser General Public License,
+ # version 2.1, gives permission to release a modified version without this exception; this exception
+ # also makes it possible to release a modified version which carries forward this exception.
+ #
+ # @licence end@
+########
+
+CMAKE_MINIMUM_REQUIRED( VERSION 2.6 )
+MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY)
+
+SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )
+
+PROJECT( automotive-dlt )
+
+# set version parameters
+SET( ${PROJECT_NAME}_MAJOR_VERSION 2 )
+SET( ${PROJECT_NAME}_MINOR_VERSION 2 )
+SET( ${PROJECT_NAME}_PATCH_LEVEL 0 )
+set(GENIVI_PROJECT_VERSION ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}.${${PROJECT_NAME}_PATCH_LEVEL})
+SET( ${PROJECT_NAME}_VERSION_STATE )
+SET( ${PROJECT_NAME}_REVISION 1666 )
+
+# Write version information into include file
+SET( PRINT_MAJOR_VERSION ${${PROJECT_NAME}_MAJOR_VERSION})
+SET( PRINT_MINOR_VERSION ${${PROJECT_NAME}_MINOR_VERSION})
+SET( PRINT_PATCH_LEVEL ${${PROJECT_NAME}_PATCH_LEVEL})
+SET( PRINT_VERSION ${GENIVI_PROJECT_VERSION})
+SET( PRINT_VERSION_STATE ${${PROJECT_NAME}_VERSION_STATE})
+SET( PRINT_VERSION_REVISION ${${PROJECT_NAME}_REVISION})
+
+# Print version information
+MESSAGE("VERSION ${PRINT_VERSION}")
+MESSAGE("VERSION_STATE ${PRINT_VERSION_STATE}")
+MESSAGE("REVISION ${PRINT_VERSION_REVISION}")
+
+##################### RPM CONFIG ########################
+
+set( GENIVI_RPM_RELEASE "1${SVN_REVISION}")
+SET( LICENSE "LGPL v2.1 with special exception" )
+set(SPEC_DIR "package")
+
+#########################################################
+set(GENIVI_BUILDSYSTEM_AVAILABLE $ENV{GENIVI_BUILDSYSTEM})
+IF(GENIVI_BUILDSYSTEM_AVAILABLE)
+include($ENV{GENIVI_BUILDSYSTEM}/cmake_extensions/GeniviCMakeExtensions.cmake)
+ENDIF(GENIVI_BUILDSYSTEM_AVAILABLE)
+
+SET( prefix ${CMAKE_INSTALL_PREFIX})
+SET( libdir "\${exec_prefix}/lib" )
+SET( includedir "\${exec_prefix}/include" )
+
+SET( DLTBINDIR ${CMAKE_INSTALL_PREFIX}/bin )
+SET( DLTLIBDIR ${CMAKE_INSTALL_PREFIX}/lib )
+SET( DLTLIBSTATIC ${CMAKE_INSTALL_PREFIX}/lib )
+SET( DLTINCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include )
+SET( DLTDOCDIR ${CMAKE_INSTALL_PREFIX}/doc )
+
+IF(NOT CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE RelWithDebInfo)
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+FIND_PACKAGE(Doxygen)
+FIND_PACKAGE(Threads REQUIRED)
+
+INCLUDE_DIRECTORIES(
+${CMAKE_SOURCE_DIR}/
+${CMAKE_SOURCE_DIR}/include/dlt
+${CMAKE_SOURCE_DIR}/src/shared/
+${CMAKE_SOURCE_DIR}/src/lib/
+${CMAKE_SOURCE_DIR}/src/daemon/ )
+
+ADD_DEFINITIONS( "-Wall" )
+
+INCLUDE(TestBigEndian)
+
+TEST_BIG_ENDIAN( DLT_BIGENDIAN )
+
+IF ( DLT_BIGENDIAN )
+ ADD_DEFINITIONS( -DBYTE_ORDER=BIG_ENDIAN )
+ELSE ( DLT_BIGENDIAN )
+ ADD_DEFINITIONS( -DBYTE_ORDER=LITTLE_ENDIAN )
+ENDIF ( DLT_BIGENDIAN )
+
+INCLUDE(CheckIncludeFiles)
+
+CHECK_INCLUDE_FILES( arpa/inet.h HAVE_ARPAINET_H)
+CHECK_INCLUDE_FILES( fcntl.h HAVE_FCNTL_H)
+CHECK_INCLUDE_FILES( float.h HAVE_FLOAT_H)
+CHECK_INCLUDE_FILES( limits.h HAVE_LIMITS_H)
+CHECK_INCLUDE_FILES( netdb.h HAVE_NETDB_H)
+CHECK_INCLUDE_FILES( netinet/in.h HAVE_NETINETIN_H)
+CHECK_INCLUDE_FILES( stddef.h HAVE_STDDEF_H)
+CHECK_INCLUDE_FILES( stdint.h HAVE_STDINT_H)
+CHECK_INCLUDE_FILES( stdlib.h HAVE_STDLIB_H)
+CHECK_INCLUDE_FILES( string.h HAVE_STRING_H)
+CHECK_INCLUDE_FILES( strings.h HAVE_STRINGS_H)
+CHECK_INCLUDE_FILES( sys/ioctl.h HAVE_SYSIOCTL_H)
+CHECK_INCLUDE_FILES( sys/socket.h HAVE_SYSSOCKET_H)
+CHECK_INCLUDE_FILES( sys/time.h HAVE_SYSTIME_H)
+CHECK_INCLUDE_FILES( unistd.h HAVE_UNISTD_H)
+CHECK_INCLUDE_FILES( sys/ipc.h HAVE_SYSIPC_H)
+CHECK_INCLUDE_FILES( netdb.h HAVE_NETDB_H)
+CHECK_INCLUDE_FILES( ctype.h HAVE_CTYPE_H)
+CHECK_INCLUDE_FILES( signal.h HAVE_SIGNAL_H)
+CHECK_INCLUDE_FILES( syslog.h HAVE_SYSLOG_H)
+CHECK_INCLUDE_FILES( sys/stat.h HAVE_SYSSTAT_H)
+CHECK_INCLUDE_FILES( linux/stat.h HAVE_LINUXSTAT_H)
+CHECK_INCLUDE_FILES( sys/uio.h HAVE_SYSUIO_H)
+CHECK_INCLUDE_FILES( termios.h HAVE_TERMIOS_H)
+CHECK_INCLUDE_FILES( unistd.h HAVE_UNISTD_H)
+
+INCLUDE(CheckFunctionExists)
+
+CHECK_FUNCTION_EXISTS( bzero HAVE_FUNC_BZERO)
+CHECK_FUNCTION_EXISTS( clock_gettime HAVE_FUNC_CLOCKGETTIME)
+CHECK_FUNCTION_EXISTS( floor HAVE_FUNC_FLOOR)
+CHECK_FUNCTION_EXISTS( fork HAVE_FUNC_FORK)
+CHECK_FUNCTION_EXISTS( gethostbyname HAVE_FUNC_GETHOSTBYNAME)
+CHECK_FUNCTION_EXISTS( gettimeofday HAVE_FUNC_GETTIMEBYDAY)
+CHECK_FUNCTION_EXISTS( inet_ntoa HAVE_FUNC_INETNTOA)
+CHECK_FUNCTION_EXISTS( malloc HAVE_FUNC_MALLOC)
+CHECK_FUNCTION_EXISTS( memmove HAVE_FUNC_MEMMOVE)
+CHECK_FUNCTION_EXISTS( memset HAVE_FUNC_MEMSET)
+CHECK_FUNCTION_EXISTS( mkfifo HAVE_FUNC_MKFIFO)
+CHECK_FUNCTION_EXISTS( select HAVE_FUNC_SELECT)
+CHECK_FUNCTION_EXISTS( socket HAVE_FUNC_SOCKET)
+CHECK_FUNCTION_EXISTS( strchr HAVE_FUNC_STRCHR)
+CHECK_FUNCTION_EXISTS( strerror HAVE_FUNC_STRERROR)
+CHECK_FUNCTION_EXISTS( strstr HAVE_FUNC_STRSTR)
+CHECK_FUNCTION_EXISTS( strtol HAVE_FUNC_STRTOL)
+
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_SOURCE_DIR}/config.h @ONLY)
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/svnversion.h.cmake ${CMAKE_SOURCE_DIR}/svnversion.h @ONLY)
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/version.h.cmake ${CMAKE_SOURCE_DIR}/version.h @ONLY)
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/doxygen.cfg.cmake ${CMAKE_SOURCE_DIR}/doxygen.cfg @ONLY)
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/automotive-dlt.pc.cmake ${CMAKE_SOURCE_DIR}/automotive-dlt.pc @ONLY)
+#CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/package/automotive-dlt.spec.cmake ${CMAKE_SOURCE_DIR}/package/automotive-dlt.spec ESCAPE_QUOTES)
+
+OPTION(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
+OPTION(ENABLE_BUILD_DOC "Set to ON to build Documentation" OFF)
+
+MESSAGE( STATUS )
+MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+MESSAGE( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" )
+MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
+MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" )
+MESSAGE( STATUS "ENABLE_BUILD_DOC = ${ENABLE_BUILD_DOC}" )
+MESSAGE( STATUS "Change a value with: cmake -D<Variable>=<Value>" )
+MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+MESSAGE( STATUS )
+
+SET( BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}" CACHE BOOL "Set to OFF to build static libraries" FORCE )
+SET( CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Where to install ${PROJECT_NAME}" FORCE )
+SET( CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
+"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE )
+#SET( ENABLE_BUILD_DOC "${ENABLE_BUILD_DOC}" CACHE BOOL "Set to ON to build Documentation" FORCE )
+
+ADD_SUBDIRECTORY( src )
+ADD_SUBDIRECTORY( include )
+ADD_SUBDIRECTORY( testscripts )
+
+IF (ENABLE_BUILD_DOC)
+ ADD_SUBDIRECTORY( doc )
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_SOURCE_DIR}/doxygen-execute
+ DEPENDS ${CMAKE_SOURCE_DIR}/doxygen.cfg
+ COMMAND doxygen
+ ARGS ${CMAKE_SOURCE_DIR}/doxygen.cfg
+ )
+
+ ADD_CUSTOM_TARGET(doxygen-doc ALL DEPENDS ${CMAKE_SOURCE_DIR}/doxygen-execute)
+
+ SET( DOC_COMPONENT doc)
+ENDIF(ENABLE_BUILD_DOC)
+
+INSTALL(FILES automotive-dlt.pc
+ DESTINATION lib/pkgconfig
+ COMPONENT devel)
+INSTALL(FILES LICENSE.txt
+ DESTINATION doc/dlt2
+ COMPONENT base)
+
+message(STATUS "python ${CMAKE_CURRENT_SOURCE_DIR}/transform_spec_file.py ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.spec.cheetah ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.spec BUILD_DOC=${ENABLE_BUILD_DOC}")
+
+add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.spec"
+ COMMAND "python" "${CMAKE_CURRENT_SOURCE_DIR}/transform_spec_file.py" "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.spec.cheetah" "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.spec" "BUILD_DOC=${ENABLE_BUILD_DOC}"
+ DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.spec.cheetah")
+
+add_custom_target(specfile
+ DEPENDS "${CMAKE_PROJECT_NAME}.spec")
+
+CONFIGURE_FILE(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
+
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+
+#ADD_CUSTOM_TARGET(uninstall
+# "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+EXPORT_LIBRARY_DEPENDENCIES( "${PROJECT_NAME}LibDeps.cmake" )
+
+#######################
+# CPack configuration #
+#######################
+SET(CPACK_COMPONENTS_ALL base devel ${DOC_COMPONENT} )
+
+SET(CPACK_COMPONENT_BASE_DISPLAY_NAME "Basics" )
+SET(CPACK_COMPONENT_DEVEL_DISPLAY_NAME "Development files" )
+SET(CPACK_COMPONENT_DOC_DISPLAY_NAME "Documentation" )
+
+SET(CPACK_COMPONENT_BASE_DESCRIPTION
+"This component provides a standardised log and trace interface, based on the
+standardised protocol specified in the AUTOSAR standard 4.0 DLT.
+This component can be used by GENIVI components and other applications as
+logging facility providing
+- the DLT shared library
+- the DLT daemon, including startup scripts
+- the DLT daemon adaptors
+- the DLT client console utilities
+- the DLT test applications ")
+SET(CPACK_COMPONENT_DEVEL_DESCRIPTION
+ "This component provides the development libraries and includes for automotive-dlt.")
+SET(CPACK_COMPONENT_DOC_DESCRIPTION
+ "This component provides the documentation for automotive-dlt.")
+
+SET(CPACK_COMPONENT_DEVEL_DEPENDS base)
+#SET(CPACK_COMPONENT_DOC_DEPENDS base)
+
+SET(CPACK_COMPONENT_BASE_REQUIRED)
+
+
+
+