mirror of
https://github.com/swaywm/sway.git
synced 2024-12-30 17:06:40 +01:00
Add libcap check to CMake
- Moved ``<sys/capability.h>`` include inside `__linux__` guard, because all uses are similarly guarded. - <sys/capability.h> is part of an optional devel package, at least in fedora. CMake now explicitly checks that libcap devel files are available. - Added libcap to the list of install packages in .travis.yml, to make the dependency explicit. travis-ci installs the package by default, which is why this hasn't surfaced previously.
This commit is contained in:
parent
270e01ce6d
commit
aa6bd85da1
4 changed files with 59 additions and 1 deletions
|
@ -18,6 +18,7 @@ arch:
|
||||||
- cairo
|
- cairo
|
||||||
- gdk-pixbuf2
|
- gdk-pixbuf2
|
||||||
- wlc-git
|
- wlc-git
|
||||||
|
- libcap
|
||||||
script:
|
script:
|
||||||
- "cmake ."
|
- "cmake ."
|
||||||
- "make"
|
- "make"
|
||||||
|
|
56
CMake/FindLibcap.cmake
Normal file
56
CMake/FindLibcap.cmake
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
#.rst:
|
||||||
|
# FindLibcap
|
||||||
|
# -------
|
||||||
|
#
|
||||||
|
# Find Libcap library
|
||||||
|
#
|
||||||
|
# Try to find Libcap library. The following values are defined
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# Libcap_FOUND - True if Libcap is available
|
||||||
|
# Libcap_INCLUDE_DIRS - Include directories for Libcap
|
||||||
|
# Libcap_LIBRARIES - List of libraries for Libcap
|
||||||
|
# Libcap_DEFINITIONS - List of definitions for Libcap
|
||||||
|
#
|
||||||
|
# and also the following more fine grained variables
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# Libcap_VERSION
|
||||||
|
# Libcap_VERSION_MAJOR
|
||||||
|
# Libcap_VERSION_MINOR
|
||||||
|
#
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright (c) 2017 Jerzi Kaminsky
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
include(FeatureSummary)
|
||||||
|
set_package_properties(Libcap PROPERTIES
|
||||||
|
URL "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2"
|
||||||
|
DESCRIPTION "Library for getting and setting POSIX.1e capabilities")
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
pkg_check_modules(PC_CAP QUIET Libcap)
|
||||||
|
find_library(Libcap_LIBRARIES NAMES cap HINTS ${PC_CAP_LIBRARY_DIRS})
|
||||||
|
find_path(Libcap_INCLUDE_DIRS sys/capability.h HINTS ${PC_CAP_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
set(Libcap_VERSION ${PC_CAP_VERSION})
|
||||||
|
string(REPLACE "." ";" VERSION_LIST "${PC_CAP_VERSION}")
|
||||||
|
|
||||||
|
LIST(LENGTH VERSION_LIST n)
|
||||||
|
if (n EQUAL 2)
|
||||||
|
list(GET VERSION_LIST 0 Libcap_VERSION_MAJOR)
|
||||||
|
list(GET VERSION_LIST 1 Libcap_VERSION_MINOR)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Libcap DEFAULT_MSG Libcap_INCLUDE_DIRS Libcap_LIBRARIES)
|
||||||
|
mark_as_advanced(Libcap_INCLUDE_DIRS Libcap_LIBRARIES Libcap_DEFINITIONS
|
||||||
|
Libcap_VERSION Libcap_VERSION_MAJOR Libcap_VERSION_MICRO Libcap_VERSION_MINOR)
|
|
@ -66,6 +66,7 @@ find_package(GdkPixbuf)
|
||||||
find_package(PAM)
|
find_package(PAM)
|
||||||
|
|
||||||
find_package(LibInput REQUIRED)
|
find_package(LibInput REQUIRED)
|
||||||
|
find_package(Libcap REQUIRED)
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
|
if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
|
||||||
find_package(EpollShim REQUIRED)
|
find_package(EpollShim REQUIRED)
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include <sys/capability.h>
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
|
#include <sys/capability.h>
|
||||||
#include <sys/prctl.h>
|
#include <sys/prctl.h>
|
||||||
#endif
|
#endif
|
||||||
#include "sway/extensions.h"
|
#include "sway/extensions.h"
|
||||||
|
|
Loading…
Reference in a new issue