diff options
Diffstat (limited to 'media-libs/osl/files/osl-1.8.12-cmake-fixes.patch')
-rw-r--r-- | media-libs/osl/files/osl-1.8.12-cmake-fixes.patch | 332 |
1 files changed, 332 insertions, 0 deletions
diff --git a/media-libs/osl/files/osl-1.8.12-cmake-fixes.patch b/media-libs/osl/files/osl-1.8.12-cmake-fixes.patch new file mode 100644 index 000000000000..6ad5d94ac93a --- /dev/null +++ b/media-libs/osl/files/osl-1.8.12-cmake-fixes.patch @@ -0,0 +1,332 @@ +From cb34603cce0a8814dc66f76ecc5ceeb04a8d3791 Mon Sep 17 00:00:00 2001 +From: Jonathan Scruggs <j.scruggs@gmail.com> +Date: Fri, 18 Aug 2017 13:37:54 +0100 +Subject: [PATCH] OpenShadingLanguage/RB-1.8: Change to GNUInstallDirs for + install paths + +The variables: BIN_INSTALL_DIR, LIB_INSTALL_DIR, INCLUDE_INSTALL_DIR, +DOC_INSTALL_DIR, and MAN_INSTALL_DIR are defined but never used. +Instead, hard coded paths to lib, include, and bin were used. This +will cause difficulty on multi-lib systems or in cases where they +are named differently. The existing variables were replaced by the +GNUInstallDirs variables, which is compatible on all systems. + +The macro install_targets was defined, but never used in code, +so all library installs were changed to use it. +Thus all library installs now use GNUInstallDirs. + +INSTALL_DOCS variable is defined, so it's now controlling if +the documentation is being installed. + +Signed-off by: Jonathan Scruggs <j.scruggs@gmail.com> +--- + CMakeLists.txt | 66 +++++++++--------------------------------- + src/cmake/util_macros.cmake | 6 ++-- + src/doc/CMakeLists.txt | 6 ++-- + src/include/CMakeLists.txt | 2 +- + src/liboslcomp/CMakeLists.txt | 2 +- + src/liboslexec/CMakeLists.txt | 2 +- + src/liboslnoise/CMakeLists.txt | 2 +- + src/liboslquery/CMakeLists.txt | 2 +- + src/osl.imageio/CMakeLists.txt | 19 +----------- + src/oslc/CMakeLists.txt | 2 +- + src/oslinfo/CMakeLists.txt | 2 +- + src/testrender/CMakeLists.txt | 2 +- + src/testshade/CMakeLists.txt | 6 ++-- + 13 files changed, 32 insertions(+), 87 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 305047c0..da4635ab 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -248,6 +248,8 @@ set (OSL_BUILD_PLUGINS ON CACHE BOOL "Bool OSL plugins, for example OIIO plugin" + set (USE_CCACHE ON CACHE BOOL "Use ccache if found") + set (CODECOV OFF CACHE BOOL "Build code coverage tests") + option (USE_BOOST_WAVE "Use Boost Wave for C preprocessor (alternative is to use clang)" OFF) ++set (PLUGIN_SEARCH_PATH "" CACHE STRING "Default plugin search path") ++set (INSTALL_DOCS ON CACHE BOOL "Install documentation") + + # Use ccache if found + find_program (CCACHE_FOUND ccache) +@@ -349,6 +351,14 @@ if (OSL_NAMESPACE) + endif () + message(STATUS "Setting Namespace to: ${OSL_NAMESPACE}") + ++include (GNUInstallDirs) ++ ++message (STATUS "CMAKE_INSTALL_PREFIX is ${CMAKE_INSTALL_PREFIX}") ++message (STATUS "CMAKE_INSTALL_LIBDIR is ${CMAKE_INSTALL_LIBDIR}") ++message (STATUS "CMAKE_INSTALL_BINDIR is ${CMAKE_INSTALL_BINDIR}") ++message (STATUS "CMAKE_INSTALL_DOCDIR is ${CMAKE_INSTALL_DOCDIR}") ++message (STATUS "CMAKE_INSTALL_INCLUDEDIR is ${CMAKE_INSTALL_INCLUDEDIR}") ++ + set (CMAKE_MODULE_PATH + "${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") +@@ -363,58 +373,6 @@ include_directories ( + ) + + +-########################################################################### +-# Paths for install tree customization. Note that relative paths are relative +-# to CMAKE_INSTALL_PREFIX. +-set (DEFAULT_BIN_INSTALL_DIR "bin") +-set (DEFAULT_LIB_INSTALL_DIR "lib") +-set (DEFAULT_INCLUDE_INSTALL_DIR "include/OSL") +-if (UNIX AND NOT SELF_CONTAINED_INSTALL_TREE) +- # Try to be well-behaved and install into reasonable places according to +- # the "standard" unix directory heirarchy +- # TODO: Figure out how to get the correct python directory +- set (DEFAULT_PYLIB_INSTALL_DIR "lib/python/site-packages") +- set (DEFAULT_PYLIB3_INSTALL_DIR "lib/python3/site-packages") +- set (DEFAULT_DOC_INSTALL_DIR "share/doc/OSL") +- set (DEFAULT_MAN_INSTALL_DIR "share/man/man1") +-else () +- # Here is the "self-contained install tree" case: the expectation here is +- # that everything OSL related will go into its own directory, not into +- # some standard system heirarchy. +- set (DEFAULT_PYLIB_INSTALL_DIR "python") +- set (DEFAULT_PYLIB3_INSTALL_DIR "python3") +- set (DEFAULT_DOC_INSTALL_DIR "doc") +- set (DEFAULT_MAN_INSTALL_DIR "doc/man") +-endif () +-if (EXEC_INSTALL_PREFIX) +- # Tack on an extra prefix to support multi-arch builds. +- set (DEFAULT_BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_BIN_INSTALL_DIR}") +- set (DEFAULT_LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_LIB_INSTALL_DIR}") +- set (DEFAULT_PYLIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB_INSTALL_DIR}") +- set (DEFAULT_PYLIB3_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/${DEFAULT_PYLIB3_INSTALL_DIR}") +-endif () +-# Set up cmake cache variables corresponding to the defaults deduced above, so +-# that the user can override them as desired: +-set (BIN_INSTALL_DIR ${DEFAULT_BIN_INSTALL_DIR} CACHE STRING +- "Install location for binaries (relative to CMAKE_INSTALL_PREFIX or absolute)") +-set (LIB_INSTALL_DIR ${DEFAULT_LIB_INSTALL_DIR} CACHE STRING +- "Install location for libraries (relative to CMAKE_INSTALL_PREFIX or absolute)") +-set (PYLIB_INSTALL_DIR ${DEFAULT_PYLIB_INSTALL_DIR} CACHE STRING +- "Install location for python libraries (relative to CMAKE_INSTALL_PREFIX or absolute)") +-set (PYLIB3_INSTALL_DIR ${DEFAULT_PYLIB3_INSTALL_DIR} CACHE STRING +- "Install location for python3 libraries (relative to CMAKE_INSTALL_PREFIX or absolute)") +-set (INCLUDE_INSTALL_DIR ${DEFAULT_INCLUDE_INSTALL_DIR} CACHE STRING +- "Install location of header files (relative to CMAKE_INSTALL_PREFIX or absolute)") +-set (DOC_INSTALL_DIR ${DEFAULT_DOC_INSTALL_DIR} CACHE STRING +- "Install location for documentation (relative to CMAKE_INSTALL_PREFIX or absolute)") +-if (UNIX) +- set (MAN_INSTALL_DIR ${DEFAULT_MAN_INSTALL_DIR} CACHE STRING +- "Install location for manual pages (relative to CMAKE_INSTALL_PREFIX or absolute)") +-endif() +-set (PLUGIN_SEARCH_PATH "" CACHE STRING "Default plugin search path") +-set (INSTALL_DOCS ON CACHE BOOL "Install documentation") +- +- + if (APPLE) + set (MACOSX_RPATH ON) + endif () +@@ -425,7 +383,7 @@ set (CMAKE_SKIP_BUILD_RPATH FALSE) + # (but later on when installing) + set (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + # the RPATH to be used when installing +-set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") + # add 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) +@@ -472,7 +430,9 @@ add_subdirectory (src/osl.imageio) + endif () + + add_subdirectory (src/include) ++if (INSTALL_DOCS) + add_subdirectory (src/doc) ++endif () + + + +diff --git a/src/cmake/util_macros.cmake b/src/cmake/util_macros.cmake +index 5691c925..fdaeb042 100644 +--- a/src/cmake/util_macros.cmake ++++ b/src/cmake/util_macros.cmake +@@ -107,6 +107,8 @@ endmacro () + # install_targets (target1 [target2 ...]) + # + macro (install_targets) +- install (TARGETS ${ARGN} RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) ++ install (TARGETS ${ARGN} ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT user ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT user ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT developer) + endmacro() +diff --git a/src/doc/CMakeLists.txt b/src/doc/CMakeLists.txt +index 9fefa26d..f90c6f00 100644 +--- a/src/doc/CMakeLists.txt ++++ b/src/doc/CMakeLists.txt +@@ -3,15 +3,15 @@ set (public_docs osl-languagespec.pdf + markdeep.min.js + ) + +-install (FILES ${public_docs} DESTINATION doc COMPONENT documentation) ++install (FILES ${public_docs} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT documentation) + + install ( FILES "${PROJECT_SOURCE_DIR}/LICENSE" + "${PROJECT_SOURCE_DIR}/INSTALL.md" + "${PROJECT_SOURCE_DIR}/CHANGES.md" + "${PROJECT_SOURCE_DIR}/README.md" +- DESTINATION doc ) ++ DESTINATION ${CMAKE_INSTALL_DOCDIR} ) + + + file (GLOB testshade_figures "Figures/testshade/*.jpg") + install (FILES ${testshade_figures} +- DESTINATION doc/Figures/testshade ) ++ DESTINATION ${CMAKE_INSTALL_DOCDIR}/Figures/testshade ) +diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt +index cf3747d1..4656ee78 100644 +--- a/src/include/CMakeLists.txt ++++ b/src/include/CMakeLists.txt +@@ -6,4 +6,4 @@ set (OSL_BUILD_CPP14 ${USE_CPP14}) + configure_file (OSL/oslversion.h.in "${CMAKE_BINARY_DIR}/include/OSL/oslversion.h" @ONLY) + list (APPEND public_headers "${CMAKE_BINARY_DIR}/include/OSL/oslversion.h") + +-INSTALL ( FILES ${public_headers} DESTINATION include/OSL ) ++INSTALL ( FILES ${public_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/OSL ) +diff --git a/src/liboslcomp/CMakeLists.txt b/src/liboslcomp/CMakeLists.txt +index b6fa459d..6ad9172f 100644 +--- a/src/liboslcomp/CMakeLists.txt ++++ b/src/liboslcomp/CMakeLists.txt +@@ -25,5 +25,5 @@ TARGET_LINK_LIBRARIES ( oslcomp ${OPENIMAGEIO_LIBRARIES} ${ILMBASE_LIBRARIES} + ${CLANG_LIBRARIES} ${LLVM_LIBRARIES} ${LLVM_LDFLAGS} + ${LLVM_SYSTEM_LIBRARIES}) + +-INSTALL ( TARGETS oslcomp RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) ++install_targets (oslcomp) + +diff --git a/src/liboslexec/CMakeLists.txt b/src/liboslexec/CMakeLists.txt +index a0ffca5c..fa8a8728 100644 +--- a/src/liboslexec/CMakeLists.txt ++++ b/src/liboslexec/CMakeLists.txt +@@ -157,7 +157,7 @@ TARGET_LINK_LIBRARIES ( oslexec + ${LLVM_SYSTEM_LIBRARIES}) + ADD_DEPENDENCIES (oslexec "${CMAKE_SOURCE_DIR}/src/build-scripts/hidesymbols.map") + +-INSTALL ( TARGETS oslexec RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) ++install_targets (oslexec) + + # Unit tests + if (OSL_BUILD_TESTS) +diff --git a/src/liboslnoise/CMakeLists.txt b/src/liboslnoise/CMakeLists.txt +index bc4c175c..2df16afe 100644 +--- a/src/liboslnoise/CMakeLists.txt ++++ b/src/liboslnoise/CMakeLists.txt +@@ -11,7 +11,7 @@ endif () + + TARGET_LINK_LIBRARIES ( oslnoise ${OPENIMAGEIO_LIBRARY} ${ILMBASE_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ) + +-INSTALL ( TARGETS oslnoise RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) ++install_targets (oslnoise) + + + if (OSL_BUILD_TESTS) +diff --git a/src/liboslquery/CMakeLists.txt b/src/liboslquery/CMakeLists.txt +index 328fa4bb..083d0d5a 100644 +--- a/src/liboslquery/CMakeLists.txt ++++ b/src/liboslquery/CMakeLists.txt +@@ -14,4 +14,4 @@ endif () + + TARGET_LINK_LIBRARIES ( oslquery ${OPENIMAGEIO_LIBRARY} ${ILMBASE_LIBRARIES} ${Boost_LIBRARIES} ) + +-INSTALL ( TARGETS oslquery RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) ++install_targets (oslquery) +diff --git a/src/osl.imageio/CMakeLists.txt b/src/osl.imageio/CMakeLists.txt +index af612544..a8065e72 100644 +--- a/src/osl.imageio/CMakeLists.txt ++++ b/src/osl.imageio/CMakeLists.txt +@@ -1,20 +1,3 @@ +-# Macro to install targets to the appropriate locations. Use this instead of +-# the install(TARGETS ...) signature. +-# +-# Note: the original is in OIIO's src/cmake/oiio_macros.cmake +-# +-# Usage: +-# +-# oiio_install_targets (target1 [target2 ...]) +-# +-macro (oiio_install_targets) +- install (TARGETS ${ARGN} +- RUNTIME DESTINATION "${BIN_INSTALL_DIR}" COMPONENT user +- LIBRARY DESTINATION "${LIB_INSTALL_DIR}" COMPONENT user +- ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" COMPONENT developer) +-endmacro () +- +- + # Macro to add a build target for an IO plugin. + # + # Note: the original is in OIIO's src/cmake/oiio_macros.cmake +@@ -37,7 +20,7 @@ macro (add_oiio_plugin) + add_library (${_target_name} SHARED ${_plugin_DEFAULT_ARGS}) + target_link_libraries (${_target_name} ${OPENIMAGEIO_LIBRARY} ${_plugin_LINK_LIBRARIES}) + set_target_properties (${_target_name} PROPERTIES PREFIX "" FOLDER "Plugins") +- oiio_install_targets (${_target_name}) ++ install_targets (${_target_name}) + endmacro () + + +diff --git a/src/oslc/CMakeLists.txt b/src/oslc/CMakeLists.txt +index d57fc595..47b73611 100644 +--- a/src/oslc/CMakeLists.txt ++++ b/src/oslc/CMakeLists.txt +@@ -9,5 +9,5 @@ endif () + + ADD_EXECUTABLE ( oslc ${oslc_srcs} ) + TARGET_LINK_LIBRARIES ( oslc oslcomp ${OPENIMAGEIO_LIBRARY} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) +-INSTALL ( TARGETS oslc RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS oslc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +diff --git a/src/oslinfo/CMakeLists.txt b/src/oslinfo/CMakeLists.txt +index e67b4670..d3519033 100644 +--- a/src/oslinfo/CMakeLists.txt ++++ b/src/oslinfo/CMakeLists.txt +@@ -1,4 +1,4 @@ + SET ( oslinfo_srcs oslinfo.cpp ) + ADD_EXECUTABLE ( oslinfo ${oslinfo_srcs} ) + TARGET_LINK_LIBRARIES ( oslinfo oslquery ${OPENIMAGEIO_LIBRARY} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) +-INSTALL ( TARGETS oslinfo RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS oslinfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +diff --git a/src/testrender/CMakeLists.txt b/src/testrender/CMakeLists.txt +index 6643e1ee..03197346 100644 +--- a/src/testrender/CMakeLists.txt ++++ b/src/testrender/CMakeLists.txt +@@ -2,4 +2,4 @@ + FILE(GLOB testrender_src *.cpp) + ADD_EXECUTABLE ( testrender ${testrender_src} ) + TARGET_LINK_LIBRARIES ( testrender oslexec oslquery ${OPENIMAGEIO_LIBRARY} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) +-INSTALL ( TARGETS testrender RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS testrender RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +diff --git a/src/testshade/CMakeLists.txt b/src/testshade/CMakeLists.txt +index ee2f12ce..638097d4 100644 +--- a/src/testshade/CMakeLists.txt ++++ b/src/testshade/CMakeLists.txt +@@ -2,7 +2,7 @@ + SET ( testshade_srcs testshade.cpp simplerend.cpp ) + ADD_EXECUTABLE ( testshade ${testshade_srcs} testshademain.cpp ) + TARGET_LINK_LIBRARIES ( testshade oslexec oslquery ${OPENIMAGEIO_LIBRARY} ${OPENEXR_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS}) +-INSTALL ( TARGETS testshade RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS testshade RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + + # The 'libtestshade' library + if (BUILDSTATIC) +@@ -14,10 +14,10 @@ endif () + TARGET_LINK_LIBRARIES (libtestshade oslexec oslquery ${OPENIMAGEIO_LIBRARY} ${OPENEXR_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ) + SET_TARGET_PROPERTIES (libtestshade PROPERTIES PREFIX "") + +-INSTALL ( TARGETS libtestshade RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) ++install_targets (libtestshade) + + # The 'testshade_dso' executable + ADD_EXECUTABLE ( testshade_dso testshade_dso.cpp ) + TARGET_LINK_LIBRARIES ( testshade_dso ${OPENIMAGEIO_LIBRARY} ${OPENEXR_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ) +-INSTALL ( TARGETS testshade_dso RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS testshade_dso RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +-- +2.14.1 + |