Blame alembic-1.7.11-0002-Find-IlmBase-by-setting-a-proper-ILMBASE_ROOT-value.patch

2cf2828
From 60bbcde225f3c28a36d8643c451509d9deb09222 Mon Sep 17 00:00:00 2001
2cf2828
From: Bernd Waibel <waebbl@gmail.com>
2cf2828
Date: Sat, 15 Jun 2019 13:34:09 +0200
2cf2828
Subject: [PATCH 2/5] Find IlmBase by setting a proper ILMBASE_ROOT value and
2cf2828
 by using pkg-config to determine the installed ilmbase version, instead of
2cf2828
 using the cmake STRINGS command.
2cf2828
2cf2828
Signed-off-by: Bernd Waibel <waebbl@gmail.com>
2cf2828
---
2cf2828
 cmake/Modules/FindIlmBase.cmake   | 18 +++++++++++++++++-
2cf2828
 cmake/Modules/FindPyIlmBase.cmake |  2 +-
2cf2828
 2 files changed, 18 insertions(+), 2 deletions(-)
2cf2828
2cf2828
diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake
2cf2828
index 679a02f..0fe2b1a 100644
2cf2828
--- a/cmake/Modules/FindIlmBase.cmake
2cf2828
+++ b/cmake/Modules/FindIlmBase.cmake
2cf2828
@@ -52,7 +52,7 @@ IF(NOT DEFINED ILMBASE_ROOT)
2cf2828
           SET( ALEMBIC_ILMBASE_ROOT NOTFOUND )
2cf2828
         ELSE()
2cf2828
           # TODO: set to default install path when shipping out
2cf2828
-          SET( ALEMBIC_ILMBASE_ROOT "/usr/local/ilmbase-1.0.1/" )
2cf2828
+          SET( ALEMBIC_ILMBASE_ROOT "/usr" )
2cf2828
         ENDIF()
2cf2828
     ELSE()
2cf2828
         IF ( ${WINDOWS} )
2cf2828
@@ -87,6 +87,21 @@ SET(_ilmbase_SEARCH_DIRS
2cf2828
     /usr/freeware
2cf2828
 )
2cf2828
 
2cf2828
+# use pkg-config to determine the correct version
2cf2828
+include(FindPkgConfig)
2cf2828
+IF(PKG_CONFIG_FOUND)
2cf2828
+    PKG_CHECK_MODULES(PC_ILMBASE QUIET IlmBase)
2cf2828
+    IF(PC_ILMBASE_FOUND)
2cf2828
+        SET(ILMBASE_VERSION ${PC_ILMBASE_VERSION})
2cf2828
+        SET(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${PC_ILMBASE_INCLUDE_DIRS})
2cf2828
+        STRING(REGEX MATCH "-lHalf" ALEMBIC_ILMBASE_HALF_LIB ${PC_ILMBASE_LDFLAGS})
2cf2828
+        STRING(REGEX MATCH "-lIex" ALEMBIC_ILMBASE_IEX_LIB ${PC_ILMBASE_LDFLAGS})
2cf2828
+        STRING(REGEX MATCH "-lIexMath" ALEMBIC_ILMBASE_IEXMATH_LIB ${PC_ILMBASE_LDFLAGS})
2cf2828
+        STRING(REGEX MATCH "-lIlmThread" ALEMBIC_ILMBASE_ILMTHREAD_LIB ${PC_ILMBASE_LDFLAGS})
2cf2828
+        String(REGEX MATCH "-lImath" ALEMBIC_ILMBASE_IMATH_LIB ${PC_ILMBASE_LDFLAGS})
2cf2828
+    ENDIF()
2cf2828
+ELSE(PKG_CONFIG_FOUND)
2cf2828
+
2cf2828
 FIND_PATH(ILMBASE_INCLUDE_DIR
2cf2828
   NAMES
2cf2828
     IlmBaseConfig.h
2cf2828
@@ -179,6 +194,7 @@ IF ( ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY} STREQUAL "ALEMBIC_ILMBASE_INCLUDE_DIRE
2cf2828
   MESSAGE( FATAL_ERROR "ilmbase header files not found, required: ALEMBIC_ILMBASE_ROOT: ${ALEMBIC_ILMBASE_ROOT}" )
2cf2828
 ENDIF()
2cf2828
 
2cf2828
+ENDIF(PKG_CONFIG_FOUND)
2cf2828
 
2cf2828
 MESSAGE( STATUS "ILMBASE INCLUDE PATH: ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}" )
2cf2828
 MESSAGE( STATUS "HALF LIB: ${ALEMBIC_ILMBASE_HALF_LIB}" )
2cf2828
diff --git a/cmake/Modules/FindPyIlmBase.cmake b/cmake/Modules/FindPyIlmBase.cmake
2cf2828
index d55f8d3..b5f3cb5 100644
2cf2828
--- a/cmake/Modules/FindPyIlmBase.cmake
2cf2828
+++ b/cmake/Modules/FindPyIlmBase.cmake
2cf2828
@@ -44,7 +44,7 @@ ELSE()
2cf2828
               SET(ALEMBIC_PYILMBASE_ROOT NOTFOUND)
2cf2828
             ELSE()
2cf2828
               # TODO: set to default install path when shipping out
2cf2828
-              SET(ALEMBIC_PYILMBASE_ROOT "/usr/local/pyilmbase/")
2cf2828
+              SET(ALEMBIC_PYILMBASE_ROOT "/usr")
2cf2828
             ENDIF()
2cf2828
         ELSE()
2cf2828
             IF (${WINDOWS})
2cf2828
-- 
2cf2828
2.22.0
2cf2828