98 lines
3.7 KiB
Diff
98 lines
3.7 KiB
Diff
Cross-building needs that include and library paths to be computed
|
|
at this package's build time and not at runtime usage of this cmake support.
|
|
|
|
Code inspired from cmake files of KDE Framework 5 various subparts.
|
|
|
|
--- lang/cpp/src/GpgmeppConfig.cmake.in.in.ORIG
|
|
+++ lang/cpp/src/GpgmeppConfig.cmake.in.in
|
|
@@ -58,19 +58,41 @@
|
|
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/Gpgmepp" REALPATH)
|
|
+if(_realCurr STREQUAL _realOrig)
|
|
+ set(_IMPORT_PREFIX "/usr/lib/cmake/Gpgmepp")
|
|
+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 Gpgmepp
|
|
add_library(Gpgmepp SHARED IMPORTED)
|
|
|
|
set_target_properties(Gpgmepp PROPERTIES
|
|
- INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/gpgme++;@resolved_includedir@"
|
|
- INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme@libsuffix@;@LIBASSUAN_LIBS@"
|
|
- IMPORTED_LOCATION "@resolved_libdir@/libgpgmepp@libsuffix@"
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/gpgme++"
|
|
+ INTERFACE_LINK_LIBRARIES "pthread;${_IMPORT_PREFIX}/lib/libgpgme@libsuffix@;@LIBASSUAN_LIBS@"
|
|
+ IMPORTED_LOCATION "${_IMPORT_PREFIX}/lib/libgpgmepp@libsuffix@"
|
|
)
|
|
|
|
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
endif()
|
|
|
|
+# 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}} )
|
|
--- lang/qt/src/QGpgmeConfig.cmake.in.in.ORIG
|
|
+++ lang/qt/src/QGpgmeConfig.cmake.in.in
|
|
@@ -58,19 +58,41 @@
|
|
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/QGpgme" REALPATH)
|
|
+if(_realCurr STREQUAL _realOrig)
|
|
+ set(_IMPORT_PREFIX "/usr/lib/cmake/QGpgme")
|
|
+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 QGpgme
|
|
add_library(QGpgme SHARED IMPORTED)
|
|
|
|
set_target_properties(QGpgme PROPERTIES
|
|
- INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/qgpgme;@resolved_includedir@"
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/qgpgme"
|
|
INTERFACE_LINK_LIBRARIES "Gpgmepp;Qt5::Core"
|
|
- IMPORTED_LOCATION "@resolved_libdir@/libqgpgme@libsuffix@"
|
|
+ IMPORTED_LOCATION "${_IMPORT_PREFIX}/libqgpgme@libsuffix@"
|
|
)
|
|
|
|
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
endif()
|
|
|
|
+# 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}} )
|