~unity-team/unity/trunk

1185.5.1 by Neil Jagdish Patel
Add a GTest target for make check
1
project (unity)
2998.2.1 by Jussi Pakkanen
Added precompiled header support and enabled it for UnityCore.
2
cmake_minimum_required(VERSION 2.8.9)
572.1.10 by Neil Jagdish Patel
Verison libunity
3
729.4.1 by Mathieu Trudel-Lapierre
Include manpages, and make them translatable.
4
include (cmake/Documentation.cmake)
2998.2.1 by Jussi Pakkanen
Added precompiled header support and enabled it for UnityCore.
5
include (cmake/pch.cmake)
4068.2.1 by Marco Trevisan (Treviño)
CMake: use GNUInstallDirs with native multi-arch support
6
include (GNUInstallDirs)
729.4.1 by Mathieu Trudel-Lapierre
Include manpages, and make them translatable.
7
572.1.4 by Neil Jagdish Patel
Build and install libunity and it's header
8
#
572.1.5 by Neil Jagdish Patel
Create and install the pkgconfig file. Serve up kittens to be slaughtered by the god of CMake
9
# Base bits
10
#
572.1.8 by Neil Jagdish Patel
Add support for translations
11
set (PROJECT_NAME "unity")
3265.1.1 by Stephen M. Webb
bumped package version to 7.0.0
12
set (UNITY_MAJOR 7)
4107 by Marco Trevisan (Treviño)
Bump version to 7.5.0
13
set (UNITY_MINOR 5)
4027.1.2 by Marco Trevisan (Treviño)
Bump version to Unity 7.4.0
14
set (UNITY_MICRO 0)
572.1.5 by Neil Jagdish Patel
Create and install the pkgconfig file. Serve up kittens to be slaughtered by the god of CMake
15
set (UNITY_VERSION "${UNITY_MAJOR}.${UNITY_MINOR}.${UNITY_MICRO}")
2480 by Łukasz 'sil2100' Zemczak
Release\ 6.0.0
16
set (UNITY_API_VERSION "6.0")
3270.2.1 by Marco Trevisan (Treviño)
CMakeLists.txt: fix unity components path, removing magic number and }
17
set (UNITY_COMPONENTS_VERSION "6")
572.1.5 by Neil Jagdish Patel
Create and install the pkgconfig file. Serve up kittens to be slaughtered by the god of CMake
18
4008.7.22 by Marco Trevisan (Treviño)
CMakeLists.txt: define UNITY_DEBUG_BUILD when building with debug flag
19
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGNOME_DESKTOP_USE_UNSTABLE_API -std=c++11 -fno-permissive")
20
set (CMAKE_CXX_FLAGS_DEBUG "-g3 -DUNITY_DEBUG_BUILD")
1346.2.10 by Tim Penhey
Make unity have debug builds again.
21
set (CMAKE_CXX_FLAGS_RELEASE "")
1187.6.1 by Bilal Akhtar
Add extra CXX flags to make compilation on GCC 4.5 and below, as strict as GCC 4.6
22
2791.4.1 by Tim Penhey
Initial pull from next pipe.
23
option(
2865.2.12 by Tim Penhey
Change the macros, and cmake definitions.
24
  ENABLE_X_SUPPORT
2791.4.1 by Tim Penhey
Initial pull from next pipe.
25
  "Enable X.org support in unity"
26
  ON
27
)
28
4027.1.10 by Marco Trevisan (Treviño)
CMakeLists.txt: Add ENABLE_UNIT_TEST option to enable/disable tests
29
option(
30
  ENABLE_UNIT_TESTS
31
  "Enable Unity Unit Tests"
32
  ON
33
)
34
2865.2.2 by Tim Penhey
Nice cmake flag to disable i18n due to qemu bug.
35
# This is due to bug lp:668799 - qemu-arm segfaults executing msgmerge
36
option(
37
  I18N_SUPPORT
38
  "Enable I18N, do the .po file thing."
39
  ON
40
)
41
4068.2.1 by Marco Trevisan (Treviño)
CMake: use GNUInstallDirs with native multi-arch support
42
option(
43
  ENABLE_NETWORKAREAREGION_PLUGIN
44
  "Enable Unity Network Area region Plugin"
45
  OFF
46
)
47
3570 by William Grant
Build with -fPIC on arm64 to fix link failure.
48
if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7l" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64")
2934.3.5 by Jussi Pakkanen
Define PIC_FLAGS only once.
49
  set (PIC_FLAGS "-fPIC")
50
endif()
51
2865.2.12 by Tim Penhey
Change the macros, and cmake definitions.
52
if (ENABLE_X_SUPPORT)
2865.2.1 by Tim Penhey
Add new nux X support macros.
53
  add_definitions(-DUSE_X11)
2791.4.1 by Tim Penhey
Initial pull from next pipe.
54
  message("Unity is configured with support for X.org")
55
else ()
56
  message("Unity is configured with without X.org")
2865.2.1 by Tim Penhey
Add new nux X support macros.
57
  add_definitions(-DNO_X11)
2865.2.12 by Tim Penhey
Change the macros, and cmake definitions.
58
endif ()
2791.4.1 by Tim Penhey
Initial pull from next pipe.
59
2653.1.1 by Adam Conrad
* CMakeLists.txt: Make the GL/GLU linking conditional on BUILD_GLES,
60
if (BUILD_GLES)
2865.2.12 by Tim Penhey
Change the macros, and cmake definitions.
61
  add_definitions(-DNUX_OPENGLES_20)
62
  add_definitions(-DUSE_GLES)
3001.1.2 by Jussi Pakkanen
Removed link_libraries from unity-shared.
63
  set (UNITY_STANDALONE_LADD "unity-core-${UNITY_API_VERSION};m;pthread;dl")
2434.3.4 by timo.jyrinki at canonical
Move the check to the top-level CMakeLists.txt
64
else ()
3001.1.2 by Jussi Pakkanen
Removed link_libraries from unity-shared.
65
  set (UNITY_STANDALONE_LADD "unity-core-${UNITY_API_VERSION};m;pthread;dl;GL;GLU")
2434.3.4 by timo.jyrinki at canonical
Move the check to the top-level CMakeLists.txt
66
endif ()
67
2933.1.1 by Martin Mrazik
Adding -DCMAKE_BUILD_TYPE=coverage support as well as a custom coverage-xml target which is generated if gcovr is found on the system.
68
if (CMAKE_BUILD_TYPE MATCHES coverage)
69
  set (COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml")
3324.1.5 by Łukasz 'sil2100' Zemczak
Comment out suspicious parts that are breaking CI
70
# FIXME: Read below
71
#  set (COVERAGE_INFO_FILE "${CMAKE_BINARY_DIR}/coverage-html.info")
72
#  set (COVERAGE_HTML_DIR "${CMAKE_BINARY_DIR}/coverage-html")
2933.1.1 by Martin Mrazik
Adding -DCMAKE_BUILD_TYPE=coverage support as well as a custom coverage-xml target which is generated if gcovr is found on the system.
73
74
  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage" )
75
  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage" )
76
  set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} --coverage" )
77
  set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage" )
78
79
  find_program(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin")
2933.1.2 by Martin Mrazik
fixing few errors
80
  if (NOT GCOVR_EXECUTABLE)
81
      message(FATAL_ERROR "Cannot enable coverage targets because gcovr was not found.")
2933.1.1 by Martin Mrazik
Adding -DCMAKE_BUILD_TYPE=coverage support as well as a custom coverage-xml target which is generated if gcovr is found on the system.
82
  else ()
83
      message (STATUS "Enabling XML coverage report")
4068.2.2 by Marco Trevisan (Treviño)
CMakeLists: use ${PROJECT_NAME} instead of unity
84
      add_custom_target (coverage-xml
2933.1.5 by Martin Mrazik
removing an unnecessary cd $CMAKE_BINARY_DIR
85
          COMMAND  "${GCOVR_EXECUTABLE}" --exclude="tests.*" --exclude="obj-.*" -x -r "${CMAKE_SOURCE_DIR}" -o "${COVERAGE_XML_FILE}")
2933.1.1 by Martin Mrazik
Adding -DCMAKE_BUILD_TYPE=coverage support as well as a custom coverage-xml target which is generated if gcovr is found on the system.
86
  endif()
3008.10.18 by Nick Dedekind
added coverage html generation make target
87
3324.1.5 by Łukasz 'sil2100' Zemczak
Comment out suspicious parts that are breaking CI
88
# FIXME: This got commented out, as it forces a strict dependency on lcov
89
#  find_program(LCOV_EXECUTABLE lcov HINTS ${LCOV_ROOT} "${LCOV_ROOT}/bin")
90
#  find_program(GENHTML_EXECUTABLE genhtml HINTS ${GENHTML_ROOT} "${GENHTML_ROOT}/bin")
91
#  if (NOT LCOV_EXECUTABLE)
92
#      message(FATAL_ERROR "Cannot enable coverage targets because gcovr was not found.")
93
#  elseif (NOT GENHTML_EXECUTABLE)
94
#      message(FATAL_ERROR "Cannot enable coverage targets because genhtml was not found.")
95
#  else ()
96
#      message (STATUS "Enabling HTML coverage report")
4068.2.2 by Marco Trevisan (Treviño)
CMakeLists: use ${PROJECT_NAME} instead of unity
97
#      add_custom_target (coverage-html
3324.1.5 by Łukasz 'sil2100' Zemczak
Comment out suspicious parts that are breaking CI
98
#          COMMAND "${LCOV_EXECUTABLE}" --directory "${CMAKE_BINARY_DIR}" --capture --output-file "${COVERAGE_INFO_FILE}"
99
#          COMMAND "${GENHTML_EXECUTABLE}" --output-directory "${COVERAGE_HTML_DIR}" "${COVERAGE_INFO_FILE}")
100
#  endif()
3008.10.18 by Nick Dedekind
added coverage html generation make target
101
2933.1.1 by Martin Mrazik
Adding -DCMAKE_BUILD_TYPE=coverage support as well as a custom coverage-xml target which is generated if gcovr is found on the system.
102
endif (CMAKE_BUILD_TYPE MATCHES coverage)
103
104
572.1.5 by Neil Jagdish Patel
Create and install the pkgconfig file. Serve up kittens to be slaughtered by the god of CMake
105
#
572.1.24 by Neil Jagdish Patel
Add support for GTester and a make check target
106
# Niceties
107
#
108
set (ARCHIVE_NAME unity-${UNITY_VERSION})
1308 by Neil Jagdish Patel
Fix make release deps
109
110
add_custom_target (pre-distcheck
111
  COMMAND echo ""
112
       && echo "• Releasing Unity ${UNITY_VERSION}"
113
       && cd ${CMAKE_SOURCE_DIR}
114
       && echo "• Generating ChangeLog"
115
       && bzr log --gnu-changelog > ChangeLog
116
       && echo "• Generating AUTHORS"
4027.1.1 by Marco Trevisan (Treviño)
Upstream release 7.3.3
117
       && bzr log --long --levels=0 | grep -e "^\\s*author:" | cut -d ":" -f 2 | sed "s/,/\n/g" | sed -r -f AUTHOR-glue | sort -u | uniq -i > AUTHORS
1308 by Neil Jagdish Patel
Fix make release deps
118
       && echo "• Running Distcheck"
119
  )
2892.4.7 by Marco Trevisan (Treviño)
CMakeLists.txt: factorize the protocol private dependency string
120
572.1.24 by Neil Jagdish Patel
Add support for GTester and a make check target
121
add_custom_target (dist
3748.4.1 by Stephen M. Webb
release 7.2.0
122
  COMMAND echo "• Creating Tarball"
123
       && bzr export --root=${ARCHIVE_NAME} ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
124
       && echo "• Signing Tarball"
125
       && gpg --armor --sign --detach-sig ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
126
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
127
  )
1569 by Neil Jagdish Patel
Release\ 4.16.0
128
add_dependencies(dist pre-distcheck)
572.1.24 by Neil Jagdish Patel
Add support for GTester and a make check target
129
572.1.25 by Neil Jagdish Patel
Add make distcheck support
130
add_custom_target (distcheck
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
131
  COMMAND cd ${CMAKE_BINARY_DIR}
132
       && rm -rf ${ARCHIVE_NAME}
133
       && tar xf ${ARCHIVE_NAME}.tar.bz2
134
       && mkdir ${ARCHIVE_NAME}/build
135
       && cd ${ARCHIVE_NAME}/build
136
       && cmake -DCMAKE_INSTALL_PREFIX=../install -DGSETTINGS_LOCALINSTALL=ON .. -DCMAKE_MODULE_PATH=/usr/share/cmake
4106 by Marco Trevisan (Treviño)
Releasing Unity 7.4.0
137
       && make
138
       && make install
3387.5.84 by Marco Trevisan (Treviño)
CMakeLists.txt: use make check-headless for make distcheck
139
       && make check-headless
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
140
  )
572.1.24 by Neil Jagdish Patel
Add support for GTester and a make check target
141
add_dependencies(distcheck dist)
142
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
143
add_custom_target (post-distcheck
3748.4.1 by Stephen M. Webb
release 7.2.0
144
  COMMAND echo "• Committing Release"
145
       && bzr commit -m\"Release ${UNITY_VERSION}\" --unchanged
146
       && echo "• Tagging Release"
147
       && bzr tag ${UNITY_VERSION}
148
       && echo "• Unity ${UNITY_VERSION} is ready for release."
149
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
150
  )
1308 by Neil Jagdish Patel
Fix make release deps
151
add_dependencies(post-distcheck distcheck)
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
152
153
add_custom_target (release)
3748.4.1 by Stephen M. Webb
release 7.2.0
154
add_dependencies (release distcheck)
1224.1.1 by Neil Jagdish Patel
Add a few new make targets to make my life easier during releases.
155
572.1.24 by Neil Jagdish Patel
Add support for GTester and a make check target
156
#
572.1.4 by Neil Jagdish Patel
Build and install libunity and it's header
157
# config.h
158
#
4068.2.1 by Marco Trevisan (Treviño)
CMake: use GNUInstallDirs with native multi-arch support
159
set (VERSION "${UNITY_VERSION}")
160
set (PREFIXPATH "${CMAKE_INSTALL_PREFIX}")
4177.4.1 by Marco Trevisan (Treviño)
CMake: use UNITY_LIBDIR in a more shared way
161
set (UNITY_LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}/${PROJECT_NAME}")
162
set (UNITY_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}")
163
set (UNITY_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}")
4177.4.4 by Marco Trevisan (Treviño)
CMakeLists: fix PKGDATADIR path
164
set (PKGDATADIR "${UNITY_DATADIR}/icons")
3387.5.15 by Marco Trevisan (Treviño)
config.h: add a reference to the source resources path as SOURCEDATADIR
165
set (SOURCEDATADIR "${CMAKE_CURRENT_SOURCE_DIR}/resources")
572.1.19 by Neil Jagdish Patel
Testing and jays branch
166
set (BUILDDIR "${CMAKE_BINARY_DIR}")
3008.1.1 by Jussi Pakkanen
Fix build settings in test subdir.
167
set (TESTDATADIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/data")
4068.2.1 by Marco Trevisan (Treviño)
CMake: use GNUInstallDirs with native multi-arch support
168
set (LOCALE_DIR "${CMAKE_INSTALL_FULL_LOCALEDIR}")
4177.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: update build dependency versions
169
# specify the domain directly rather than refering to a variable
4086.1.1 by Sebastien Bacher
set the gettext domain directly in CMakeLists rather than using refering to
170
# like ${PROJECT_NAME} to no confuse dh_translations
171
set (GETTEXT_PACKAGE "unity")
2934.3.10 by Jussi Pakkanen
Fixed pkg-config usage.
172
173
find_package (PkgConfig)
3566.5.215 by Marco Trevisan (Treviño)
CMakeLists: export GTK_PREFIX on config.h instead of hardcoding one
174
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} gtk+-3.0 --variable prefix OUTPUT_VARIABLE GTK_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
2934.3.1 by Jussi Pakkanen
Move LENSES_DIR to config.h
175
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} unity --variable lensesdir OUTPUT_VARIABLE LENSES_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
2934.3.3 by Jussi Pakkanen
Move some compiler flags from add_definitions to their proper place.
176
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} indicator3-0.4 --variable indicatordir OUTPUT_VARIABLE INDICATORDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
177
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} indicator3-0.4 --variable iconsdir OUTPUT_VARIABLE INDICATORICONDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
3521.3.1 by Marco Trevisan (Treviño)
CMakeLists: use the indicators prefix as indicator service path
178
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} indicator3-0.4 --variable prefix OUTPUT_VARIABLE INDICATORPREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
4068.2.2 by Marco Trevisan (Treviño)
CMakeLists: use ${PROJECT_NAME} instead of unity
179
set (INDICATOR_SERVICE_DIR "${INDICATORPREFIX}/share/${PROJECT_NAME}/indicators")
572.1.4 by Neil Jagdish Patel
Build and install libunity and it's header
180
572.1.7 by Neil Jagdish Patel
Make sure we configure stuff out of tree too
181
configure_file (${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
572.1.6 by Neil Jagdish Patel
Add in the data we need, removing everything else
182
183
#
572.1.8 by Neil Jagdish Patel
Add support for translations
184
# i18n
185
#
186
find_package (Gettext REQUIRED)
187
2567.3.2 by Sam Spilsbury
Generate unity g-c-c integration files
188
set (COMPIZ_I18N_DIR ${CMAKE_SOURCE_DIR}/po)
189
4068.2.2 by Marco Trevisan (Treviño)
CMakeLists: use ${PROJECT_NAME} instead of unity
190
add_custom_command (OUTPUT ${CMAKE_SOURCE_DIR}/po/${PROJECT_NAME}.pot
191
		COMMAND xgettext -c --from-code=UTF-8 --files-from ${CMAKE_SOURCE_DIR}/po/POTFILES.in --keyword=_ -o ${CMAKE_SOURCE_DIR}/po/${PROJECT_NAME}.pot --copyright-holder="Canonical Ltd" --msgid-bugs-address="ayatana-dev@lists.launchpad.net" --no-wrap --no-location
572.1.8 by Neil Jagdish Patel
Add support for translations
192
		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
193
		)
194
2865.2.2 by Tim Penhey
Nice cmake flag to disable i18n due to qemu bug.
195
if (I18N_SUPPORT)
2922.1.2 by Didier Roche
gix gettext cmake syntax with new cmake
196
if (GETTEXT_FOUND)
572.1.8 by Neil Jagdish Patel
Add support for translations
197
        set (HAVE_GETTEXT true)
198
        file (GLOB _translations ${CMAKE_SOURCE_DIR}/po/*.po)
199
        GETTEXT_CREATE_TRANSLATIONS (${CMAKE_SOURCE_DIR}/po/${PROJECT_NAME}.pot
200
                ALL ${_translations})
2922.1.2 by Didier Roche
gix gettext cmake syntax with new cmake
201
endif (GETTEXT_FOUND)
2865.2.2 by Tim Penhey
Nice cmake flag to disable i18n due to qemu bug.
202
endif()
572.1.13 by Neil Jagdish Patel
Build the compiz plugin
203
204
#
711.2.1 by Alex Launi
Add compile time support for perf logging, otherwise make it a noop
205
# Enable or disable boot logging
4177.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: update build dependency versions
206
#
711.2.1 by Alex Launi
Add compile time support for perf logging, otherwise make it a noop
207
option (BOOT_LOGGER "Enable startup performance logging" OFF)
208
if (BOOT_LOGGER)
209
    SET (BOOT_LOGGER_FLAG "-DENABLE_LOGGER")
210
endif (BOOT_LOGGER)
211
4194.2.1 by Martin Pitt
Disable fatal deprecation warnings
212
SET (MAINTAINER_CXXFLAGS "-Werror -Wall -Wcast-align -Wempty-body -Wformat-security -Winit-self -Warray-bounds -Wno-error=deprecated-declarations")
3357.3.1 by Łukasz 'sil2100' Zemczak
Add a flag for -Wno-error=unused-local-typedefs, since this causes a FTBFS on ARM
213
214
option (DISABLE_ERROR_ON_LOCAL_TYPEDEFS_WARNINGS "Disable errors when local typedefs are unused" ON)
215
if (DISABLE_ERROR_ON_LOCAL_TYPEDEFS_WARNINGS)
216
  SET (MAINTAINER_CXXFLAGS "${MAINTAINER_CXXFLAGS} -Wno-error=unused-local-typedefs")
217
endif (DISABLE_ERROR_ON_LOCAL_TYPEDEFS_WARNINGS)
218
2845.3.2 by Jussi Pakkanen
Moved maintainer CXX flags to global scope.
219
option (DISABLE_MAINTAINER_CXXFLAGS "Disable maintainer CXXFlags" OFF)
220
if (DISABLE_MAINTAINER_CXXFLAGS)
221
  SET (MAINTAINER_CXXFLAGS "")
222
endif (DISABLE_MAINTAINER_CXXFLAGS)
223
224
# Make sure these flags are used for every build.
225
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MAINTAINER_CXXFLAGS}")
867.2.1 by Neil Jagdish Patel
Enable -Werror and other fun flags
226
711.2.1 by Alex Launi
Add compile time support for perf logging, otherwise make it a noop
227
#
1242.2.1 by Neil Jagdish Patel
Initial go at making things sane again
228
# Compiz Plugins
572.1.13 by Neil Jagdish Patel
Build the compiz plugin
229
#
3477.2.1 by Michal Hruby
Add ability to colorize AnnotatedIcons
230
set(UNITY_PROTOCOL_PRIVATE_DEPS unity-protocol-private>=7.1.0)
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
231
set(UNITY_PLUGIN_SHARED_DEPS
232
    ${UNITY_PROTOCOL_PRIVATE_DEPS}
4067.2.2 by azzaronea at gmail
Integration with gnome-software.
233
    appstream-glib
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
234
    atk
235
    atk-bridge-2.0
3680.1.4 by Marco Trevisan (Treviño)
DecorationsTitle: scale the cairo surface using cairo_surface_set_device_scale
236
    cairo>=1.13.1
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
237
    dbusmenu-glib-0.4
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
238
    dee-1.0
2892.7.1 by Marco Trevisan (Treviño)
PanelService: use generic marshaller in signals
239
    gio-2.0>=2.30.0
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
240
    gio-unix-2.0
241
    gmodule-2.0
242
    gthread-2.0
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
243
    gtk+-3.0>=3.1
2892.6.8 by Marco Trevisan (Treviño)
CMakeLists: put the indicators dependency back
244
    indicator3-0.4>=0.4.90
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
245
    json-glib-1.0
4074.4.4 by Andrea Azzarone
Require bamf >= 0.5.3 in CmakeList.txt too.
246
    libbamf3>=0.5.3
3611.4.2 by Andrea Azzarone
Draw the current background in the shield window.
247
    gnome-desktop-3.0
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
248
    libnotify
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
249
    libstartup-notification-1.0
3611.2.3 by Brandon Schaefer
* Bump nux to 4.0.5
250
    nux-4.0>=4.0.5
4177.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: update build dependency versions
251
    sigc++-2.0>=2.4.0
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
252
    unity-misc>=0.4.0
3587.2.1 by Timo Jyrinki
Revert the revert bzr3586 to get xpathselect1.4 support back in.
253
    xpathselect=1.4
3474.1.1 by Stephen M. Webb
changed zeitgeist dependency to 2.0
254
    zeitgeist-2.0
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
255
)
256
257
set(UNITY_PLUGIN_DEPS ${UNITY_PLUGIN_SHARED_DEPS})
2892.4.7 by Marco Trevisan (Treviño)
CMakeLists.txt: factorize the protocol private dependency string
258
2892.4.4 by Marco Trevisan (Treviño)
Merge with trunk
259
if(ENABLE_X_SUPPORT)
2892.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: just use standard set syntax to define the proper dependencies
260
  set(UNITY_PLUGIN_DEPS
2892.4.9 by Marco Trevisan (Treviño)
CMakeLists.txt: don't duplicate dependencies, just use a shared variable
261
      ${UNITY_PLUGIN_DEPS}
4177.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: update build dependency versions
262
      compiz>=0.9.11
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
263
      libgeis
2892.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: just use standard set syntax to define the proper dependencies
264
      x11
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
265
      xfixes
3164.2.1 by Brandon Schaefer
[ Brandon Schaefer ]
266
      xi>=1.6.99.1
2892.4.11 by Marco Trevisan (Treviño)
CMakeLists.txt: sort dependencies in alhabetical order, move to x-only unneeded shared dependencies
267
      xrender>=0.9
2892.4.3 by Marco Trevisan (Treviño)
CMakeLists.txt: just use standard set syntax to define the proper dependencies
268
  )
2849.1.1 by Tim Penhey
Conditionally compile some things only if there is X.
269
endif ()
270
2350.2.1 by Gord Allott
panel and dash moved to subdirectories
271
pkg_check_modules (CACHED_UNITY_DEPS REQUIRED ${UNITY_PLUGIN_DEPS})
2529.4.1 by Łukasz 'sil2100' Zemczak
Add the libunity private directory to unityshell.so RPATH, so that it can easily find the libunity-protocol-private.so library on load.
272
pkg_check_modules (CACHED_UNITY_PRIVATE_DEPS REQUIRED ${UNITY_PROTOCOL_PRIVATE_DEPS})
3566.5.67 by Marco Trevisan (Treviño)
CMakeLists: include full unity-protocol-private library path in UNITY_STANDALONE_LADD
273
find_library (UNITY_PROTOCOL_PRIVATE_LIB unity-protocol-private ${CACHED_UNITY_PRIVATE_DEPS_LIBDIR} ${CACHED_UNITY_PRIVATE_DEPS_LIBRARY_DIRS})
3566.5.247 by Marco Trevisan (Treviño)
UNITY_STANDALONE_LADD: no need to use the ";" to separate these parameters
274
set(UNITY_STANDALONE_LADD ${UNITY_STANDALONE_LADD} ${UNITY_PROTOCOL_PRIVATE_LIB})
3566.5.67 by Marco Trevisan (Treviño)
CMakeLists: include full unity-protocol-private library path in UNITY_STANDALONE_LADD
275
4054.2.4 by Marco Trevisan (Treviño)
a11y: move accessibility stuff to its own directory, adding a private lib for building
276
add_subdirectory(a11y)
2350.2.1 by Gord Allott
panel and dash moved to subdirectories
277
add_subdirectory(unity-shared)
278
add_subdirectory(dash)
2350.2.3 by Gord Allott
launcher and switcher added
279
add_subdirectory(launcher)
3806.5.3 by Andrea Azzarone
Install the unity.pam file.
280
add_subdirectory(data)
4027.1.10 by Marco Trevisan (Treviño)
CMakeLists.txt: Add ENABLE_UNIT_TEST option to enable/disable tests
281
2865.2.12 by Tim Penhey
Change the macros, and cmake definitions.
282
if (ENABLE_X_SUPPORT)
2849.1.1 by Tim Penhey
Conditionally compile some things only if there is X.
283
  add_subdirectory(hud)
3611.4.1 by Andrea Azzarone
Initial commit for the unity lockscreen. UserAuthenticator added with tests too.
284
  add_subdirectory(lockscreen)
2849.1.1 by Tim Penhey
Conditionally compile some things only if there is X.
285
  add_subdirectory(panel)
3566.5.63 by Marco Trevisan (Treviño)
Decorations: move to separated library
286
  add_subdirectory(decorations)
2849.1.1 by Tim Penhey
Conditionally compile some things only if there is X.
287
  add_subdirectory(plugins/unityshell)
288
  add_subdirectory(plugins/unity-mt-grab-handles)
2865.2.7 by Tim Penhey
The shortcuts currently need compiz.
289
  add_subdirectory(shortcuts)
3144.4.4 by Marco Trevisan (Treviño)
ShutdownView: first draft implementation
290
  add_subdirectory(shutdown)
2849.1.1 by Tim Penhey
Conditionally compile some things only if there is X.
291
  add_subdirectory(unity-standalone)
4068.2.1 by Marco Trevisan (Treviño)
CMake: use GNUInstallDirs with native multi-arch support
292
293
  if (ENABLE_NETWORKAREAREGION_PLUGIN)
294
    add_subdirectory(plugins/networkarearegion)
295
  endif (ENABLE_NETWORKAREAREGION_PLUGIN)
296
2865.2.12 by Tim Penhey
Change the macros, and cmake definitions.
297
endif ()
1187.7.2 by Sam Spilsbury
Add unity dialog plugin to build
298
1739.1.8 by Gord Allott
changed our make targets so that our standalone applications only build with the standalone-clients make target
299
add_subdirectory(doc)
300
add_subdirectory(services)
301
add_subdirectory(tools)
302
add_subdirectory(UnityCore)
303
add_subdirectory(guides)
2567.3.2 by Sam Spilsbury
Generate unity g-c-c integration files
304
add_subdirectory(gnome)
305
4027.1.10 by Marco Trevisan (Treviño)
CMakeLists.txt: Add ENABLE_UNIT_TEST option to enable/disable tests
306
if (ENABLE_UNIT_TESTS)
307
  add_subdirectory(tests)
308
else (ENABLE_UNIT_TESTS)
309
  set (MISSING_TESTS_MSG "-- Tests disabled, compile with -DENABLE_UNIT_TESTS=ON")
310
  add_custom_target (check COMMAND echo ${MISSING_TESTS_MSG})
311
  add_custom_target (check-headless COMMAND echo ${MISSING_TESTS_MSG})
312
  add_custom_target (gcheck COMMAND echo ${MISSING_TESTS_MSG})
313
endif (ENABLE_UNIT_TESTS)
314
2867.1.3 by Tim Penhey
Move the resource installation directives into the main CMakeLists.txt file.
315
# Resources
4068.2.2 by Marco Trevisan (Treviño)
CMakeLists: use ${PROJECT_NAME} instead of unity
316
install (FILES resources/dash-widgets.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/themes)
2867.1.3 by Tim Penhey
Move the resource installation directives into the main CMakeLists.txt file.
317
file (GLOB _datafiles "${CMAKE_CURRENT_SOURCE_DIR}/resources/*")
318
install (FILES ${_datafiles} DESTINATION ${PKGDATADIR})
319
1188.1.1 by Gord Allott
Enables doxygen documentation building, for internal use only. use make doxygen
320
#
321
# docs
322
#
323
324
# check if doxygen is even installed
325
find_package(Doxygen)
326
if (DOXYGEN_FOUND STREQUAL "NO")
1221.1.1 by Gord Allott
fix for me breaking trunk, doxygen no longer fatal errors if its not installed
327
  message("Doxygen not found. Documentation will not be built")
1188.1.1 by Gord Allott
Enables doxygen documentation building, for internal use only. use make doxygen
328
endif (DOXYGEN_FOUND STREQUAL "NO")
329
1221.1.1 by Gord Allott
fix for me breaking trunk, doxygen no longer fatal errors if its not installed
330
if (DOXYGEN_FOUND STREQUAL "YES")
331
  set(TOP_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR})
332
333
  # prepare doxygen configuration file
334
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
335
336
  # add doxygen as target
337
  add_custom_target(doxygen ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
338
339
  # cleanup $build/api-doc on "make clean"
340
  set_property(DIRECTORY APPEND PROPERTY
341
         ADDITIONAL_MAKE_CLEAN_FILES api-doc)
342
343
endif (DOXYGEN_FOUND STREQUAL "YES")
4209.1.1 by Marco Trevisan (Treviño)
CMakeLists.txt: add support to compile with GTest 1.8
344