diff options
author | Mark Young <marky@lunarg.com> | 2016-01-22 15:06:43 -0700 |
---|---|---|
committer | Mark Young <marky@lunarg.com> | 2016-01-25 16:04:01 -0700 |
commit | 30694d8dcdb4cbeb1f61eff71b8e487ffca0419c (patch) | |
tree | 5ed0f6dcbb73b63115e45d39fe288faa3386b477 /cmake | |
parent | 443ed6d16e32dc63c3d84484ca8cefeb33487453 (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.cmake | 35 |
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") |