GDLT-38, Update licenses in CMakeLists
[profile/ivi/dlt-daemon.git] / CMakeLists.txt
1 #######\r
2 # Dlt - Diagnostic Log and Trace\r
3 # @licence make begin@\r
4 #\r
5 # Copyright (C) 2011-2012, BMW AG - Alexander Wenzel <alexander.wenzel@bmw.de>\r
6\r
7 # Contributions are licensed to the GENIVI Alliance under one or more\r
8 # Contribution License Agreements.\r
9\r
10 # This Source Code Form is subject to the terms of the\r
11 # Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed with\r
12 # this file, You can obtain one at http://mozilla.org/MPL/2.0/.\r
13 #\r
14 # @licence end@\r
15 ########\r
16 \r
17 cmake_minimum_required( VERSION 2.6 )\r
18 project( automotive-dlt )\r
19 \r
20 mark_as_advanced( CMAKE_BACKWARDS_COMPATIBILITY)\r
21 set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )\r
22 \r
23 # Set version parameters\r
24 set( DLT_MAJOR_VERSION 2)\r
25 set( DLT_MINOR_VERSION 5)\r
26 set( DLT_PATCH_LEVEL 1)\r
27 set( DLT_VERSION ${DLT_MAJOR_VERSION}.${DLT_MINOR_VERSION}.${DLT_PATCH_LEVEL})\r
28 set( DLT_VERSION_STATE RELEASE )\r
29 set( DLT_REVISION "")\r
30 \r
31 execute_process(COMMAND git describe --tags WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} \r
32         OUTPUT_VARIABLE DLT_REVISION\r
33         ERROR_VARIABLE GIT_ERROR \r
34         OUTPUT_STRIP_TRAILING_WHITESPACE\r
35         ERROR_STRIP_TRAILING_WHITESPACE)\r
36 if( DLT_REVISION MATCHES "^$")\r
37         set( PRINT_REVISION "Git revision unavailable")\r
38 else( DLT_REVISION MATCHES "")\r
39         string(REPLACE "-" "_" DLT_REVISION ${DLT_REVISION})\r
40         set( PRINT_REVISION ${DLT_REVISION})    \r
41 endif( DLT_REVISION MATCHES "^$")\r
42 \r
43 # set default build type, if not defined by user\r
44 if(NOT CMAKE_BUILD_TYPE)\r
45     set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING\r
46                          "Choose build type: Debug, Release, RelWithDebInfo, MinSizeRel."\r
47                          FORCE)\r
48     message(STATUS "Build type not defined. Using default build type 'RelWithDebInfo'.")\r
49 endif(NOT CMAKE_BUILD_TYPE)\r
50 \r
51 # Set of indiviual options\r
52 option(BUILD_SHARED_LIBS      "Set to OFF to build static libraries"                 ON  )\r
53 option(WITH_DLT_SHM_ENABLE    "Set to OFF to use FIFO as IPC from user to daemon"    OFF )\r
54 option(WITH_DOC               "Set to ON to build documentation target"              OFF )\r
55 option(WITH_MAN               "Set to OFF to skip building of man pages"             ON )\r
56 option(WITH_CHECK_CONFIG_FILE "Set to ON to create a configure file of CheckIncludeFiles and CheckFunctionExists " OFF )\r
57 option(WITH_TESTSCRIPTS       "Set to ON to run CMakeLists.txt in testscripts"       OFF )\r
58 option(WITH_SYSTEMD           "Set to ON to run CMakeLists.txt in systemd"           OFF )\r
59 option(WITH_GPROF             "Set -pg to compile flags"                             OFF )\r
60 option(WITH_DLTTEST                       "Set to ON to build with modifications to test Uuser-Daemon communication with corrupt messages" OFF)\r
61 \r
62 # RPM settings\r
63 set( GENIVI_RPM_RELEASE "1")#${DLT_REVISION}")\r
64 set( LICENSE "Mozilla Public License Version 2.0s" )\r
65 \r
66 # Build, project and include settings\r
67 find_package(Threads REQUIRED)\r
68 \r
69 include_directories( \r
70     ${CMAKE_SOURCE_DIR}/\r
71     ${CMAKE_SOURCE_DIR}/include/dlt\r
72     ${CMAKE_SOURCE_DIR}/src/shared/ \r
73     ${CMAKE_SOURCE_DIR}/src/lib/\r
74     ${CMAKE_SOURCE_DIR}/src/daemon/\r
75 )\r
76 \r
77 if(WITH_DLTTEST)\r
78         add_definitions( -DDLT_TEST_ENABLE)\r
79 endif(WITH_DLTTEST)\r
80 \r
81 if(WITH_DLT_SHM_ENABLE)\r
82     add_definitions( -DDLT_SHM_ENABLE)\r
83 endif(WITH_DLT_SHM_ENABLE)\r
84    \r
85 if(WITH_GPROF)
86   SET(CMAKE_C_FLAGS "-pg")
87 endif(WITH_GPROF)   \r
88    \r
89 add_definitions( "-Wall" )\r
90 \r
91 add_subdirectory( cmake )\r
92 \r
93 message( STATUS )\r
94 message( STATUS "-------------------------------------------------------------------------------" )\r
95 message( STATUS "Build for Version ${DLT_VERSION} build ${DLT_REVISION} version state ${DLT_VERSION_STATE}")\r
96 message( STATUS "WITH_DLT_SHM_ENABLE = ${WITH_DLT_SHM_ENABLE}" )\r
97 message( STATUS "WITH_CHECK_CONFIG_FILE = ${WITH_CHECK_CONFIG_FILE}" )\r
98 message( STATUS "WITH_DOC = ${WITH_DOC}" )\r
99 message( STATUS "WITH_TESTSCRIPTS = ${WITH_TESTSCRIPTS}" )\r
100 message( STATUS "WITH_SYSTEMD = ${WITH_SYSTEMD}" )\r
101 message( STATUS "WITH_GPROF = ${WITH_GPROF}" )\r
102 message( STATUS "WITH_MAN = ${WITH_MAN}" )\r
103 message( STATUS "WITH_DLTTEST = ${WITH_DLTTEST}" )\r
104 message( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" )\r
105 message( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )\r
106 message( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" )\r
107 message( STATUS "Change a value with: cmake -D<Variable>=<Value>" )\r
108 message( STATUS "-------------------------------------------------------------------------------" )\r
109 message( STATUS )\r
110 \r
111 configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.spec.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.spec)\r
112 configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)\r
113 install(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig COMPONENT devel)\r
114 \r
115 add_subdirectory( doc )\r
116 add_subdirectory( src )\r
117 add_subdirectory( include )\r
118 add_subdirectory( testscripts )\r
119 add_subdirectory( systemd )\r