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:
@@ -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
|
||||||
|
|
||||||
|
@@ -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
121
libxslt-config.cmake.in
Normal 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()
|
Reference in New Issue
Block a user