summaryrefslogtreecommitdiff
path: root/Modules/FindImageMagick.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/FindImageMagick.cmake')
-rw-r--r--Modules/FindImageMagick.cmake55
1 files changed, 49 insertions, 6 deletions
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
+)