Current Path : /usr/opt/nge/share/cmake-3.6/Modules/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/opt/nge/share/cmake-3.6/Modules/FindXalanC.cmake |
#.rst: # FindXalanC # ----------- # # Find the Apache Xalan-C++ XSL transform processor headers and libraries. # # Imported targets # ^^^^^^^^^^^^^^^^ # # This module defines the following :prop_tgt:`IMPORTED` targets: # # ``XalanC::XalanC`` # The Xalan-C++ ``xalan-c`` library, if found. # # Result variables # ^^^^^^^^^^^^^^^^ # # This module will set the following variables in your project: # # ``XalanC_FOUND`` # true if the Xalan headers and libraries were found # ``XalanC_VERSION`` # Xalan release version # ``XalanC_INCLUDE_DIRS`` # the directory containing the Xalan headers; note # ``XercesC_INCLUDE_DIRS`` is also required # ``XalanC_LIBRARIES`` # Xalan libraries to be linked; note ``XercesC_LIBRARIES`` is also # required # # Cache variables # ^^^^^^^^^^^^^^^ # # The following cache variables may also be set: # # ``XalanC_INCLUDE_DIR`` # the directory containing the Xalan headers # ``XalanC_LIBRARY`` # the Xalan library # Written by Roger Leigh <rleigh@codelibre.net> #============================================================================= # Copyright 2016 University of Dundee # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) function(_XalanC_GET_VERSION version_hdr) file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XALAN_VERSION_.*") if(_contents) string(REGEX REPLACE "[^*]*#define XALAN_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XalanC_MAJOR "${_contents}") string(REGEX REPLACE "[^*]*#define XALAN_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XalanC_MINOR "${_contents}") string(REGEX REPLACE "[^*]*#define XALAN_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XalanC_PATCH "${_contents}") if(NOT XalanC_MAJOR MATCHES "^[0-9]+$") message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_MAJOR!") endif() if(NOT XalanC_MINOR MATCHES "^[0-9]+$") message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_MINOR!") endif() if(NOT XalanC_PATCH MATCHES "^[0-9]+$") message(FATAL_ERROR "Version parsing failed for XALAN_VERSION_REVISION!") endif() set(XalanC_VERSION "${XalanC_MAJOR}.${XalanC_MINOR}.${XalanC_PATCH}" PARENT_SCOPE) set(XalanC_VERSION_MAJOR "${XalanC_MAJOR}" PARENT_SCOPE) set(XalanC_VERSION_MINOR "${XalanC_MINOR}" PARENT_SCOPE) set(XalanC_VERSION_PATCH "${XalanC_PATCH}" PARENT_SCOPE) else() message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information") endif() endfunction() # Find include directory find_path(XalanC_INCLUDE_DIR NAMES "xalanc/XalanTransformer/XalanTransformer.hpp" DOC "Xalan-C++ include directory") mark_as_advanced(XalanC_INCLUDE_DIR) if(XalanC_INCLUDE_DIR) _XalanC_GET_VERSION("${XalanC_INCLUDE_DIR}/xalanc/Include/XalanVersion.hpp") endif() if(NOT XalanC_LIBRARY) # Find all XalanC libraries find_library(XalanC_LIBRARY_RELEASE NAMES "Xalan-C" "xalan-c" "Xalan-C_${XalanC_VERSION_MAJOR}" "Xalan-C_${XalanC_VERSION_MAJOR}_${XalanC_VERSION_MINOR}" DOC "Xalan-C++ libraries (release)") find_library(XalanC_LIBRARY_DEBUG NAMES "Xalan-CD" "xalan-cd" "Xalan-C_${XalanC_VERSION_MAJOR}D" "Xalan-C_${XalanC_VERSION_MAJOR}_${XalanC_VERSION_MINOR}D" DOC "Xalan-C++ libraries (debug)") include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake) select_library_configurations(XalanC) mark_as_advanced(XalanC_LIBRARY_RELEASE XalanC_LIBRARY_DEBUG) endif() unset(XalanC_VERSION_MAJOR) unset(XalanC_VERSION_MINOR) unset(XalanC_VERSION_PATCH) unset(XalanC_XERCESC_REQUIRED) if(XalanC_FIND_REQUIRED) set(XalanC_XERCESC_REQUIRED REQUIRED) endif() find_package(XercesC ${XalanC_XERCESC_REQUIRED}) unset(XalanC_XERCESC_REQUIRED) include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(XalanC FOUND_VAR XalanC_FOUND REQUIRED_VARS XalanC_LIBRARY XalanC_INCLUDE_DIR XalanC_VERSION XercesC_FOUND VERSION_VAR XalanC_VERSION FAIL_MESSAGE "Failed to find XalanC") if(XalanC_FOUND) set(XalanC_INCLUDE_DIRS "${XalanC_INCLUDE_DIR}" ${XercesC_INCLUDE_DIRS}) set(XalanC_LIBRARIES "${XalanC_LIBRARY}" ${XercesC_LIBRARIES}) # For header-only libraries if(NOT TARGET XalanC::XalanC) add_library(XalanC::XalanC UNKNOWN IMPORTED) if(XalanC_INCLUDE_DIRS) set_target_properties(XalanC::XalanC PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${XalanC_INCLUDE_DIRS}") endif() if(EXISTS "${XalanC_LIBRARY}") set_target_properties(XalanC::XalanC PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${XalanC_LIBRARY}") endif() if(EXISTS "${XalanC_LIBRARY_DEBUG}") set_property(TARGET XalanC::XalanC APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) set_target_properties(XalanC::XalanC PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX" IMPORTED_LOCATION_DEBUG "${XalanC_LIBRARY_DEBUG}") endif() if(EXISTS "${XalanC_LIBRARY_RELEASE}") set_property(TARGET XalanC::XalanC APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(XalanC::XalanC PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" IMPORTED_LOCATION_RELEASE "${XalanC_LIBRARY_RELEASE}") endif() set_target_properties(XalanC::XalanC PROPERTIES INTERFACE_LINK_LIBRARIES XercesC::XercesC) endif() endif()