1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-08-08 21:42:07 +03:00

Generate lbxslt-config.cmake with autotools

This commit is contained in:
Markus Rickert
2020-12-07 16:53:49 +01:00
parent f208324770
commit d1d96281c7
3 changed files with 128 additions and 0 deletions

View File

@@ -73,6 +73,9 @@ rpm: cleantar
pkgconfigdir=$(libdir)/pkgconfig pkgconfigdir=$(libdir)/pkgconfig
pkgconfig_DATA = libxslt.pc libexslt.pc pkgconfig_DATA = libxslt.pc libexslt.pc
cmakedir = $(libdir)/cmake/libxslt
cmake_DATA = FindGcrypt.cmake libxslt-config.cmake
m4datadir = $(datadir)/aclocal m4datadir = $(datadir)/aclocal
m4data_DATA = libxslt.m4 m4data_DATA = libxslt.m4

View File

@@ -146,15 +146,18 @@ dnl Look for pthread.h, needed for testThreads
case $host in case $host in
*-mingw*) ;; *-mingw*) ;;
*) *)
WITH_THREADS=0
THREAD_LIBS="" THREAD_LIBS=""
AC_CHECK_HEADER(pthread.h, AC_CHECK_HEADER(pthread.h,
AC_CHECK_LIB(pthread, pthread_join,[ AC_CHECK_LIB(pthread, pthread_join,[
AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)]) AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)])
AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there]) AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
WITH_THREADS="1"
THREAD_LIBS="-lpthread"])) THREAD_LIBS="-lpthread"]))
;; ;;
esac esac
AC_SUBST(WITH_THREADS)
AC_SUBST(THREAD_LIBS) AC_SUBST(THREAD_LIBS)
dnl dnl
@@ -706,6 +709,7 @@ AC_CONFIG_FILES([
Makefile Makefile
libxslt.pc libxslt.pc
libexslt.pc libexslt.pc
libxslt-config.cmake
libxslt/Makefile libxslt/Makefile
libxslt/xsltconfig.h libxslt/xsltconfig.h
libxslt/xsltwin32config.h libxslt/xsltwin32config.h

121
libxslt-config.cmake.in Normal file
View File

@@ -0,0 +1,121 @@
# libxslt-config.cmake
# --------------------
#
# libxlst CMake module.
# This module sets the following variables:
#
# ::
#
# LIBXSLT_INCLUDE_DIR - directory where libxslt headers are located
# LIBXSLT_INCLUDE_DIRS - list of the include directories needed to use libxslt
# LIBXSLT_LIBRARY - path to the libxslt library
# LIBXSLT_LIBRARIES - xslt libraries to link against
# LIBXSLT_DEFINITIONS - the compiler switches required for using libxslt
# LIBXSLT_VERSION_MAJOR - the major version of libxslt
# LIBXSLT_VERSION_MINOR - the minor version of libxslt
# LIBXSLT_VERSION_PATCH - the patch version of libxslt
# LIBXSLT_VERSION - libxslt version number as a string (ex: "1.1.34")
# LIBXSLT_XSLTPROC_EXECUTABLE - path to xsltproc
#
# LIBXSLT_EXSLT_INCLUDE_DIR - directory where libexslt headers are located
# LIBXSLT_EXSLT_INCLUDE_DIRS - list of the include directories needed to use libexslt
# LIBXSLT_EXSLT_LIBRARY - path to the libexslt library
# LIBXSLT_EXSLT_LIBRARIES - exslt libraries to link against
# LIBXSLT_EXSLT_DEFINITIONS - the compiler switches required for using libexslt
# LIBEXSLT_VERSION_MAJOR - the major version of libexslt
# LIBEXSLT_VERSION_MINOR - the minor version of libexslt
# LIBEXSLT_VERSION_PATCH - the patch version of libexslt
# LIBEXSLT_VERSION - libexslt version number as a string (ex: "0.8.20")
#
# The following targets are defined:
#
# LibXslt::LibXslt - the libxslt library
# LibXslt::LibExslt - the libexslt library
# LibXslt::xsltproc - the xsltproc command-line executable
set(LIBXSLT_VERSION "@VERSION@")
set(LIBXSLT_VERSION_MAJOR "@LIBXSLT_MAJOR_VERSION@")
set(LIBXSLT_VERSION_MINOR "@LIBXSLT_MINOR_VERSION@")
set(LIBXSLT_VERSION_PATCH "@LIBXSLT_MICRO_VERSION@")
set(LIBEXSLT_VERSION "@LIBEXSLT_VERSION@")
set(LIBEXSLT_VERSION_MAJOR "@LIBEXSLT_MAJOR_VERSION@")
set(LIBEXSLT_VERSION_MINOR "@LIBEXSLT_MINOR_VERSION@")
set(LIBEXSLT_VERSION_PATCH "@LIBEXSLT_MICRO_VERSION@")
get_filename_component(PACKAGE_PREFIX_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE)
set(LIBXSLT_DEFINITIONS "")
set(LIBXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")
set(LIBXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/lib")
set(LIBXSLT_EXSLT_DEFINITIONS "")
set(LIBXSLT_EXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")
set(LIBXSLT_EXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/lib")
find_library(LIBXSLT_LIBRARY NAMES xslt HINTS ${LIBXSLT_LIBRARY_DIR} NO_DEFAULT_PATH)
find_library(LIBXSLT_EXSLT_LIBRARY NAMES exslt HINTS ${LIBXSLT_EXSLT_LIBRARY_DIR} NO_DEFAULT_PATH)
find_program(LIBXSLT_XSLTPROC_EXECUTABLE NAMES xsltproc HINTS ${PACKAGE_PREFIX_DIR}/bin NO_DEFAULT_PATH)
set(LIBXSLT_INCLUDE_DIRS ${LIBXSLT_INCLUDE_DIR})
set(LIBXSLT_LIBRARIES ${LIBXSLT_LIBRARY})
set(LIBXSLT_EXSLT_INCLUDE_DIRS ${LIBXSLT_EXSLT_INCLUDE_DIR})
set(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY})
unset(LIBXSLT_INTERFACE_LINK_LIBRARIES)
unset(LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES)
include(CMakeFindDependencyMacro)
find_dependency(LibXml2 CONFIG)
list(APPEND LIBXSLT_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIRS})
list(APPEND LIBXSLT_LIBRARIES ${LIBXML2_LIBRARIES})
list(APPEND LIBXSLT_INTERFACE_LINK_LIBRARIES "LibXml2::LibXml2")
list(APPEND LIBXSLT_EXSLT_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIRS})
list(APPEND LIBXSLT_EXSLT_LIBRARIES ${LIBXML2_LIBRARIES})
list(APPEND LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES "LibXml2::LibXml2")
if(@WITH_THREADS@)
find_dependency(Threads)
list(APPEND LIBXSLT_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
list(APPEND LIBXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Threads::Threads>")
list(APPEND LIBXSLT_EXSLT_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
list(APPEND LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Threads::Threads>")
endif()
if(@WITH_CRYPTO@)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(Gcrypt)
list(APPEND LIBXSLT_LIBRARIES ${GCRYPT_LIBRARIES})
list(APPEND LIBXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Gcrypt::Gcrypt>")
list(APPEND LIBXSLT_EXSLT_LIBRARIES ${GCRYPT_LIBRARIES})
list(APPEND LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Gcrypt::Gcrypt>")
endif()
if(UNIX)
list(APPEND LIBXSLT_LIBRARIES m)
list(APPEND LIBXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:m>")
list(APPEND LIBXSLT_EXSLT_LIBRARIES m)
list(APPEND LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:m>")
endif()
mark_as_advanced(LIBXSLT_LIBRARY LIBXSLT_EXSLT_LIBRARY LIBXSLT_XSLTPROC_EXECUTABLE)
if(NOT TARGET LibXslt::LibXslt)
add_library(LibXslt::LibXslt UNKNOWN IMPORTED)
set_target_properties(LibXslt::LibXslt PROPERTIES IMPORTED_LOCATION "${LIBXSLT_LIBRARY}")
set_target_properties(LibXslt::LibXslt PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXSLT_DEFINITIONS}")
set_target_properties(LibXslt::LibXslt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXSLT_INCLUDE_DIRS}")
set_target_properties(LibXslt::LibXslt PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXSLT_INTERFACE_LINK_LIBRARIES}")
endif()
if(NOT TARGET LibXslt::LibExslt)
add_library(LibXslt::LibExslt UNKNOWN IMPORTED)
set_target_properties(LibXslt::LibExslt PROPERTIES IMPORTED_LOCATION "${LIBXSLT_EXSLT_LIBRARY}")
set_target_properties(LibXslt::LibExslt PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXSLT_EXSLT_DEFINITIONS}")
set_target_properties(LibXslt::LibExslt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXSLT_EXSLT_INCLUDE_DIRS}")
set_target_properties(LibXslt::LibExslt PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES}")
endif()
if(NOT TARGET LibXslt::xsltproc)
add_executable(LibXslt::xsltproc IMPORTED)
set_target_properties(LibXslt::xsltproc PROPERTIES IMPORTED_LOCATION "${LIBXSLT_XSLTPROC_EXECUTABLE}")
endif()