1# Copyright (c) 2014-2015, Intel Corporation
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without modification,
5# are permitted provided that the following conditions are met:
6#
7# 1. Redistributions of source code must retain the above copyright notice, this
8# list of conditions and the following disclaimer.
9#
10# 2. Redistributions in binary form must reproduce the above copyright notice,
11# this list of conditions and the following disclaimer in the documentation and/or
12# other materials provided with the distribution.
13#
14# 3. Neither the name of the copyright holder nor the names of its contributors
15# may be used to endorse or promote products derived from this software without
16# specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
22# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29# has been tested on 2.8 only - might work on older versions
30cmake_minimum_required(VERSION 2.8)
31
32# linking policy (see cmake --help-policy CMP0003)
33if(COMMAND cmake_policy)
34  cmake_policy(SET CMP0003 NEW)
35endif(COMMAND cmake_policy)
36
37project(parameter-framework)
38
39# find and set the Parameter Framework's version
40execute_process(COMMAND git describe --tags --dirty
41    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
42    OUTPUT_VARIABLE PARAMETER_FRAMEWORK_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
43
44set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra")
45
46set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
47set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
48
49include(ctest/CMakeLists.txt)
50
51option(COVERAGE "Build with coverage support" OFF)
52if(COVERAGE)
53    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
54    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
55endif()
56
57add_subdirectory(xmlserializer)
58add_subdirectory(parameter)
59add_subdirectory(utility)
60add_subdirectory(remote-processor)
61
62add_subdirectory(remote-process)
63
64add_subdirectory(test)
65
66option(BASH_COMPLETION "Install bash completion configuration" ON)
67if (BASH_COMPLETION)
68    add_subdirectory(tools/bash_completion)
69endif()
70
71add_subdirectory(tools/xmlGenerator)
72add_subdirectory(tools/xmlValidator)
73
74add_subdirectory(bindings)
75
76add_subdirectory(doc)
77