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