FindLibKML.cmake 2.32 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
# - Find LibKML
# Find the native LibKML includes and library
#
#   LIBKML_FOUND       - True if LibKML found.
#   LIBKML_INCLUDE_DIR - where to find kml/dom.h, etc.
#   LIBKML_LIBRARIES   - List of libraries when using LibKML.
#

if( LIBKML_INCLUDE_DIR )
    # Already in cache, be silent
    set( LibKML_FIND_QUIETLY TRUE )
endif()

find_path( LIBKML_INCLUDE_DIR kml/dom.h )

find_library( LIBKML_BASE_LIBRARY
              NAMES kmlbase )

# TODO : add HINTS derived from path of LIBKML_BASE_LIBRARY
find_library( LIBKML_CONVENIENCE_LIBRARY
              NAMES kmlconvenience )
find_library( LIBKML_DOM_LIBRARY
              NAMES kmldom )
find_library( LIBKML_ENGINE_LIBRARY
              NAMES kmlengine )
find_library( LIBKML_REGIONATOR_LIBRARY
              NAMES kmlregionator )
find_library( LIBKML_XSD_LIBRARY
              NAMES kmlxsd )
find_library( LIBKML_MINIZIP_LIBRARY
              NAMES minizip )

mark_as_advanced(   LIBKML_INCLUDE_DIR
                    LIBKML_BASE_LIBRARY
                    LIBKML_CONVENIENCE_LIBRARY
                    LIBKML_DOM_LIBRARY
                    LIBKML_ENGINE_LIBRARY
                    LIBKML_REGIONATOR_LIBRARY
                    LIBKML_XSD_LIBRARY
                    LIBKML_MINIZIP_LIBRARY )

# handle the QUIETLY and REQUIRED arguments and set LIBKML_FOUND to TRUE if
# all listed variables are TRUE
include( FindPackageHandleStandardArgs )
FIND_PACKAGE_HANDLE_STANDARD_ARGS( LibKML DEFAULT_MSG
                                    LIBKML_BASE_LIBRARY
                                    LIBKML_CONVENIENCE_LIBRARY
                                    LIBKML_DOM_LIBRARY
                                    LIBKML_ENGINE_LIBRARY
                                    LIBKML_REGIONATOR_LIBRARY
                                    LIBKML_XSD_LIBRARY
                                    LIBKML_MINIZIP_LIBRARY
                                    LIBKML_INCLUDE_DIR
                                     )

if(LIBKML_FOUND)
  set(LIBKML_INCLUDE_DIRS ${LIBKML_INCLUDE_DIR})
  set(LIBKML_LIBRARIES ${LIBKML_BASE_LIBRARY}
                       ${LIBKML_CONVENIENCE_LIBRARY}
                       ${LIBKML_DOM_LIBRARY}
                       ${LIBKML_ENGINE_LIBRARY}
                       ${LIBKML_REGIONATOR_LIBRARY}
                       ${LIBKML_XSD_LIBRARY}
                       ${LIBKML_MINIZIP_LIBRARY})
endif()