~alan-griffiths/mir/keep-helgrind-happy

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Tarmac
  • Author(s): Alexandros Frantzis
  • Date: 2014-02-13 23:14:04 UTC
  • mfrom: (1381.2.8 build-multiple-platforms)
  • Revision ID: tarmac-20140213231404-498hz81kz0txa939
build: Allow building multiple platforms in the same build.

Approved by PS Jenkins bot, Andreas Pokorny, Kevin DuBois, Alberto Aguirre, Alan Griffiths.

Show diffs side-by-side

added added

removed removed

Lines of Context:
87
87
)
88
88
endif(MIR_DISABLE_EPOLL_REACTOR)
89
89
 
 
90
add_definitions(-DMESA_EGL_NO_X11_HEADERS)
 
91
 
90
92
# Default to mesa backend
91
93
set(
92
94
  MIR_PLATFORM
93
95
  mesa
94
96
  CACHE
95
97
  STRING
96
 
  "graphics backend to build (options are 'mesa' or 'android')"
 
98
  "a list of graphics backends to build (options are 'mesa' or 'android')"
97
99
)
98
100
 
 
101
list(GET MIR_PLATFORM 0 MIR_TEST_PLATFORM)
 
102
 
 
103
foreach(platform IN LISTS MIR_PLATFORM)
 
104
  if (platform STREQUAL "mesa")
 
105
    set(MIR_BUILD_PLATFORM_MESA TRUE)
 
106
  endif()
 
107
  if (platform STREQUAL "android")
 
108
     set(MIR_BUILD_PLATFORM_ANDROID TRUE)
 
109
  endif()
 
110
endforeach(platform)
 
111
message(STATUS "${MIR_TEST_PLATFORM} ${MIR_BUILD_PLATFORM_MESA} ${MIR_BUILD_PLATFORM_ANDROID}")
 
112
 
99
113
find_package(EGL REQUIRED)
100
114
find_package(GLESv2 REQUIRED)
101
115
find_package(GLM REQUIRED)
110
124
include_directories (${EGL_INCLUDE_DIRS})
111
125
include_directories (${GLM_INCLUDE_DIRS})
112
126
 
113
 
if (MIR_PLATFORM STREQUAL "android")
114
 
 
115
 
  #android headers use 'int foo[0]' as struct members
116
 
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
117
 
 
118
 
  add_definitions( -DANDROID )
119
 
 
 
127
if (MIR_BUILD_PLATFORM_ANDROID)
120
128
  find_package(LibHardware REQUIRED)
 
129
endif()
121
130
 
122
 
  #ctest does not work for android, so turn test discovery off
123
 
  set(DISABLE_GTEST_TEST_DISCOVERY ON)
124
 
elseif (MIR_PLATFORM STREQUAL "mesa")
 
131
if (MIR_BUILD_PLATFORM_MESA)
125
132
  find_package( PkgConfig )
126
133
  pkg_check_modules( GBM REQUIRED gbm>=9.0.0)
127
134
  pkg_check_modules( DRM REQUIRED libdrm )
128
 
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__GBM__")
129
 
else ()
130
 
  message (FATAL_ERROR "MIR_BACKEND must be either 'android' or 'mesa'")
131
135
endif()
132
136
 
133
137
set(MIR_ANDROID_INCLUDE_DIRECTORIES) # to be filled by android-input