diff --git a/IlmBase/config/IlmBaseSetup.cmake b/IlmBase/config/IlmBaseSetup.cmake index 78e6559648..c48113e9a3 100644 --- a/IlmBase/config/IlmBaseSetup.cmake +++ b/IlmBase/config/IlmBaseSetup.cmake @@ -68,6 +68,9 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) # adds the automatically determined parts of the rpath # which point to directories outside the build tree to the install RPATH set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +if(APPLE) + set(CMAKE_MACOSX_RPATH ON) +endif() # if the user sets an install rpath # then just use that, or otherwise set one for them if(NOT CMAKE_INSTALL_RPATH) @@ -78,9 +81,10 @@ if(NOT CMAKE_INSTALL_RPATH) if(NOT tmpSysPath) set(tmpSysPath "lib") endif() - set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${tmpSysPath}:${CMAKE_INSTALL_FULL_LIBDIR}") - elseif(APPLE) - set(CMAKE_INSTALL_RPATH "@rpath:${CMAKE_INSTALL_FULL_LIBDIR}") + set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${tmpSysPath};${CMAKE_INSTALL_FULL_LIBDIR}") + set(tmpSysPath) + elseif(APPLE) + set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@executable_path/../lib;${CMAKE_INSTALL_FULL_LIBDIR}") else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") endif() @@ -88,17 +92,6 @@ if(NOT CMAKE_INSTALL_RPATH) set(isSystemDir) endif() -if(APPLE) - # TODO: Right now, this will make a framework for every library - # is that desired? Or should the framework be the set of libraries? - # or trigger some compile-all-as-one-big-.so? - set(CMAKE_MACOSX_RPATH ON) - option(ILMBASE_BUILD_FRAMEWORK "Built Framework bundle" OFF) - if(ILMBASE_BUILD_FRAMEWORK) - set(BUILD_SHARED_LIBS ON) - endif() -endif() - ######################## # set a default build type if not set diff --git a/IlmBase/config/LibraryDefine.cmake b/IlmBase/config/LibraryDefine.cmake index 2953f90634..bc2201dc9f 100644 --- a/IlmBase/config/LibraryDefine.cmake +++ b/IlmBase/config/LibraryDefine.cmake @@ -52,13 +52,6 @@ function(ILMBASE_DEFINE_LIBRARY libname) OUTPUT_NAME "${libname}${ILMBASE_LIB_SUFFIX}" ) endif() - if(ILMBASE_BUILD_FRAMEWORK) - set_target_properties(${libname} PROPERTIES - FRAMEWORK TRUE - FRAMEWORK_VERSION ${ILMBASE_LIB_VERSION} - MACOSX_FRAMEWORK_IDENTIFIER io.aswf.OpenEXR-IlmBase - ) - endif() add_library(${PROJECT_NAME}::${libname} ALIAS ${libname}) install(TARGETS ${libname} diff --git a/OpenEXR/config/LibraryDefine.cmake b/OpenEXR/config/LibraryDefine.cmake index 7d55e1681a..2b179a2a4d 100644 --- a/OpenEXR/config/LibraryDefine.cmake +++ b/OpenEXR/config/LibraryDefine.cmake @@ -52,13 +52,6 @@ function(OPENEXR_DEFINE_LIBRARY libname) OUTPUT_NAME "${libname}${OPENEXR_LIB_SUFFIX}" ) endif() - if(OPENEXR_BUILD_FRAMEWORK) - set_target_properties(${libname} PROPERTIES - FRAMEWORK TRUE - FRAMEWORK_VERSION ${OPENEXR_LIB_VERSION} - MACOSX_FRAMEWORK_IDENTIFIER io.aswf.OpenEXR - ) - endif() add_library(${PROJECT_NAME}::${libname} ALIAS ${libname}) install(TARGETS ${libname} diff --git a/OpenEXR/config/OpenEXRSetup.cmake b/OpenEXR/config/OpenEXRSetup.cmake index e4ae8b76e2..86bce69d34 100644 --- a/OpenEXR/config/OpenEXRSetup.cmake +++ b/OpenEXR/config/OpenEXRSetup.cmake @@ -62,6 +62,9 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) # adds the automatically determined parts of the rpath # which point to directories outside the build tree to the install RPATH set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +if(APPLE) + set(CMAKE_MACOSX_RPATH ON) +endif() # if the user sets an install rpath # then just use that, or otherwise set one for them if(NOT CMAKE_INSTALL_RPATH) @@ -72,9 +75,10 @@ if(NOT CMAKE_INSTALL_RPATH) if(NOT tmpSysPath) set(tmpSysPath "lib") endif() - set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${tmpSysPath}:${CMAKE_INSTALL_FULL_LIBDIR}") - elseif(APPLE) - set(CMAKE_INSTALL_RPATH "@rpath:${CMAKE_INSTALL_FULL_LIBDIR}") + set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${tmpSysPath};${CMAKE_INSTALL_FULL_LIBDIR}") + set(tmpSysPath) + elseif(APPLE) + set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@executable_path/../lib;${CMAKE_INSTALL_FULL_LIBDIR}") else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") endif() @@ -82,17 +86,6 @@ if(NOT CMAKE_INSTALL_RPATH) set(isSystemDir) endif() -if(APPLE) - # TODO: Right now, this will make a framework for every library - # is that desired? Or should the framework be the set of libraries? - # or trigger some compile-all-as-one-big-.so? - set(CMAKE_MACOSX_RPATH ON) - option(OPENEXR_BUILD_FRAMEWORK "Built Framework bundle" OFF) - if(OPENEXR_BUILD_FRAMEWORK) - set(BUILD_SHARED_LIBS ON) - endif() -endif() - ######################## # set a default build type if not set diff --git a/PyIlmBase/config/PyIlmBaseSetup.cmake b/PyIlmBase/config/PyIlmBaseSetup.cmake index 4ff7edbec3..f2f8316600 100644 --- a/PyIlmBase/config/PyIlmBaseSetup.cmake +++ b/PyIlmBase/config/PyIlmBaseSetup.cmake @@ -51,6 +51,9 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) # adds the automatically determined parts of the rpath # which point to directories outside the build tree to the install RPATH set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +if(APPLE) + set(CMAKE_MACOSX_RPATH ON) +endif() # if the user sets an install rpath # then just use that, or otherwise set one for them if(NOT CMAKE_INSTALL_RPATH) @@ -61,9 +64,10 @@ if(NOT CMAKE_INSTALL_RPATH) if(NOT tmpSysPath) set(tmpSysPath "lib") endif() - set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${tmpSysPath}:${CMAKE_INSTALL_FULL_LIBDIR}") + set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${tmpSysPath};${CMAKE_INSTALL_FULL_LIBDIR}") + set(tmpSysPath) elseif(APPLE) - set(CMAKE_INSTALL_RPATH "@rpath:${CMAKE_INSTALL_FULL_LIBDIR}") + set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@executable_path/../lib;${CMAKE_INSTALL_FULL_LIBDIR}") else() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") endif()