~ci-train-bot/media-hub/media-hub-ubuntu-yakkety-1823

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Thomas Voß
  • Date: 2013-08-13 14:07:37 UTC
  • Revision ID: thomas.voss@canonical.com-20130813140737-ke081xhuotug54hd
Initial commit.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
cmake_minimum_required(VERSION 2.8)
 
2
 
 
3
project(ubuntu-music-hub)
 
4
 
 
5
set(UBUNTU_MUSIC_HUB_VERSION_MAJOR 0)
 
6
set(UBUNTU_MUSIC_HUB_VERSION_MINOR 0)
 
7
set(UBUNTU_MUSIC_HUB_VERSION_PATCH 1)
 
8
 
 
9
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wall -pedantic -Wextra -fPIC -pthread")
 
10
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Werror -Wall -fno-strict-aliasing -pedantic -Wextra -fPIC -pthread")
 
11
 
 
12
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
 
13
 
 
14
include(cmake/EnableCoverageReport.cmake)
 
15
include(cmake/FindGFlags.cmake)
 
16
include(cmake/FindGLog.cmake)
 
17
include(cmake/PrePush.cmake)
 
18
include(CTest)
 
19
 
 
20
include(GNUInstallDirs)
 
21
 
 
22
find_package(PkgConfig)
 
23
find_package(Boost 1.49 COMPONENTS system program_options)
 
24
find_package(GLog)
 
25
pkg_check_modules(DBUS dbus-1 REQUIRED)
 
26
pkg_check_modules(DBUS_CPP dbus-cpp REQUIRED)
 
27
 
 
28
#####################################################################
 
29
# Enable code coverage calculation with gcov/gcovr/lcov
 
30
# Usage:
 
31
#  * Switch build type to coverage (use ccmake or cmake-gui)
 
32
#  * Invoke make, make test, make coverage
 
33
#  * Find html report in subdir coveragereport
 
34
#  * Find xml report feasible for jenkins in coverage.xml
 
35
#####################################################################
 
36
IF(CMAKE_BUILD_TYPE MATCHES [cC][oO][vV][eE][rR][aA][gG][eE])
 
37
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftest-coverage -fprofile-arcs" )
 
38
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage -fprofile-arcs" )
 
39
  SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -ftest-coverage -fprofile-arcs" )
 
40
  SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ftest-coverage -fprofile-arcs" )
 
41
ENDIF(CMAKE_BUILD_TYPE MATCHES [cC][oO][vV][eE][rR][aA][gG][eE])
 
42
 
 
43
option (DISABLE_ERROR_ON_LOCAL_TYPEDEFS_WARNINGS "Disable errors when local typedefs are unused" ON)
 
44
if (DISABLE_ERROR_ON_LOCAL_TYPEDEFS_WARNINGS)
 
45
        SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-local-typedefs")
 
46
endif (DISABLE_ERROR_ON_LOCAL_TYPEDEFS_WARNINGS)
 
47
 
 
48
include_directories(
 
49
  ${Boost_INCLUDE_DIRS}
 
50
  ${DBUS_INCLUDE_DIRS}
 
51
  ${DBUS_CPP_INCLUDE_DIRS}/dbus
 
52
  ${GLog_INCLUDE_DIR}
 
53
  
 
54
  include/
 
55
)
 
56
 
 
57
add_subdirectory(include)
 
58
add_subdirectory(src)
 
59
 
 
60
# There's no nice way to format this. Thanks CMake.
 
61
add_test(LGPL-required
 
62
  /bin/sh -c "! grep -rl 'GNU General' ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/include"
 
63
)