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:
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