blob: e5614a8617b480933b3499c201afa4e0482405e1 [file] [log] [blame]
Mattijs Korpershoekf2a6d242014-06-27 11:27:31 +02001# Copyright (c) 2014, 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
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
David Wagner00500492014-02-18 10:21:01 +010039set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra")
David Wagner3fac6d82014-02-17 15:14:15 +010040
Adrien M5aaddd12015-03-20 19:03:32 +010041set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
42set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
43
Kevin Rocard747bb842015-03-11 11:46:32 +010044option(COVERAGE "Build with coverage support" OFF)
45if(COVERAGE)
46 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
47 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
48endif()
49
David Wagner3fac6d82014-02-17 15:14:15 +010050add_subdirectory(xmlserializer)
51add_subdirectory(parameter)
52add_subdirectory(utility)
53add_subdirectory(remote-processor)
54
55add_subdirectory(remote-process)
Kevin Rocard9f8b7bd2014-12-02 11:30:57 +010056
Kevin Rocard7fe36ee2015-03-06 10:36:40 +010057include(CTest)
58# Ctest requires its configuration to be placed at the build root
59configure_file(CTestCustom.cmake ${CMAKE_BINARY_DIR} COPYONLY)
60
Adrien M5aaddd12015-03-20 19:03:32 +010061function(set_test_env TestName)
62 set_property(TEST ${TestName} PROPERTY ENVIRONMENT
63 PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}:$ENV{PATH}
64 LD_LIBRARY_PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}:$ENV{LD_LIBRARY_PATH}
65 PYTHONPATH=${CMAKE_BINARY_DIR}/bindings/python:$ENV{PYTHONPATH})
66endfunction()
67
David Wagner3fac6d82014-02-17 15:14:15 +010068add_subdirectory(test/test-platform)
Kevin Rocard9f8b7bd2014-12-02 11:30:57 +010069add_subdirectory(test/test-fixed-point-parameter)
David Wagnerb2742cf2015-03-19 16:53:50 +010070add_subdirectory(test/tokenizer)
Mattijs Korpershoek8c478032014-03-14 11:30:23 +010071
Kevin Rocard747bb842015-03-11 11:46:32 +010072option(BASH_COMPLETION "Install bash completion configuration" ON)
73if (BASH_COMPLETION)
74 add_subdirectory(tools/bash_completion)
75endif()
76
Mattijs Korpershoek8c478032014-03-14 11:30:23 +010077add_subdirectory(tools/xmlGenerator)
Mattijs Korpershoekf563b2d2014-03-14 10:20:43 +010078add_subdirectory(tools/xmlValidator)
David Wagner8a7cecb2015-01-06 11:03:06 +010079
80add_subdirectory(bindings)