mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 05:06:43 +00:00
glm: hack install solution
This commit is contained in:
parent
2103895665
commit
5bdbcc17fb
7
packages/graphics/glm/config/glm.pc
Normal file
7
packages/graphics/glm/config/glm.pc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
prefix=/usr
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: GLM
|
||||||
|
Description: OpenGL Mathematics
|
||||||
|
Version: @@VERSION@@
|
||||||
|
Cflags: -I${includedir}
|
20
packages/graphics/glm/config/glmConfig.cmake
Normal file
20
packages/graphics/glm/config/glmConfig.cmake
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
set(GLM_VERSION "@@VERSION@@")
|
||||||
|
|
||||||
|
|
||||||
|
####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
|
||||||
|
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
|
||||||
|
|
||||||
|
macro(set_and_check _var _file)
|
||||||
|
set(${_var} "${_file}")
|
||||||
|
if(NOT EXISTS "${_file}")
|
||||||
|
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
|
||||||
|
set_and_check(GLM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include")
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS "3.0")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
|
||||||
|
endif()
|
31
packages/graphics/glm/config/glmConfigVersion.cmake
Normal file
31
packages/graphics/glm/config/glmConfigVersion.cmake
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# This is a basic version file for the Config-mode of find_package().
|
||||||
|
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||||
|
# to create a version-file which can be installed along a config.cmake file.
|
||||||
|
#
|
||||||
|
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||||
|
# the requested version string are exactly the same and it sets
|
||||||
|
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
|
||||||
|
# The variable CVF_VERSION must be set before calling configure_file().
|
||||||
|
|
||||||
|
set(PACKAGE_VERSION "@@VERSION@@")
|
||||||
|
|
||||||
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@@VOID_SIZE@@" STREQUAL "")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||||
|
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@@VOID_SIZE@@")
|
||||||
|
math(EXPR installedBits "@@VOID_SIZE@@ * 8")
|
||||||
|
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||||
|
set(PACKAGE_VERSION_UNSUITABLE FALSE)
|
||||||
|
endif()
|
107
packages/graphics/glm/config/glmTargets.cmake
Normal file
107
packages/graphics/glm/config/glmTargets.cmake
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
# Generated by CMake
|
||||||
|
|
||||||
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
||||||
|
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
||||||
|
endif()
|
||||||
|
cmake_policy(PUSH)
|
||||||
|
cmake_policy(VERSION 2.6)
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# Generated CMake target import file.
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
|
||||||
|
# Commands may need to know the format version.
|
||||||
|
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||||
|
|
||||||
|
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
||||||
|
set(_targetsDefined)
|
||||||
|
set(_targetsNotDefined)
|
||||||
|
set(_expectedTargets)
|
||||||
|
foreach(_expectedTarget glm)
|
||||||
|
list(APPEND _expectedTargets ${_expectedTarget})
|
||||||
|
if(NOT TARGET ${_expectedTarget})
|
||||||
|
list(APPEND _targetsNotDefined ${_expectedTarget})
|
||||||
|
endif()
|
||||||
|
if(TARGET ${_expectedTarget})
|
||||||
|
list(APPEND _targetsDefined ${_expectedTarget})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
||||||
|
unset(_targetsDefined)
|
||||||
|
unset(_targetsNotDefined)
|
||||||
|
unset(_expectedTargets)
|
||||||
|
set(CMAKE_IMPORT_FILE_VERSION)
|
||||||
|
cmake_policy(POP)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
if(NOT "${_targetsDefined}" STREQUAL "")
|
||||||
|
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
||||||
|
endif()
|
||||||
|
unset(_targetsDefined)
|
||||||
|
unset(_targetsNotDefined)
|
||||||
|
unset(_expectedTargets)
|
||||||
|
|
||||||
|
|
||||||
|
# Compute the installation prefix relative to this file.
|
||||||
|
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||||
|
# Use original install prefix when loaded through a
|
||||||
|
# cross-prefix symbolic link such as /lib -> /usr/lib.
|
||||||
|
get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH)
|
||||||
|
get_filename_component(_realOrig "/usr/lib/cmake/glm" REALPATH)
|
||||||
|
if(_realCurr STREQUAL _realOrig)
|
||||||
|
set(_IMPORT_PREFIX "/usr/lib/cmake/glm")
|
||||||
|
endif()
|
||||||
|
unset(_realOrig)
|
||||||
|
unset(_realCurr)
|
||||||
|
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||||
|
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||||
|
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||||
|
if(_IMPORT_PREFIX STREQUAL "/")
|
||||||
|
set(_IMPORT_PREFIX "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Create imported target glm
|
||||||
|
add_library(glm INTERFACE IMPORTED)
|
||||||
|
|
||||||
|
set_target_properties(glm PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||||||
|
)
|
||||||
|
|
||||||
|
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
||||||
|
message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Load information for each installed configuration.
|
||||||
|
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||||
|
file(GLOB CONFIG_FILES "${_DIR}/glmTargets-*.cmake")
|
||||||
|
foreach(f ${CONFIG_FILES})
|
||||||
|
include(${f})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Cleanup temporary variables.
|
||||||
|
set(_IMPORT_PREFIX)
|
||||||
|
|
||||||
|
# Loop over all imported files and verify that they actually exist
|
||||||
|
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
||||||
|
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
||||||
|
if(NOT EXISTS "${file}" )
|
||||||
|
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
||||||
|
\"${file}\"
|
||||||
|
but this file does not exist. Possible reasons include:
|
||||||
|
* The file was deleted, renamed, or moved to another location.
|
||||||
|
* An install or uninstall procedure did not complete successfully.
|
||||||
|
* The installation package was faulty and contained
|
||||||
|
\"${CMAKE_CURRENT_LIST_FILE}\"
|
||||||
|
but not all the files it references.
|
||||||
|
")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
||||||
|
endforeach()
|
||||||
|
unset(_IMPORT_CHECK_TARGETS)
|
||||||
|
|
||||||
|
# This file does not depend on other imported targets which have
|
||||||
|
# been exported from the same project but in a separate export set.
|
||||||
|
|
||||||
|
# Commands beyond this point should not need to know the version.
|
||||||
|
set(CMAKE_IMPORT_FILE_VERSION)
|
||||||
|
cmake_policy(POP)
|
@ -10,3 +10,19 @@ PKG_URL="https://github.com/g-truc/glm/releases/download/$PKG_VERSION/glm-$PKG_V
|
|||||||
PKG_SOURCE_DIR="glm"
|
PKG_SOURCE_DIR="glm"
|
||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="OpenGL Mathematics (GLM)"
|
PKG_LONGDESC="OpenGL Mathematics (GLM)"
|
||||||
|
|
||||||
|
# Hack install solution until cmake install restored in upstream package
|
||||||
|
makeinstall_target() {
|
||||||
|
target_has_feature 32bit && PKG_VOID_SIZE=4 || PKG_VOID_SIZE=8
|
||||||
|
|
||||||
|
for _dir in ${SYSROOT_PREFIX} ${INSTALL}; do
|
||||||
|
mkdir -p ${_dir}/usr/include ${_dir}/usr/lib/pkgconfig ${_dir}/usr/lib/cmake/glm
|
||||||
|
cp -r ${PKG_BUILD}/glm ${_dir}/usr/include
|
||||||
|
cp ${PKG_DIR}/config/glm.pc ${_dir}/usr/lib/pkgconfig
|
||||||
|
cp ${PKG_DIR}/config/*.cmake ${_dir}/usr/lib/cmake/glm
|
||||||
|
|
||||||
|
sed -e "s/@@VERSION@@/${PKG_VERSION}/g" \
|
||||||
|
-e "s/@@VOID_SIZE@@/${PKG_VOID_SIZE}/g" \
|
||||||
|
-i ${_dir}/usr/lib/pkgconfig/glm.pc ${_dir}/usr/lib/cmake/glm/*.cmake
|
||||||
|
done
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user