summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorMark Young <marky@lunarg.com>2016-01-22 15:06:43 -0700
committerMark Young <marky@lunarg.com>2016-01-25 16:04:01 -0700
commit30694d8dcdb4cbeb1f61eff71b8e487ffca0419c (patch)
tree5ed0f6dcbb73b63115e45d39fe288faa3386b477 /cmake
parent443ed6d16e32dc63c3d84484ca8cefeb33487453 (diff)
Loader: Fix 32-bit Cmake detection of ImageMagick
Older versions of Cmake didn't like the newer script.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindImageMagick.cmake35
1 files changed, 20 insertions, 15 deletions
diff --git a/cmake/FindImageMagick.cmake b/cmake/FindImageMagick.cmake
index c0b88518..f1552b1c 100644
--- a/cmake/FindImageMagick.cmake
+++ b/cmake/FindImageMagick.cmake
@@ -101,10 +101,10 @@ function(FIND_REGISTRY)
if (WIN32)
# If a 64-bit compile, it can only appear in "[HKLM]\\software\\ImageMagick"
if (CMAKE_CL_64)
-
- set (IMAGEMAGIC_REG_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]" PARENT_SCOPE)
- set (IMAGEMAGIC_REGINCLUDE_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include" PARENT_SCOPE)
- set (IMAGEMAGIC_REGLIB_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib" PARENT_SCOPE)
+
+ GET_FILENAME_COMPONENT(IM_BIN_PATH
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
+ ABSOLUTE CACHE)
else()
@@ -115,23 +115,28 @@ function(FIND_REGISTRY)
[HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]
PATH)
- # If a 32-bit compile on a 64-bit Windows, it appears in "[HKLM]\\software\\WOW6432Node\\ImageMagick"
- if (TESTING STREQUAL "C:/Program Files (x86)")
+ # If the WOW6432Node reg string returns empty, assume 32-bit OS, and look in the standard reg path.
+ if (TESTING STREQUAL "")
- set (IMAGEMAGIC_REG_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath] PARENT_SCOPE)
- set (IMAGEMAGIC_REGINCLUDE_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]/include PARENT_SCOPE)
- set (IMAGEMAGIC_REGLIB_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]/lib PARENT_SCOPE)
-
- # If a 32-bit compile on a 32-bit Windows, it appears in "[HKLM]\\software\\ImageMagick"
+ GET_FILENAME_COMPONENT(IM_BIN_PATH
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
+ ABSOLUTE CACHE)
+
+ # Otherwise, the WOW6432Node returned a string, assume 32-bit build on 64-bit OS and use that string.
else()
-
- set (IMAGEMAGIC_REG_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath] PARENT_SCOPE)
- set (IMAGEMAGIC_REGINCLUDE_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include PARENT_SCOPE)
- set (IMAGEMAGIC_REGLIB_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib PARENT_SCOPE)
+
+ GET_FILENAME_COMPONENT(IM_BIN_PATH
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]
+ ABSOLUTE CACHE)
endif()
endif()
+
+ set (IMAGEMAGIC_REG_PATH ${IM_BIN_PATH} PARENT_SCOPE)
+ set (IMAGEMAGIC_REGINCLUDE_PATH ${IM_BIN_PATH}/include PARENT_SCOPE)
+ set (IMAGEMAGIC_REGLIB_PATH ${IM_BIN_PATH}/lib PARENT_SCOPE)
+
else()
message(WARNING "In FIND_REGISTRY: LINUX_BUILD")