diff options
Diffstat (limited to 'Modules/FindImageMagick.cmake')
-rw-r--r-- | Modules/FindImageMagick.cmake | 148 |
1 files changed, 74 insertions, 74 deletions
diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake index f21b630..436bb4b 100644 --- a/Modules/FindImageMagick.cmake +++ b/Modules/FindImageMagick.cmake @@ -45,11 +45,11 @@ # 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) +# 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.). @@ -72,10 +72,10 @@ #--------------------------------------------------------------------- # Helper functions #--------------------------------------------------------------------- -FUNCTION(FIND_IMAGEMAGICK_API component header) - SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE) +function(FIND_IMAGEMAGICK_API component header) + set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE) - FIND_PATH(ImageMagick_${component}_INCLUDE_DIR + find_path(ImageMagick_${component}_INCLUDE_DIR NAMES ${header} PATHS ${ImageMagick_INCLUDE_DIRS} @@ -84,150 +84,150 @@ FUNCTION(FIND_IMAGEMAGICK_API component header) ImageMagick DOC "Path to the ImageMagick include dir." ) - FIND_LIBRARY(ImageMagick_${component}_LIBRARY + 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) + if(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY) + set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE) - LIST(APPEND ImageMagick_INCLUDE_DIRS + 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(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS) + set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE) - LIST(APPEND ImageMagick_LIBRARIES + 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) + 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 +function(FIND_IMAGEMAGICK_EXE component) + set(_IMAGEMAGICK_EXECUTABLE ${ImageMagick_EXECUTABLE_DIR}/${component}${CMAKE_EXECUTABLE_SUFFIX}) - IF(EXISTS ${_IMAGEMAGICK_EXECUTABLE}) - SET(ImageMagick_${component}_EXECUTABLE + 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) + 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 +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 +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. -UNSET(ImageMagick_REQUIRED_VARS) -UNSET(ImageMagick_DEFAULT_EXECUTABLES) -FOREACH(component ${ImageMagick_FIND_COMPONENTS} +unset(ImageMagick_REQUIRED_VARS) +unset(ImageMagick_DEFAULT_EXECUTABLES) +foreach(component ${ImageMagick_FIND_COMPONENTS} # DEPRECATED: forced components for backward compatibility convert mogrify import montage composite ) - IF(component STREQUAL "Magick++") + if(component STREQUAL "Magick++") FIND_IMAGEMAGICK_API(Magick++ Magick++.h Magick++ CORE_RL_Magick++_ ) - LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY) - ELSEIF(component STREQUAL "MagickWand") + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY) + elseif(component STREQUAL "MagickWand") FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h Wand MagickWand CORE_RL_wand_ ) - LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY) - ELSEIF(component STREQUAL "MagickCore") + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY) + elseif(component STREQUAL "MagickCore") FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h Magick MagickCore CORE_RL_magick_ ) - LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY) - ELSE(component STREQUAL "Magick++") - IF(ImageMagick_EXECUTABLE_DIR) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY) + else(component STREQUAL "Magick++") + if(ImageMagick_EXECUTABLE_DIR) FIND_IMAGEMAGICK_EXE(${component}) - ENDIF(ImageMagick_EXECUTABLE_DIR) + endif(ImageMagick_EXECUTABLE_DIR) - IF(ImageMagick_FIND_COMPONENTS) - LIST(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested) - IF(is_requested GREATER -1) - LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_${component}_EXECUTABLE) - ENDIF(is_requested GREATER -1) - ELSEIF(ImageMagick_${component}_EXECUTABLE) + if(ImageMagick_FIND_COMPONENTS) + list(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested) + if(is_requested GREATER -1) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_${component}_EXECUTABLE) + endif(is_requested GREATER -1) + elseif(ImageMagick_${component}_EXECUTABLE) # if no components were requested explicitly put all (default) executables # in the list - LIST(APPEND ImageMagick_DEFAULT_EXECUTABLES ImageMagick_${component}_EXECUTABLE) - ENDIF(ImageMagick_FIND_COMPONENTS) - ENDIF(component STREQUAL "Magick++") -ENDFOREACH(component) + list(APPEND ImageMagick_DEFAULT_EXECUTABLES ImageMagick_${component}_EXECUTABLE) + endif(ImageMagick_FIND_COMPONENTS) + endif(component STREQUAL "Magick++") +endforeach(component) -IF(NOT ImageMagick_FIND_COMPONENTS AND NOT ImageMagick_DEFAULT_EXECUTABLES) +if(NOT ImageMagick_FIND_COMPONENTS AND NOT ImageMagick_DEFAULT_EXECUTABLES) # No components were requested, and none of the default components were # found. Just insert mogrify into the list of the default components to # find so FPHSA below has something to check - LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_mogrify_EXECUTABLE) -ELSEIF(ImageMagick_DEFAULT_EXECUTABLES) - LIST(APPEND ImageMagick_REQUIRED_VARS ${ImageMagick_DEFAULT_EXECUTABLES}) -ENDIF() + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_mogrify_EXECUTABLE) +elseif(ImageMagick_DEFAULT_EXECUTABLES) + list(APPEND ImageMagick_REQUIRED_VARS ${ImageMagick_DEFAULT_EXECUTABLES}) +endif() -SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS}) -SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES}) +set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS}) +set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES}) -IF(ImageMagick_mogrify_EXECUTABLE) - EXECUTE_PROCESS(COMMAND ${ImageMagick_mogrify_EXECUTABLE} -version +if(ImageMagick_mogrify_EXECUTABLE) + execute_process(COMMAND ${ImageMagick_mogrify_EXECUTABLE} -version OUTPUT_VARIABLE imagemagick_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - IF(imagemagick_version MATCHES "^Version: ImageMagick [0-9]") - STRING(REGEX REPLACE "^Version: ImageMagick ([-0-9\\.]+).*" "\\1" ImageMagick_VERSION_STRING "${imagemagick_version}") - ENDIF() - UNSET(imagemagick_version) -ENDIF(ImageMagick_mogrify_EXECUTABLE) + if(imagemagick_version MATCHES "^Version: ImageMagick [0-9]") + string(REGEX REPLACE "^Version: ImageMagick ([-0-9\\.]+).*" "\\1" ImageMagick_VERSION_STRING "${imagemagick_version}") + endif() + unset(imagemagick_version) +endif(ImageMagick_mogrify_EXECUTABLE) #--------------------------------------------------------------------- # Standard Package Output #--------------------------------------------------------------------- -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(ImageMagick REQUIRED_VARS ${ImageMagick_REQUIRED_VARS} VERSION_VAR ImageMagick_VERSION_STRING ) # Maintain consistency with all other variables. -SET(ImageMagick_FOUND ${IMAGEMAGICK_FOUND}) +set(ImageMagick_FOUND ${IMAGEMAGICK_FOUND}) #--------------------------------------------------------------------- # DEPRECATED: Setting variables for backward compatibility. #--------------------------------------------------------------------- -SET(IMAGEMAGICK_BINARY_PATH ${ImageMagick_EXECUTABLE_DIR} +set(IMAGEMAGICK_BINARY_PATH ${ImageMagick_EXECUTABLE_DIR} CACHE PATH "Path to the ImageMagick binary directory.") -SET(IMAGEMAGICK_CONVERT_EXECUTABLE ${ImageMagick_convert_EXECUTABLE} +set(IMAGEMAGICK_CONVERT_EXECUTABLE ${ImageMagick_convert_EXECUTABLE} CACHE FILEPATH "Path to ImageMagick's convert executable.") -SET(IMAGEMAGICK_MOGRIFY_EXECUTABLE ${ImageMagick_mogrify_EXECUTABLE} +set(IMAGEMAGICK_MOGRIFY_EXECUTABLE ${ImageMagick_mogrify_EXECUTABLE} CACHE FILEPATH "Path to ImageMagick's mogrify executable.") -SET(IMAGEMAGICK_IMPORT_EXECUTABLE ${ImageMagick_import_EXECUTABLE} +set(IMAGEMAGICK_IMPORT_EXECUTABLE ${ImageMagick_import_EXECUTABLE} CACHE FILEPATH "Path to ImageMagick's import executable.") -SET(IMAGEMAGICK_MONTAGE_EXECUTABLE ${ImageMagick_montage_EXECUTABLE} +set(IMAGEMAGICK_MONTAGE_EXECUTABLE ${ImageMagick_montage_EXECUTABLE} CACHE FILEPATH "Path to ImageMagick's montage executable.") -SET(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE} +set(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE} CACHE FILEPATH "Path to ImageMagick's composite executable.") -MARK_AS_ADVANCED( +mark_as_advanced( IMAGEMAGICK_BINARY_PATH IMAGEMAGICK_CONVERT_EXECUTABLE IMAGEMAGICK_MOGRIFY_EXECUTABLE |