From 5e366c361dde9744059ceb7be6012c95c96cc96a Mon Sep 17 00:00:00 2001 From: Sebastien Barre Date: Tue, 21 Jan 2003 10:59:48 -0500 Subject: IMPORTANT FIX: be extra-careful here on WIN32, we do NOT want CMake to look in the system's PATH env var to search for ImageMagick's convert.exe, otherwise it is going to pick Microsoft Window's own convert.exe, which is used to convert FAT partitions to NTFS format ! Depending on the options passed to convert.exe, there is a good chance you would kiss your hard-disk good-bye. --- Modules/FindImageMagick.cmake | 55 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 6 deletions(-) (limited to 'Modules/FindImageMagick.cmake') diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake index 6837fad16f..0a3d89bfd9 100644 --- a/Modules/FindImageMagick.cmake +++ b/Modules/FindImageMagick.cmake @@ -9,26 +9,69 @@ # IMAGEMAGICK_COMPOSITE_EXECUTABLE = the full path to the 'composite' utility # -FIND_PROGRAM(IMAGEMAGICK_CONVERT_EXECUTABLE - NAMES convert -) +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 + IMAGEMAGICK_CONVERT_EXECUTABLE + IMAGEMAGICK_MOGRIFY_EXECUTABLE + IMAGEMAGICK_IMPORT_EXECUTABLE + IMAGEMAGICK_MONTAGE_EXECUTABLE + IMAGEMAGICK_COMPOSITE_EXECUTABLE +) -- cgit v1.2.1