qt, cpp: Add cmake config files for w32
* lang/cpp/src/GpgmeppConfig-w32.cmake.in.in lang/qt/src/QGpgmeConfig-w32.cmake.in.in: New. * lang/cpp/src/GpgmeppConfig.cmake.in.in, lang/qt/src/QGpgmeConfig.cmake.in.in: Remove libsuffix handling. * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Create / install w32 config files. * configure.ac: Configure them. -- To work with DLL's cmake needs to know about the implib and the final DLL. So the config files look different enough that it's better to use alternative files.
This commit is contained in:
parent
45abe6d142
commit
b2c07bd47b
@ -59,6 +59,9 @@ LIBGPGME_LT_CURRENT=27
|
||||
LIBGPGME_LT_AGE=16
|
||||
LIBGPGME_LT_REVISION=0
|
||||
|
||||
# If there is an ABI break in gpgmepp or qgpgme also bump the
|
||||
# version in IMPORTED_LOCATION in the GpgmeppConfig-w32.cmake.in.in
|
||||
|
||||
LIBGPGMEPP_LT_CURRENT=8
|
||||
LIBGPGMEPP_LT_AGE=2
|
||||
LIBGPGMEPP_LT_REVISION=0
|
||||
@ -873,10 +876,12 @@ AC_CONFIG_FILES(Makefile src/Makefile
|
||||
src/gpgme.h)
|
||||
AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config)
|
||||
AC_CONFIG_FILES(lang/cpp/Makefile lang/cpp/src/Makefile)
|
||||
AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in)
|
||||
AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig.cmake.in)
|
||||
AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfigVersion.cmake)
|
||||
AC_CONFIG_FILES(lang/cpp/src/gpgmepp_version.h)
|
||||
AC_CONFIG_FILES(lang/qt/Makefile lang/qt/src/Makefile)
|
||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig-w32.cmake.in)
|
||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig.cmake.in)
|
||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfigVersion.cmake)
|
||||
AC_CONFIG_FILES(lang/qt/tests/Makefile)
|
||||
|
103
lang/cpp/src/GpgmeppConfig-w32.cmake.in.in
Normal file
103
lang/cpp/src/GpgmeppConfig-w32.cmake.in.in
Normal file
@ -0,0 +1,103 @@
|
||||
# CMake Config file for GPGMEPP.
|
||||
# Copyright (C) 2016 Intevation GmbH
|
||||
#
|
||||
# This file is part of GPGMEPP.
|
||||
#
|
||||
# GPGME-CL is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# GPGME-CL is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA
|
||||
|
||||
# based on a generated file from cmake.
|
||||
# Generated by CMake 3.0.2
|
||||
|
||||
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 Gpgmepp)
|
||||
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}")
|
||||
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)
|
||||
|
||||
# Create imported target Gpgmepp
|
||||
add_library(Gpgmepp SHARED IMPORTED)
|
||||
|
||||
set_target_properties(Gpgmepp PROPERTIES
|
||||
IMPORTED_IMPLIB "@resolved_libdir@/libgpgmepp.dll.a"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/gpgme++;@resolved_includedir@"
|
||||
INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme.dll.a;@LIBASSUAN_LIBS@"
|
||||
IMPORTED_LOCATION "@resolved_bindir@/libgpgmepp-6.dll"
|
||||
)
|
||||
list(APPEND _IMPORT_CHECK_TARGETS Gpgmepp )
|
||||
list(APPEND _IMPORT_CHECK_FILES_FOR_Gpgmepp "@resolved_libdir@/libgpgmepp.dll.a" "@resolved_bindir@/libgpgmepp-6.dll" )
|
||||
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
||||
endif()
|
||||
|
||||
# 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)
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
|
||||
get_filename_component(QGpgme_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
# Pull in QGpgme for compatibility with KF5 variant.
|
||||
find_package(QGpgme CONFIG)
|
@ -64,7 +64,7 @@ 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@"
|
||||
IMPORTED_LOCATION "@resolved_libdir@/libgpgmepp.so"
|
||||
)
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
|
@ -19,7 +19,7 @@
|
||||
# 02111-1307, USA
|
||||
|
||||
EXTRA_DIST = GpgmeppConfig.cmake.in.in GpgmeppConfigVersion.cmake.in \
|
||||
gpgmepp_version.h.in
|
||||
gpgmepp_version.h.in GpgmeppConfig-w32.cmake.in.in
|
||||
|
||||
lib_LTLIBRARIES = libgpgmepp.la
|
||||
|
||||
@ -70,16 +70,15 @@ libgpgmepp_la_LDFLAGS = -no-undefined -version-info \
|
||||
@LIBGPGMEPP_LT_CURRENT@:@LIBGPGMEPP_LT_REVISION@:@LIBGPGMEPP_LT_AGE@
|
||||
|
||||
if HAVE_W32_SYSTEM
|
||||
libsuffix=.dll.a
|
||||
GpgmeppConfig.cmake: GpgmeppConfig-w32.cmake.in
|
||||
sed -e 's|[@]resolved_bindir@|$(bindir)|g' < "$<" | \
|
||||
sed -e 's|[@]resolved_libdir@|$(libdir)|g' | \
|
||||
sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
|
||||
else
|
||||
libsuffix=.so
|
||||
endif
|
||||
|
||||
GpgmeppConfig.cmake: GpgmeppConfig.cmake.in
|
||||
sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \
|
||||
sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \
|
||||
sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
|
||||
|
||||
endif
|
||||
install-cmake-files: GpgmeppConfig.cmake GpgmeppConfigVersion.cmake
|
||||
-$(INSTALL) -d $(DESTDIR)$(libdir)/cmake/Gpgmepp
|
||||
$(INSTALL) -m 644 GpgmeppConfig.cmake \
|
||||
|
@ -19,7 +19,8 @@
|
||||
# 02111-1307, USA
|
||||
lib_LTLIBRARIES = libqgpgme.la
|
||||
EXTRA_DIST = QGpgmeConfig.cmake.in.in QGpgmeConfigVersion.cmake.in \
|
||||
gpgme_backend_debug.h qgpgme_version.h.in
|
||||
gpgme_backend_debug.h qgpgme_version.h.in \
|
||||
QGpgmeConfig.cmake.in.in
|
||||
|
||||
qgpgme_sources = \
|
||||
dataprovider.cpp job.cpp multideletejob.cpp qgpgmeadduseridjob.cpp \
|
||||
@ -220,15 +221,15 @@ libqgpgme_la_LDFLAGS = -no-undefined -version-info \
|
||||
@LIBQGPGME_LT_CURRENT@:@LIBQGPGME_LT_REVISION@:@LIBQGPGME_LT_AGE@
|
||||
|
||||
if HAVE_W32_SYSTEM
|
||||
libsuffix=.dll.a
|
||||
QGpgmeConfig.cmake: QGpgmeConfig-w32.cmake.in
|
||||
sed -e 's|[@]resolved_bindir@|$(bindir)|g' < "$<" | \
|
||||
sed -e 's|[@]resolved_libdir@|$(libdir)|g' | \
|
||||
sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
|
||||
else
|
||||
libsuffix=.so
|
||||
endif
|
||||
|
||||
QGpgmeConfig.cmake: QGpgmeConfig.cmake.in
|
||||
sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \
|
||||
sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \
|
||||
sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
|
||||
endif
|
||||
|
||||
$(camelcase_headers): Makefile.am
|
||||
echo -n "#include \"qgpgme/" > "$@"
|
||||
|
105
lang/qt/src/QGpgmeConfig-w32.cmake.in.in
Normal file
105
lang/qt/src/QGpgmeConfig-w32.cmake.in.in
Normal file
@ -0,0 +1,105 @@
|
||||
# CMake Config file for QGPGME.
|
||||
# Copyright (C) 2016 Intevation GmbH
|
||||
#
|
||||
# This file is part of GPGME.
|
||||
#
|
||||
# GPGME-CL is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# GPGME-CL is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA
|
||||
|
||||
# based on a generated file from cmake.
|
||||
# Generated by CMake 3.0.2
|
||||
|
||||
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 QGpgme)
|
||||
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}")
|
||||
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)
|
||||
|
||||
# Create imported target QGpgme
|
||||
add_library(QGpgme SHARED IMPORTED)
|
||||
|
||||
set_target_properties(QGpgme PROPERTIES
|
||||
IMPORTED_IMPLIB_RELEASE "@resolved_libdir@/libqgpgme.dll.a"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/qgpgme;@resolved_includedir@"
|
||||
INTERFACE_LINK_LIBRARIES "Gpgmepp;Qt5::Core"
|
||||
IMPORTED_LOCATION "@resolved_libdir@/libqgpgme-7.dll"
|
||||
)
|
||||
|
||||
list(APPEND _IMPORT_CHECK_TARGETS QGgpme )
|
||||
list(APPEND _IMPORT_CHECK_FILES_FOR_Qgpgme "@resolved_libdir@/libqgpgme.dll.a" "@resolved_bindir@/libqgpgme-7.dll" )
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
||||
endif()
|
||||
|
||||
# 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)
|
||||
|
||||
# Gpgmepp is a requirement for qgpgme
|
||||
find_package(Gpgmepp CONFIG REQUIRED)
|
@ -64,7 +64,7 @@ add_library(QGpgme SHARED IMPORTED)
|
||||
set_target_properties(QGpgme PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/qgpgme;@resolved_includedir@"
|
||||
INTERFACE_LINK_LIBRARIES "Gpgmepp;Qt5::Core"
|
||||
IMPORTED_LOCATION "@resolved_libdir@/libqgpgme@libsuffix@"
|
||||
IMPORTED_LOCATION "@resolved_libdir@/libqgpgme.so"
|
||||
)
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
|
Loading…
Reference in New Issue
Block a user