[kwin] Copy required FindModules to kwin
Required for standalone build, removes the hack to include the modules from kde-workspace.
This commit is contained in:
parent
484794f046
commit
56c35d0600
4 changed files with 157 additions and 3 deletions
|
@ -3,9 +3,10 @@ project(KWIN)
|
|||
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
|
||||
set(QT_MIN_VERSION "5.2.0")
|
||||
|
||||
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
|
||||
# TODO: this includes the cmake modules from kde-workspace. Need to move those to KWin
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules ${CMAKE_MODULE_PATH} )
|
||||
# TODO: remove if once we are split
|
||||
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH} )
|
||||
endif()
|
||||
|
||||
find_package(ECM 0.0.11 REQUIRED NO_MODULE)
|
||||
|
||||
|
|
22
cmake/modules/COPYING-CMAKE-SCRIPTS
Normal file
22
cmake/modules/COPYING-CMAKE-SCRIPTS
Normal file
|
@ -0,0 +1,22 @@
|
|||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
52
cmake/modules/FindOpenGLES.cmake
Normal file
52
cmake/modules/FindOpenGLES.cmake
Normal file
|
@ -0,0 +1,52 @@
|
|||
# - Try to find OpenGLES
|
||||
# Once done this will define
|
||||
#
|
||||
# OPENGLES_FOUND - system has OpenGLES and EGL
|
||||
# OPENGL_EGL_FOUND - system has EGL
|
||||
# OPENGLES_INCLUDE_DIR - the GLES include directory
|
||||
# OPENGLES_LIBRARY - the GLES library
|
||||
# OPENGLES_EGL_INCLUDE_DIR - the EGL include directory
|
||||
# OPENGLES_EGL_LIBRARY - the EGL library
|
||||
# OPENGLES_LIBRARIES - all libraries needed for OpenGLES
|
||||
# OPENGLES_INCLUDES - all includes needed for OpenGLES
|
||||
|
||||
FIND_PATH(OPENGLES_INCLUDE_DIR GLES2/gl2.h
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include /usr/X11R6/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OPENGLES_LIBRARY
|
||||
NAMES GLESv2
|
||||
PATHS /opt/graphics/OpenGL/lib
|
||||
/usr/openwin/lib
|
||||
/usr/shlib /usr/X11R6/lib
|
||||
/usr/lib
|
||||
)
|
||||
|
||||
FIND_PATH(OPENGLES_EGL_INCLUDE_DIR EGL/egl.h
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include /usr/X11R6/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OPENGLES_EGL_LIBRARY
|
||||
NAMES EGL
|
||||
PATHS /usr/shlib /usr/X11R6/lib
|
||||
/usr/lib
|
||||
)
|
||||
|
||||
SET(OPENGL_EGL_FOUND "NO")
|
||||
IF(OPENGLES_EGL_LIBRARY AND OPENGLES_EGL_INCLUDE_DIR)
|
||||
SET(OPENGL_EGL_FOUND "YES")
|
||||
ENDIF()
|
||||
|
||||
SET(OPENGLES_FOUND "NO")
|
||||
IF(OPENGLES_LIBRARY AND OPENGLES_INCLUDE_DIR AND
|
||||
OPENGLES_EGL_LIBRARY AND OPENGLES_EGL_INCLUDE_DIR)
|
||||
SET(OPENGLES_LIBRARIES ${OPENGLES_LIBRARY} ${OPENGLES_LIBRARIES}
|
||||
${OPENGLES_EGL_LIBRARY})
|
||||
SET(OPENGLES_INCLUDES ${OPENGLES_INCLUDE_DIR} ${OPENGLES_EGL_INCLUDE_DIR})
|
||||
SET(OPENGLES_FOUND "YES")
|
||||
ENDIF()
|
||||
|
79
cmake/modules/FindXKB.cmake
Normal file
79
cmake/modules/FindXKB.cmake
Normal file
|
@ -0,0 +1,79 @@
|
|||
# Try to find xkbcommon on a Unix system
|
||||
#
|
||||
# This will define:
|
||||
#
|
||||
# XKB_FOUND - True if XKB is available
|
||||
# XKB_LIBRARIES - Link these to use XKB
|
||||
# XKB_INCLUDE_DIRS - Include directory for XKB
|
||||
# XKB_DEFINITIONS - Compiler flags for using XKB
|
||||
#
|
||||
# Additionally, the following imported targets will be defined:
|
||||
#
|
||||
# XKB::XKB
|
||||
#
|
||||
# Copyright (c) 2014 Martin Gräßlin <mgraesslin@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
message(FATAL_ERROR "CMake 2.8.12 is required by FindXKB.cmake")
|
||||
endif()
|
||||
if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
|
||||
message(AUTHOR_WARNING "Your project should require at least CMake 2.8.12 to use FindXKB.cmake")
|
||||
endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
# Use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PKG_XKB QUIET xkbcommon)
|
||||
|
||||
set(XKB_DEFINITIONS ${PKG_XKB_CFLAGS_OTHER})
|
||||
|
||||
find_path(XKB_INCLUDE_DIR
|
||||
NAMES
|
||||
xkbcommon.h
|
||||
HINTS
|
||||
${PKG_XKB_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES
|
||||
xkbcommon
|
||||
)
|
||||
find_library(XKB_LIBRARY
|
||||
NAMES
|
||||
xkbcommon
|
||||
HINTS
|
||||
${PKG_XKB_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
set(XKB_LIBRARIES ${XKB_LIBRARY})
|
||||
set(XKB_INCLUDE_DIRS ${XKB_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(XKB
|
||||
FOUND_VAR
|
||||
XKB_FOUND
|
||||
REQUIRED_VARS
|
||||
XKB_LIBRARY
|
||||
XKB_INCLUDE_DIR
|
||||
)
|
||||
|
||||
if(XKB_FOUND AND NOT TARGET XKB::XKB)
|
||||
add_library(XKB::XKB UNKNOWN IMPORTED)
|
||||
set_target_properties(XKB::XKB PROPERTIES
|
||||
IMPORTED_LOCATION "${XKB_LIBRARY}"
|
||||
INTERFACE_COMPILE_OPTIONS "${XKB_DEFINITIONS}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${XKB_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(STATUS "FindXKB.cmake cannot find XKB on Windows systems.")
|
||||
set(XKB_FOUND FALSE)
|
||||
endif()
|
||||
|
||||
include(FeatureSummary)
|
||||
set_package_properties(XKB PROPERTIES
|
||||
URL "http://xkbcommon.org"
|
||||
DESCRIPTION "XKB API common to servers and clients."
|
||||
)
|
Loading…
Reference in a new issue