From 1aef23ab5fb877b4d70959de9c41e0e385e596b8 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Sat, 1 May 2021 22:23:16 +0200 Subject: INSTALL.md: Renamed from INSTALL file; adjust to updated test and coverage CMake build options. --- INSTALL | 86 -------------------------------------------------------------- INSTALL.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 3 +-- 3 files changed, 79 insertions(+), 88 deletions(-) delete mode 100644 INSTALL create mode 100644 INSTALL.md diff --git a/INSTALL b/INSTALL deleted file mode 100644 index fc8d601..0000000 --- a/INSTALL +++ /dev/null @@ -1,86 +0,0 @@ -# -# Copyright (C) 2013 Canonical Ltd -# Copyright (C) 2017, Mike Gabriel -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -Compile-time build dependencies -------------------------------- - - gettext (gettext 0.18.1.1-10ubuntu3 or later) - - glib (libglib2.0, 2.35.4 or later) - - cmake (cmake, 2.8.9 or later) - - gcovr (gcovr, 2.4 or later) - - lcov (lcov, 1.9 or later) - - google test (libgtest-dev, 1.6.0 or later) - - cppcheck (cppcheck) - -Runtime DBus dependencies -------------------------- - - org.ayatana.indicators.webcredentials - - org.freedesktop.Accounts - - org.freedesktop.Accounts.User - - org.freedesktop.DisplayManager.Seat - - org.freedesktop.login1.Manager - - org.freedesktop.login1.Seat - - org.freedesktop.login1.User - - org.gnome.ScreenSaver - - org.gnome.SessionManager - - org.gnome.SessionManager.EndSessionDialog - -Building the code ------------------ -The simplest case is: - $ cd ayatana-indicator-session-X.Y.Z - $ mkdir build - $ cd build - $ cmake .. - $ make - -Running the tests ------------------ - $ cd ayatana-indicator-session-X.Y.Z - $ mkdir build - $ cd build - $ cmake .. - $ make - $ make test - $ make cppcheck - -Generating Test Coverage Reports --------------------------------- - $ cd ayatan-indicator-session-X.Y.Z - $ mkdir build-coverage - $ cd build-coverage - $ cmake -DCMAKE_BUILD_TYPE=coverage .. - $ make - $ make coverage-html - -Installation ------------- - -what gets installed -LC_ALL=C /usr/bin/intltool-merge -x -u --no-translations org.ayatana.indicator.session.gschema.xml.in org.ayatana.indicator.session.gschema.xml - - - - -FIXME: not tested -To get files that form part of an installation, run a "make install" -in the build directory. By default, this installs them in the "install" -subdirectory of the build directory. If you want to install into a -different directory, use - -$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local # Or wherever... -$ make release -$ make install diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..a5fc2f9 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,78 @@ + + +# Build and installation instructions + +## Compile-time build dependencies + + - gettext (>= 0.18.1.1-10ubuntu3) + - glib2.0 (>= 2.35.4) + - optional: liblomiri-url-dispatcher-dev (>= 0.1) + - cmake (>= 3.13) + - gcovr (>= 2.4) + - lcov (>= 1.9) + - googletest (>= 1.6.0) + - cppcheck + +## Runtime DBus dependencies + + - org.ayatana.indicators.webcredentials + - org.freedesktop.Accounts + - org.freedesktop.Accounts.User + - org.freedesktop.DisplayManager.Seat + - org.freedesktop.login1.Manager + - org.freedesktop.login1.Seat + - org.freedesktop.login1.User + - org.gnome.ScreenSaver + - org.gnome.SessionManager + - org.gnome.SessionManager.EndSessionDialog + +## For end-users and packagers + +``` +cd ayatana-indicator-session-X.Y.Z +mkdir build +cd build +cmake .. +make +sudo make install +``` + +**The install prefix defaults to `/usr`, change it with `-DCMAKE_INSTALL_PREFIX=/some/path`** + +## For testers - unit tests only + +``` +cd ayatana-indicator-session-X.Y.Z +mkdir build +cd build +cmake .. -DENABLE_TESTS=ON +make +make test +make cppcheck +``` + +## For testers - both unit tests and code coverage + +``` +cd ayatana-indicator-session-X.Y.Z +mkdir build-coverage +cd build-coverage +cmake .. -DENABLE_COVERAGE=ON +make +make coverage-html +``` diff --git a/README.md b/README.md index d362423..d5884f5 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,7 @@ Unity7, MATE and Lomiri (optionally for others, e.g. XFCE, LXDE). Its behavior and features are listed at https://wiki.ayatana-indicators.org/AyatanaIndicatorSession -For instructions on building and running built-in tests, see the INSTALL file. - +For instructions on building and running built-in tests, see the INSTALL.md file. ## Notes for Client Renderers -- cgit v1.2.3