cpp, qt: Handle modified includedir installation
authorAndre Heinecke <aheinecke@intevation.de>
Thu, 29 Sep 2016 10:46:18 +0000 (12:46 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Thu, 29 Sep 2016 10:46:18 +0000 (12:46 +0200)
* lang/cpp/src/Makefile.am,
lang/qt/src/Makefile.am: Replace resolved_includedir.
* lang/cpp/src/GpgmeppConfig.cmake.in.in,
lang/qt/src/QGpgmeConfig.cmake.in.in: Use resolved_includedir
instead of relying on a common installation prefix.

--
This fixes usage of the config files in case gpgme
is configured with a custom --includedir.
We have to do the replacement manually like for libdir
because configure would include variables in the replacement.

lang/cpp/src/GpgmeppConfig.cmake.in.in
lang/cpp/src/Makefile.am
lang/qt/src/Makefile.am
lang/qt/src/QGpgmeConfig.cmake.in.in

index d54011e..ca11deb 100644 (file)
@@ -58,17 +58,11 @@ unset(_targetsDefined)
 unset(_targetsNotDefined)
 unset(_expectedTargets)
 
-# Compute the installation prefix relative to this file.
-get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-
 # Create imported target Gpgmepp
 add_library(Gpgmepp SHARED IMPORTED)
 
 set_target_properties(Gpgmepp PROPERTIES
-  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/gpgme++"
+  INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/gpgme++;@resolved_includedir@"
   INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme@libsuffix@;@LIBASSUAN_LIBS@"
   IMPORTED_LOCATION "@resolved_libdir@/libgpgmepp@libsuffix@"
 )
@@ -77,9 +71,6 @@ 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}} )
index e65a875..0500dbf 100644 (file)
@@ -76,9 +76,9 @@ libsuffix=.so
 endif
 
 GpgmeppConfig.cmake: GpgmeppConfig.cmake.in
-       sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" > "$@"
-       sed -e 's|[@]libsuffix@|$(libsuffix)|g' < "$@" > "$@".2
-       mv "$@".2 "$@"
+       sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \
+       sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \
+       sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
 
 install-cmake-files: GpgmeppConfig.cmake GpgmeppConfigVersion.cmake
        -$(INSTALL) -d $(DESTDIR)$(libdir)/cmake/Gpgmepp
index c15da18..96b77b4 100644 (file)
@@ -221,9 +221,9 @@ libsuffix=.so
 endif
 
 QGpgmeConfig.cmake: QGpgmeConfig.cmake.in
-       sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" > "$@"
-       sed -e 's|[@]libsuffix@|$(libsuffix)|g' < "$@" > "$@".2
-       mv "$@".2 "$@"
+       sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \
+       sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \
+       sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
 
 $(camelcase_headers): Makefile.am
        echo -n "#include \"qgpgme/" > "$@"
index 3d19696..9063408 100644 (file)
@@ -58,17 +58,11 @@ unset(_targetsDefined)
 unset(_targetsNotDefined)
 unset(_expectedTargets)
 
-# Compute the installation prefix relative to this file.
-get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-
 # Create imported target QGpgme
 add_library(QGpgme SHARED IMPORTED)
 
 set_target_properties(QGpgme PROPERTIES
-  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/qgpgme"
+  INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/qgpgme;@resolved_includedir@"
   INTERFACE_LINK_LIBRARIES "Gpgmepp;Qt5::Core"
   IMPORTED_LOCATION "@resolved_libdir@/libqgpgme@libsuffix@"
 )
@@ -77,9 +71,6 @@ 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}} )