[Cmake-commits] [cmake-commits] miguelf committed FindImageMagick.cmake 1.4 1.5

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Jul 23 02:47:39 EDT 2008


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv6180

Modified Files:
	FindImageMagick.cmake 
Log Message:
ENH: Updated FindImageMagick to:
- Find newer additions such as animate, compare, etc.
- Find development api: Magick++, MagickCore, MagickWand
- Use FindPackageHandleStandardArgs to output standard messages.


Index: FindImageMagick.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindImageMagick.cmake,v
retrieving revision 1.4
retrieving revision 1.5
diff -C 2 -d -r1.4 -r1.5
*** FindImageMagick.cmake	15 Dec 2005 15:41:19 -0000	1.4
--- FindImageMagick.cmake	23 Jul 2008 06:47:36 -0000	1.5
***************
*** 1,76 ****
! # - Find Image Magick
! # This module finds if ImageMagick tools are installed and determines 
! # where the executables are. This code sets the following variables:
  #
! #  IMAGEMAGICK_CONVERT_EXECUTABLE   = 
! #     the full path to the 'convert' utility 
! #  IMAGEMAGICK_MOGRIFY_EXECUTABLE   = 
! #     the full path to the 'mogrify' utility 
! #  IMAGEMAGICK_IMPORT_EXECUTABLE    = 
! #     the full path to the 'import'  utility 
! #  IMAGEMAGICK_MONTAGE_EXECUTABLE   = 
! #     the full path to the 'montage' utility 
! #  IMAGEMAGICK_COMPOSITE_EXECUTABLE = 
! #     the full path to the 'composite' utility 
  #
  
! IF (WIN32)
  
!   # Try to find the ImageMagick binary path.
  
!   FIND_PATH(IMAGEMAGICK_BINARY_PATH mogrify.exe
!     [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
!     DOC "Path to the ImageMagick binary directory where all executable should be found."
!   )
  
!   # Be extra-careful here: we do NOT want CMake to look in the system's PATH
!   # env var to search for convert.exe, otherwise it is going to pick
!   # Window's own convert.exe, and you may say good-bye to your disk.
  
!   FIND_PROGRAM(IMAGEMAGICK_CONVERT_EXECUTABLE
!     NAMES convert
!     PATHS ${IMAGEMAGICK_BINARY_PATH}
!     NO_SYSTEM_PATH
!     DOC "Path to ImageMagick's convert executable. WARNING: note that this tool, named convert.exe, conflicts with Microsoft Window's own convert.exe, which is used to convert FAT partitions to NTFS format ! Therefore, be extra-careful and make sure the right convert.exe has been picked."
!   )
  
! ELSE (WIN32)
  
!   SET (IMAGEMAGICK_BINARY_PATH "")
  
!   FIND_PROGRAM(IMAGEMAGICK_CONVERT_EXECUTABLE
!     NAMES convert
!     PATHS ${IMAGEMAGICK_BINARY_PATH}
!     DOC "Path to ImageMagick's convert executable."
    )
  
! ENDIF (WIN32)
! 
! # Find mogrify, import, montage, composite
! 
! FIND_PROGRAM(IMAGEMAGICK_MOGRIFY_EXECUTABLE
!   NAMES mogrify
!   PATHS ${IMAGEMAGICK_BINARY_PATH}
!   DOC "Path to ImageMagick's mogrify executable."
! )
! 
! FIND_PROGRAM(IMAGEMAGICK_IMPORT_EXECUTABLE
!   NAMES import
!   PATHS ${IMAGEMAGICK_BINARY_PATH}
!   DOC "Path to ImageMagick's import executable."
! )
  
! FIND_PROGRAM(IMAGEMAGICK_MONTAGE_EXECUTABLE
!   NAMES montage
!   PATHS ${IMAGEMAGICK_BINARY_PATH}
!   DOC "Path to ImageMagick's montage executable."
! )
  
! FIND_PROGRAM(IMAGEMAGICK_COMPOSITE_EXECUTABLE
!   NAMES composite
!   PATHS ${IMAGEMAGICK_BINARY_PATH}
!   DOC "Path to ImageMagick's composite executable."
! )
  
  MARK_AS_ADVANCED(
    IMAGEMAGICK_BINARY_PATH
--- 1,189 ----
! # - Find the ImageMagick binary suite.
! # This module will search for a set of ImageMagick tools specified
! # as components in the FIND_PACKAGE call. Typical components include,
! # but are not limited to (future versions of ImageMagick might have
! # additional components not listed here):
  #
! #  animate
! #  compare
! #  composite
! #  conjure
! #  convert
! #  display
! #  identify
! #  import
! #  mogrify
! #  montage
! #  stream
  #
+ # If no component is specified in the FIND_PACKAGE call, then it only
+ # searches for the ImageMagick executable directory. This code defines
+ # the following variables:
+ #
+ #  ImageMagick_FOUND                  - TRUE if all components are found.
+ #  ImageMagick_EXECUTABLE_DIR         - Full path to executables directory.
+ #  ImageMagick_<component>_FOUND      - TRUE if <component> is found.
+ #  ImageMagick_<component>_EXECUTABLE - Full path to <component> executable.
+ #
+ # There are also components for the following ImageMagick APIs:
+ #
+ #  Magick++
+ #  MagickWand
+ #  Magick
+ #
+ # For these components the following variables are set:
+ #
+ #  ImageMagick_FOUND                    - TRUE if all components are found.
+ #  ImageMagick_INCLUDE_DIRS             - Full paths to all include dirs.
+ #  ImageMagick_LIBRARIES                - Full paths to all libraries.
+ #  ImageMagick_<component>_FOUND        - TRUE if <component> is found.
+ #  ImageMagick_<component>_INCLUDE_DIRS - Full path to <component> include dirs.
+ #  ImageMagick_<component>_LIBRARIES    - Full path to <component> libraries.
+ #
+ # Example Usages:
+ #  FIND_PACKAGE(ImageMagick)
+ #  FIND_PACKAGE(ImageMagick COMPONENTS convert)
+ #  FIND_PACKAGE(ImageMagick COMPONENTS convert mogrify display)
+ #  FIND_PACKAGE(ImageMagick COMPONENTS Magick++)
+ #  FIND_PACKAGE(ImageMagick COMPONENTS Magick++ convert)
+ #
+ # Note that the standard FIND_PACKAGE features are supported
+ # (i.e., QUIET, REQUIRED, etc.).
  
! # Copyright (c) 2007-2008,
! #  Miguel A. Figueroa-Villanueva, miguelf at ieee dot org.
! #
! # Redistribution and use is allowed according to the terms of the BSD license.
! # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
  
! #---------------------------------------------------------------------
! # Helper functions
! #---------------------------------------------------------------------
! FUNCTION(FIND_IMAGEMAGICK_API component header)
!   SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
  
!   FIND_PATH(ImageMagick_${component}_INCLUDE_DIR
!     NAMES ${header}
!     PATHS
!       ${ImageMagick_INCLUDE_DIRS}
!       "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
!     PATH_SUFFIXES
!       ImageMagick
!     DOC "Path to the ImageMagick include dir."
!     )
!   FIND_LIBRARY(ImageMagick_${component}_LIBRARY
!     NAMES ${ARGN}
!     PATHS
!       "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib"
!     DOC "Path to the ImageMagick Magick++ library."
!     )
  
!   IF(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
!     SET(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
  
!     LIST(APPEND ImageMagick_INCLUDE_DIRS
!       ${ImageMagick_${component}_INCLUDE_DIR}
!       )
!     LIST(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS)
!     SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE)
  
!     LIST(APPEND ImageMagick_LIBRARIES
!       ${ImageMagick_${component}_LIBRARY}
!       )
!     SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES} PARENT_SCOPE)
!   ENDIF(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
! ENDFUNCTION(FIND_IMAGEMAGICK_API)
  
! FUNCTION(FIND_IMAGEMAGICK_EXE component)
!   SET(_IMAGEMAGICK_EXECUTABLE
!     ${ImageMagick_EXECUTABLE_DIR}/${component}${CMAKE_EXECUTABLE_SUFFIX})
!   IF(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
!     SET(ImageMagick_${component}_EXECUTABLE
!       ${_IMAGEMAGICK_EXECUTABLE}
!        PARENT_SCOPE
!        )
!     SET(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
!   ELSE(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
!     SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
!   ENDIF(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
! ENDFUNCTION(FIND_IMAGEMAGICK_EXE)
  
! #---------------------------------------------------------------------
! # Start Actual Work
! #---------------------------------------------------------------------
! # Try to find a ImageMagick installation binary path.
! FIND_PATH(ImageMagick_EXECUTABLE_DIR
!   NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
!   PATHS
!     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]"
!   DOC "Path to the ImageMagick binary directory."
!   NO_DEFAULT_PATH
!   )
! FIND_PATH(ImageMagick_EXECUTABLE_DIR
!   NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
    )
  
! # Find each component. Search for all tools in same dir
! # <ImageMagick_EXECUTABLE_DIR>; otherwise they should be found
! # independently and not in a cohesive module such as this one.
! SET(ImageMagick_FOUND TRUE)
! FOREACH(component ${ImageMagick_FIND_COMPONENTS}
!     # DEPRECATED: forced components for backward compatibility
!     convert mogrify import montage composite
!     )
!   IF(component STREQUAL "Magick++")
!     FIND_IMAGEMAGICK_API(Magick++ Magick++.h
!       Magick++ CORE_RL_Magick++_
!       )
!   ELSEIF(component STREQUAL "MagickWand")
!     FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h
!       Wand MagickWand CORE_RL_wand_
!       )
!   ELSEIF(component STREQUAL "MagickCore")
!     FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h
!       Magick MagickCore CORE_RL_magick_
!       )
!   ELSE(component STREQUAL "Magick++")
!     IF(ImageMagick_EXECUTABLE_DIR)
!       FIND_IMAGEMAGICK_EXE(${component})
!     ENDIF(ImageMagick_EXECUTABLE_DIR)
!   ENDIF(component STREQUAL "Magick++")
!   
!   IF(NOT ImageMagick_${component}_FOUND)
!     LIST(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
!     IF(is_requested GREATER -1)
!       SET(ImageMagick_FOUND FALSE)
!     ENDIF(is_requested GREATER -1)
!   ENDIF(NOT ImageMagick_${component}_FOUND)
! ENDFOREACH(component)
  
! SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
! SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})
  
! #---------------------------------------------------------------------
! # Standard Package Output
! #---------------------------------------------------------------------
! INCLUDE(FindPackageHandleStandardArgs)
! FIND_PACKAGE_HANDLE_STANDARD_ARGS(
!   ImageMagick DEFAULT_MSG ImageMagick_FOUND
!   )
! # Maintain consistency with all other variables.
! SET(ImageMagick_FOUND ${IMAGEMAGICK_FOUND})
  
+ #---------------------------------------------------------------------
+ # DEPRECATED: Setting variables for backward compatibility.
+ #---------------------------------------------------------------------
+ SET(IMAGEMAGICK_BINARY_PATH          ${ImageMagick_EXECUTABLE_DIR}
+     CACHE PATH "Path to the ImageMagick binary directory.")
+ SET(IMAGEMAGICK_CONVERT_EXECUTABLE   ${ImageMagick_convert_EXECUTABLE}
+     CACHE FILEPATH "Path to ImageMagick's convert executable.")
+ SET(IMAGEMAGICK_MOGRIFY_EXECUTABLE   ${ImageMagick_mogrify_EXECUTABLE}
+     CACHE FILEPATH "Path to ImageMagick's mogrify executable.")
+ SET(IMAGEMAGICK_IMPORT_EXECUTABLE    ${ImageMagick_import_EXECUTABLE}
+     CACHE FILEPATH "Path to ImageMagick's import executable.")
+ SET(IMAGEMAGICK_MONTAGE_EXECUTABLE   ${ImageMagick_montage_EXECUTABLE}
+     CACHE FILEPATH "Path to ImageMagick's montage executable.")
+ SET(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
+     CACHE FILEPATH "Path to ImageMagick's composite executable.")
  MARK_AS_ADVANCED(
    IMAGEMAGICK_BINARY_PATH
***************
*** 80,82 ****
    IMAGEMAGICK_MONTAGE_EXECUTABLE
    IMAGEMAGICK_COMPOSITE_EXECUTABLE
! )
--- 193,195 ----
    IMAGEMAGICK_MONTAGE_EXECUTABLE
    IMAGEMAGICK_COMPOSITE_EXECUTABLE
!   )



More information about the Cmake-commits mailing list