blob: 66602d713ae4cb47895bc03c0cc288eb48d9e517 [file] [log] [blame]
Adrien Mec5130b2015-03-10 15:21:30 +01001# Copyright (c) 2014-2015, Intel Corporation
Mattijs Korpershoekf2a6d242014-06-27 11:27:31 +02002# 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
David Wagner3fac6d82014-02-17 15:14:15 +010029# 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
Jean-Michel Trivia9be2d32015-07-15 15:37:57 -070039# 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
David Wagner00500492014-02-18 10:21:01 +010044set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra")
David Wagner3fac6d82014-02-17 15:14:15 +010045
Adrien M5aaddd12015-03-20 19:03:32 +010046set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
47set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
48
Kevin Rocardef9cc762015-04-11 23:03:52 +020049include(ctest/CMakeLists.txt)
50
Kevin Rocard747bb842015-03-11 11:46:32 +010051option(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
David Wagner3fac6d82014-02-17 15:14:15 +010057add_subdirectory(xmlserializer)
58add_subdirectory(parameter)
59add_subdirectory(utility)
60add_subdirectory(remote-processor)
61
62add_subdirectory(remote-process)
Kevin Rocard9f8b7bd2014-12-02 11:30:57 +010063
Kevin Rocard30674732015-04-11 23:00:47 +020064add_subdirectory(test)
Mattijs Korpershoek8c478032014-03-14 11:30:23 +010065
Kevin Rocard747bb842015-03-11 11:46:32 +010066option(BASH_COMPLETION "Install bash completion configuration" ON)
67if (BASH_COMPLETION)
68 add_subdirectory(tools/bash_completion)
69endif()
70
Mattijs Korpershoek8c478032014-03-14 11:30:23 +010071add_subdirectory(tools/xmlGenerator)
Mattijs Korpershoekf563b2d2014-03-14 10:20:43 +010072add_subdirectory(tools/xmlValidator)
David Wagner8a7cecb2015-01-06 11:03:06 +010073
74add_subdirectory(bindings)
Jean-Michel Trivia9be2d32015-07-15 15:37:57 -070075
76add_subdirectory(doc)