forked from bartvdbraak/blender
First attempt to handle openexr/ilmbase 2.0 in install_deps.sh (linux builds).
Only activated for Deb-like distro for now, only tested with testing/amd64. Notes : * Had to add a hell of patches to ilmbase/openexr/oiio cmake files (some are real, stupid bugs fixing [like files missing in lists or wrong linking order], others are "enhancements" [like being able to compile both static and dyn libs for openexr]). * Unfortunately, I could not manage to keep oiio static (can't compile osl later, as it does not link all deps of oiio, tiff, jpeg, png, etc.). I’ll try to fix this later, but for now, you'll have to do as with boost (ldconfig). I won't say here what I think about not having any (reliable) way to really link a static lib into another one... :/ Will test and enable other distro in following day(s), I do not *expect* much difficulties here.
This commit is contained in:
parent
22f170f487
commit
36db48f2c4
@ -113,6 +113,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
||||
--force-ocio
|
||||
Force the rebuild of OpenColorIO.
|
||||
|
||||
--force-openexr
|
||||
Force the rebuild of OpenEXR.
|
||||
|
||||
--force-oiio
|
||||
Force the rebuild of OpenImageIO.
|
||||
|
||||
@ -147,6 +150,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
||||
--skip-ocio
|
||||
Unconditionally skip OpenColorIO installation/building.
|
||||
|
||||
--skip-openexr
|
||||
Unconditionally skip OpenEXR installation/building.
|
||||
|
||||
--skip-oiio
|
||||
Unconditionally skip OpenImageIO installation/building.
|
||||
|
||||
@ -187,8 +193,17 @@ OCIO_VERSION_MIN="1.0"
|
||||
OCIO_FORCE_REBUILD=false
|
||||
OCIO_SKIP=false
|
||||
|
||||
OIIO_VERSION="1.1.7"
|
||||
OIIO_SOURCE="https://github.com/OpenImageIO/oiio/tarball/Release-$OIIO_VERSION"
|
||||
OPENEXR_VERSION="2.0.0"
|
||||
OPENEXR_SOURCE="http://download.savannah.nongnu.org/releases/openexr/openexr-$OPENEXR_VERSION.tar.gz"
|
||||
OPENEXR_VERSION_MIN="2.0"
|
||||
ILMBASE_VERSION="2.0.0"
|
||||
ILMBASE_SOURCE="http://download.savannah.nongnu.org/releases/openexr/ilmbase-$ILMBASE_VERSION.tar.gz"
|
||||
OPENEXR_FORCE_REBUILD=false
|
||||
OPENEXR_SKIP=false
|
||||
_with_built_openexr=false
|
||||
|
||||
OIIO_VERSION="1.1.10"
|
||||
OIIO_SOURCE="https://github.com/OpenImageIO/oiio/tarball/Release-$OIIO_VERSION.tar.gz"
|
||||
OIIO_VERSION_MIN="1.1"
|
||||
OIIO_FORCE_REBUILD=false
|
||||
OIIO_SKIP=false
|
||||
@ -203,7 +218,7 @@ LLVM_SKIP=false
|
||||
|
||||
# OSL needs to be compiled for now!
|
||||
OSL_VERSION="1.3.0"
|
||||
OSL_SOURCE="https://github.com/imageworks/OpenShadingLanguage/archive/Release-1.3.0.tar.gz"
|
||||
OSL_SOURCE="https://github.com/imageworks/OpenShadingLanguage/archive/Release-$OSL_VERSION.tar.gz"
|
||||
OSL_FORCE_REBUILD=false
|
||||
OSL_SKIP=false
|
||||
|
||||
@ -308,7 +323,9 @@ while true; do
|
||||
shift; continue
|
||||
;;
|
||||
--force-python)
|
||||
PYTHON_FORCE_REBUILD=true; shift; continue
|
||||
PYTHON_FORCE_REBUILD=true
|
||||
NUMPY_FORCE_REBUILD=true
|
||||
shift; continue
|
||||
;;
|
||||
--force-numpy)
|
||||
NUMPY_FORCE_REBUILD=true; shift; continue
|
||||
@ -319,11 +336,17 @@ while true; do
|
||||
--force-ocio)
|
||||
OCIO_FORCE_REBUILD=true; shift; continue
|
||||
;;
|
||||
--force-openexr)
|
||||
OPENEXR_FORCE_REBUILD=true; shift; continue
|
||||
;;
|
||||
--force-oiio)
|
||||
OIIO_FORCE_REBUILD=true; shift; continue
|
||||
OIIO_FORCE_REBUILD=true
|
||||
shift; continue
|
||||
;;
|
||||
--force-llvm)
|
||||
LLVM_FORCE_REBUILD=true; shift; continue
|
||||
LLVM_FORCE_REBUILD=true
|
||||
OSL_FORCE_REBUILD=true
|
||||
shift; continue
|
||||
;;
|
||||
--force-osl)
|
||||
OSL_FORCE_REBUILD=true; shift; continue
|
||||
@ -346,6 +369,9 @@ while true; do
|
||||
--skip-ocio)
|
||||
OCIO_SKIP=true; shift; continue
|
||||
;;
|
||||
--skip-openexr)
|
||||
OPENEXR_SKIP=true; shift; continue
|
||||
;;
|
||||
--skip-oiio)
|
||||
OIIO_SKIP=true; shift; continue
|
||||
;;
|
||||
@ -632,6 +658,10 @@ compile_Boost() {
|
||||
if [ ! -d $_inst ]; then
|
||||
INFO "Building Boost-$BOOST_VERSION"
|
||||
|
||||
# Rebuild dependecies as well!
|
||||
OIIO_FORCE_REBUILD=true
|
||||
OSL_FORCE_REBUILD=true
|
||||
|
||||
prepare_opt
|
||||
|
||||
if [ ! -d $_src ]; then
|
||||
@ -659,10 +689,6 @@ compile_Boost() {
|
||||
|
||||
magic_compile_set boost-$BOOST_VERSION $boost_magic
|
||||
|
||||
# Rebuild dependecies as well!
|
||||
OIIO_FORCE_REBUILD=true
|
||||
OSL_FORCE_REBUILD=true
|
||||
|
||||
cd $CWD
|
||||
INFO "Done compiling Boost-$BOOST_VERSION!"
|
||||
else
|
||||
@ -751,32 +777,51 @@ compile_OCIO() {
|
||||
fi
|
||||
}
|
||||
|
||||
compile_OIIO() {
|
||||
compile_ILMBASE() {
|
||||
# To be changed each time we make edits that would modify the compiled result!
|
||||
oiio_magic=7
|
||||
ilmbase_magic=4
|
||||
|
||||
_src=$SRC/OpenImageIO-$OIIO_VERSION
|
||||
_inst=$INST/oiio-$OIIO_VERSION
|
||||
_src=$SRC/ILMBase-$ILMBASE_VERSION
|
||||
_inst=$INST/ilmbase-$ILMBASE_VERSION
|
||||
|
||||
# Clean install if needed!
|
||||
magic_compile_check oiio-$OIIO_VERSION $oiio_magic
|
||||
if [ $? -eq 1 -o $OIIO_FORCE_REBUILD == true ]; then
|
||||
magic_compile_check ilmbase-$ILMBASE_VERSION $ilmbase_magic
|
||||
|
||||
if [ $? -eq 1 -o $OPENEXR_FORCE_REBUILD == true ]; then
|
||||
rm -rf $_src
|
||||
rm -rf $_inst
|
||||
fi
|
||||
|
||||
if [ ! -d $_inst ]; then
|
||||
INFO "Building OpenImageIO-$OIIO_VERSION"
|
||||
INFO "Building ILMBase-$ILMBASE_VERSION"
|
||||
|
||||
prepare_opt
|
||||
|
||||
if [ ! -d $_src ]; then
|
||||
INFO "Downloading ILMBase-$ILMBASE_VERSION"
|
||||
mkdir -p $SRC
|
||||
wget -c $OIIO_SOURCE -O "$_src.tar.gz"
|
||||
wget -c $ILMBASE_SOURCE -O $_src.tar.gz
|
||||
|
||||
INFO "Unpacking OpenImageIO-$OIIO_VERSION"
|
||||
tar -C $SRC --transform "s,(.*/?)OpenImageIO-oiio[^/]*(.*),\1OpenImageIO-$OIIO_VERSION\2,x" \
|
||||
INFO "Unpacking ILMBase-$ILMBASE_VERSION"
|
||||
tar -C $SRC --transform "s,(.*/?)ilmbase-[^/]*(.*),\1ILMBase-$ILMBASE_VERSION\2,x" \
|
||||
-xf $_src.tar.gz
|
||||
|
||||
cd $_src
|
||||
|
||||
# XXX Ugly patching hack!
|
||||
cat << EOF | patch -p1
|
||||
--- a/Half/CMakeLists.txt
|
||||
+++ b/Half/CMakeLists.txt
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
INSTALL ( FILES
|
||||
half.h
|
||||
+ halfExport.h
|
||||
halfFunction.h
|
||||
halfLimits.h
|
||||
DESTINATION
|
||||
EOF
|
||||
|
||||
cd $CWD
|
||||
|
||||
fi
|
||||
@ -792,12 +837,423 @@ compile_OIIO() {
|
||||
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||
cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst"
|
||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||
cmake_d="$cmake_d -D BUILDSTATIC=ON"
|
||||
|
||||
if file /bin/cp | grep -q '32-bit'; then
|
||||
cflags="-fPIC -m32 -march=i686"
|
||||
else
|
||||
cflags="-fPIC"
|
||||
fi
|
||||
|
||||
cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="-lgcc_s -lgcc" ..
|
||||
|
||||
make -j$THREADS && make install
|
||||
|
||||
make clean
|
||||
|
||||
if [ -d $_inst ]; then
|
||||
rm -f $INST/ilmbase
|
||||
ln -s ilmbase-$ILMBASE_VERSION $INST/ilmbase
|
||||
else
|
||||
ERROR "ILMBase-$ILMBASE_VERSION failed to compile, exiting"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
INFO "Own ILMBase-$ILMBASE_VERSION is up to date, nothing to do!"
|
||||
INFO "If you want to force rebuild of this lib (and openexr), use the --force-openexr option."
|
||||
fi
|
||||
|
||||
magic_compile_set ilmbase-$ILMBASE_VERSION $ilmbase_magic
|
||||
|
||||
cd $CWD
|
||||
INFO "Done compiling ILMBase-$ILMBASE_VERSION!"
|
||||
}
|
||||
|
||||
compile_OPENEXR() {
|
||||
compile_ILMBASE
|
||||
|
||||
# To be changed each time we make edits that would modify the compiled result!
|
||||
openexr_magic=10
|
||||
|
||||
_src=$SRC/OpenEXR-$OPENEXR_VERSION
|
||||
_inst=$INST/openexr-$OPENEXR_VERSION
|
||||
|
||||
# Clean install if needed!
|
||||
magic_compile_check openexr-$OPENEXR_VERSION $openexr_magic
|
||||
if [ $? -eq 1 -o $OPENEXR_FORCE_REBUILD == true ]; then
|
||||
rm -rf $_src
|
||||
rm -rf $_inst
|
||||
fi
|
||||
|
||||
if [ ! -d $_inst ]; then
|
||||
INFO "Building OpenEXR-$OPENEXR_VERSION"
|
||||
|
||||
# Rebuild dependecies as well!
|
||||
OIIO_FORCE_REBUILD=true
|
||||
OSL_FORCE_REBUILD=true
|
||||
|
||||
prepare_opt
|
||||
|
||||
if [ ! -d $_src ]; then
|
||||
INFO "Downloading OpenEXR-$OPENEXR_VERSION"
|
||||
mkdir -p $SRC
|
||||
wget -c $OPENEXR_SOURCE -O $_src.tar.gz
|
||||
|
||||
INFO "Unpacking OpenEXR-$OPENEXR_VERSION"
|
||||
tar -C $SRC --transform "s,(.*/?)openexr[^/]*(.*),\1OpenEXR-$OPENEXR_VERSION\2,x" \
|
||||
-xf $_src.tar.gz
|
||||
|
||||
cd $_src
|
||||
|
||||
# XXX Ugly patching hack!
|
||||
cat << EOF | patch -p1
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -42,7 +42,7 @@
|
||||
ADD_SUBDIRECTORY ( exrmakepreview )
|
||||
ADD_SUBDIRECTORY ( exrenvmap )
|
||||
ADD_SUBDIRECTORY ( exrmultiview )
|
||||
-ADD_SUBDIRECTORY ( exr2aces )
|
||||
+#ADD_SUBDIRECTORY ( exr2aces )
|
||||
ADD_SUBDIRECTORY ( exrmultipart )
|
||||
|
||||
##########################
|
||||
@@ -52,11 +52,11 @@
|
||||
# Documentation
|
||||
INSTALL ( FILES
|
||||
doc/TechnicalIntroduction.pdf
|
||||
- doc/TechnicalIntroduction_2.0.pdf
|
||||
+# doc/TechnicalIntroduction_2.0.pdf
|
||||
doc/ReadingAndWritingImageFiles.pdf
|
||||
doc/OpenEXRFileLayout.pdf
|
||||
- doc/OpenEXRFileLayout_2.0.pdf
|
||||
- doc/ReadingAndWritingImageFiles_2.0.pdf
|
||||
+# doc/OpenEXRFileLayout_2.0.pdf
|
||||
+# doc/ReadingAndWritingImageFiles_2.0.pdf
|
||||
doc/MultiViewOpenEXR.pdf
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/share/doc/OpenEXR-2.0.0
|
||||
--- a/IlmImfFuzzTest/CMakeLists.txt
|
||||
+++ b/IlmImfFuzzTest/CMakeLists.txt
|
||||
@@ -4,7 +4,9 @@
|
||||
fuzzFile.cpp
|
||||
main.cpp
|
||||
testFuzzScanLines.cpp
|
||||
+ testFuzzDeepScanLines.cpp
|
||||
testFuzzTiles.cpp
|
||||
+ testFuzzDeepTiles.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES ( IlmImfFuzzTest IlmImf Iex Imath Half IlmThread ${PTHREAD_LIB} ${Z_LIB})
|
||||
--- a/IlmImfTest/CMakeLists.txt
|
||||
+++ b/IlmImfTest/CMakeLists.txt
|
||||
@@ -19,22 +19,26 @@
|
||||
testCustomAttributes.cpp
|
||||
testDeepScanLineBasic.cpp
|
||||
testDeepScanLineHuge.cpp
|
||||
+ testDeepScanLineMultipleRead.cpp
|
||||
testDeepTiledBasic.cpp
|
||||
testExistingStreams.cpp
|
||||
+ testFutureProofing.cpp
|
||||
testHuf.cpp
|
||||
testInputPart.cpp
|
||||
testIsComplete.cpp
|
||||
testLineOrder.cpp
|
||||
testLut.cpp
|
||||
testMagic.cpp
|
||||
testMultiPartApi.cpp
|
||||
testMultiPartFileMixingBasic.cpp
|
||||
testMultiPartSharedAttributes.cpp
|
||||
testMultiPartThreading.cpp
|
||||
testMultiScanlinePartThreading.cpp
|
||||
testMultiTiledPartThreading.cpp
|
||||
testMultiView.cpp
|
||||
testNativeFormat.cpp
|
||||
+ testOptimized.cpp
|
||||
+ testPartHelper.cpp
|
||||
testPreviewImage.cpp
|
||||
testRgba.cpp
|
||||
testRgbaThreading.cpp
|
||||
--- a/IlmImf/CMakeLists.txt
|
||||
+++ b/IlmImf/CMakeLists.txt
|
||||
@@ -153,18 +153,18 @@
|
||||
ImfCompositeDeepScanLine.cpp
|
||||
)
|
||||
|
||||
-ADD_LIBRARY ( IlmImf STATIC
|
||||
- \${ILMIMF_SRCS}
|
||||
-)
|
||||
-
|
||||
-# TARGET_LINK_LIBRARIES ( IlmImf)
|
||||
-
|
||||
-ADD_DEPENDENCIES ( IlmImf b44ExpLogTable )
|
||||
+ADD_LIBRARY ( IlmImf STATIC \${ILMIMF_SRCS} )
|
||||
+ADD_DEPENDENCIES ( IlmImf b44ExpLogTable )
|
||||
+
|
||||
+ADD_LIBRARY ( IlmImf_dyn SHARED \${ILMIMF_SRCS} )
|
||||
+SET_TARGET_PROPERTIES ( IlmImf_dyn PROPERTIES OUTPUT_NAME IlmImf)
|
||||
+ADD_DEPENDENCIES ( IlmImf_dyn b44ExpLogTable )
|
||||
+TARGET_LINK_LIBRARIES ( IlmImf_dyn Iex Imath Half IlmThread \${Z_LIB} \${PTHREAD_LIB} )
|
||||
|
||||
# Libraries
|
||||
|
||||
INSTALL ( TARGETS
|
||||
- IlmImf
|
||||
+ IlmImf IlmImf_dyn
|
||||
DESTINATION
|
||||
\${CMAKE_INSTALL_PREFIX}/lib
|
||||
)
|
||||
@@ -168,6 +167,7 @@
|
||||
INSTALL ( FILES
|
||||
${CMAKE_SOURCE_DIR}/config/OpenEXRConfig.h
|
||||
ImfForward.h
|
||||
+ ImfNamespace.h
|
||||
ImfExport.h
|
||||
ImfAttribute.h
|
||||
ImfBoxAttribute.h
|
||||
EOF
|
||||
|
||||
cd $CWD
|
||||
|
||||
fi
|
||||
|
||||
cd $_src
|
||||
# Always refresh the whole build!
|
||||
if [ -d build ]; then
|
||||
rm -rf build
|
||||
fi
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||
cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst"
|
||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||
cmake_d="$cmake_d -D ILMBASE_PACKAGE_PREFIX=$INST/ilmbase-$ILMBASE_VERSION"
|
||||
|
||||
if file /bin/cp | grep -q '32-bit'; then
|
||||
cflags="-fPIC -m32 -march=i686"
|
||||
else
|
||||
cflags="-fPIC"
|
||||
fi
|
||||
|
||||
cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="-lgcc_s -lgcc" ..
|
||||
|
||||
make -j$THREADS && make install
|
||||
|
||||
# Force linking against static libs
|
||||
# rm -f $_inst/lib/*.so*
|
||||
|
||||
make clean
|
||||
|
||||
if [ -d $_inst ]; then
|
||||
rm -f $INST/openexr
|
||||
ln -s openexr-$OPENEXR_VERSION $INST/openexr
|
||||
else
|
||||
ERROR "OpenEXR-$OPENEXR_VERSION failed to compile, exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
magic_compile_set openexr-$OPENEXR_VERSION $openexr_magic
|
||||
|
||||
cd $CWD
|
||||
INFO "Done compiling OpenEXR-$OPENEXR_VERSION!"
|
||||
else
|
||||
INFO "Own OpenEXR-$OPENEXR_VERSION is up to date, nothing to do!"
|
||||
INFO "If you want to force rebuild of this lib, use the --force-openexr option."
|
||||
fi
|
||||
|
||||
_with_built_openexr=true
|
||||
}
|
||||
|
||||
compile_OIIO() {
|
||||
# To be changed each time we make edits that would modify the compiled result!
|
||||
oiio_magic=10
|
||||
|
||||
_src=$SRC/OpenImageIO-$OIIO_VERSION
|
||||
_inst=$INST/oiio-$OIIO_VERSION
|
||||
|
||||
# Clean install if needed!
|
||||
magic_compile_check oiio-$OIIO_VERSION $oiio_magic
|
||||
if [ $? -eq 1 -o $OIIO_FORCE_REBUILD == true ]; then
|
||||
rm -rf $_src
|
||||
rm -rf $_inst
|
||||
fi
|
||||
|
||||
if [ ! -d $_inst ]; then
|
||||
INFO "Building OpenImageIO-$OIIO_VERSION"
|
||||
|
||||
# Rebuild dependecies as well!
|
||||
OSL_FORCE_REBUILD=true
|
||||
|
||||
prepare_opt
|
||||
|
||||
if [ ! -d $_src ]; then
|
||||
mkdir -p $SRC
|
||||
wget -c $OIIO_SOURCE -O "$_src.tar.gz"
|
||||
|
||||
INFO "Unpacking OpenImageIO-$OIIO_VERSION"
|
||||
tar -C $SRC --transform "s,(.*/?)OpenImageIO-oiio[^/]*(.*),\1OpenImageIO-$OIIO_VERSION\2,x" \
|
||||
-xf $_src.tar.gz
|
||||
|
||||
cd $_src
|
||||
|
||||
# XXX Ugly patching hack!
|
||||
cat << EOF | patch -p1
|
||||
--- a/src/libOpenImageIO/CMakeLists.txt
|
||||
+++ b/src/libOpenImageIO/CMakeLists.txt
|
||||
@@ -289,12 +289,12 @@
|
||||
|
||||
add_executable (imagebuf_test imagebuf_test.cpp)
|
||||
-link_ilmbase (imagebuf_test)
|
||||
target_link_libraries (imagebuf_test OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (imagebuf_test)
|
||||
add_test (unit_imagebuf imagebuf_test)
|
||||
|
||||
add_executable (imagebufalgo_test imagebufalgo_test.cpp)
|
||||
-link_ilmbase (imagebufalgo_test)
|
||||
target_link_libraries (imagebufalgo_test OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (imagebufalgo_test)
|
||||
add_test (unit_imagebufalgo imagebufalgo_test)
|
||||
|
||||
|
||||
@@ -340,5 +340,6 @@
|
||||
|
||||
add_executable (imagespeed_test imagespeed_test.cpp)
|
||||
target_link_libraries (imagespeed_test OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (imagespeed_test)
|
||||
#add_test (unit_hash hash_test)
|
||||
|
||||
--- a/src/iconvert/CMakeLists.txt
|
||||
+++ b/src/iconvert/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
set (iconvert_srcs iconvert.cpp)
|
||||
add_executable (iconvert \${iconvert_srcs})
|
||||
-link_ilmbase (iconvert)
|
||||
target_link_libraries (iconvert OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (iconvert)
|
||||
oiio_install_targets (iconvert)
|
||||
|
||||
--- a/src/idiff/CMakeLists.txt
|
||||
+++ b/src/idiff/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
set (idiff_srcs idiff.cpp)
|
||||
add_executable (idiff \${idiff_srcs})
|
||||
-link_ilmbase (idiff)
|
||||
target_link_libraries (idiff OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (idiff)
|
||||
oiio_install_targets (idiff)
|
||||
|
||||
--- a/src/igrep/CMakeLists.txt
|
||||
+++ b/src/igrep/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
set (igrep_srcs igrep.cpp)
|
||||
add_executable (igrep \${igrep_srcs})
|
||||
-link_ilmbase (igrep)
|
||||
target_link_libraries (igrep OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (igrep)
|
||||
oiio_install_targets (igrep)
|
||||
|
||||
--- a/src/iinfo/CMakeLists.txt
|
||||
+++ b/src/iinfo/CMakeLists.txt
|
||||
@@ -3,7 +3,7 @@
|
||||
if (MSVC)
|
||||
set_target_properties (OpenImageIO PROPERTIES LINK_FLAGS psapi.lib)
|
||||
endif (MSVC)
|
||||
-link_ilmbase (iinfo)
|
||||
target_link_libraries (iinfo OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (iinfo)
|
||||
oiio_install_targets (iinfo)
|
||||
|
||||
--- a/src/maketx/CMakeLists.txt
|
||||
+++ b/src/maketx/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
set (maketx_srcs maketx.cpp)
|
||||
add_executable (maketx \${maketx_srcs})
|
||||
-link_ilmbase (maketx)
|
||||
target_link_libraries (maketx OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (maketx)
|
||||
oiio_install_targets (maketx)
|
||||
|
||||
--- a/src/oiiotool/CMakeLists.txt
|
||||
+++ b/src/oiiotool/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
set (oiiotool_srcs oiiotool.cpp diff.cpp imagerec.cpp printinfo.cpp)
|
||||
add_executable (oiiotool \${oiiotool_srcs})
|
||||
-link_ilmbase (oiiotool)
|
||||
target_link_libraries (oiiotool OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (oiiotool)
|
||||
oiio_install_targets (oiiotool)
|
||||
|
||||
--- a/src/testtex/CMakeLists.txt
|
||||
+++ b/src/testtex/CMakeLists.txt
|
||||
@@ -1,5 +1,5 @@
|
||||
set (testtex_srcs testtex.cpp)
|
||||
add_executable (testtex \${testtex_srcs})
|
||||
-link_ilmbase (testtex)
|
||||
target_link_libraries (testtex OpenImageIO \${Boost_LIBRARIES} \${CMAKE_DL_LIBS})
|
||||
+link_ilmbase (testtex)
|
||||
|
||||
--- a/src/cmake/modules/FindIlmBase.cmake
|
||||
+++ b/src/cmake/modules/FindIlmBase.cmake
|
||||
@@ -109,11 +109,13 @@
|
||||
# Generic search paths
|
||||
set (IlmBase_generic_include_paths
|
||||
/usr/include
|
||||
+ /usr/include/\${CMAKE_LIBRARY_ARCHITECTURE}
|
||||
/usr/local/include
|
||||
/sw/include
|
||||
/opt/local/include)
|
||||
set (IlmBase_generic_library_paths
|
||||
/usr/lib
|
||||
+ /usr/lib/\${CMAKE_LIBRARY_ARCHITECTURE}
|
||||
/usr/local/lib
|
||||
/sw/lib
|
||||
/opt/local/lib)
|
||||
--- a/src/cmake/modules/FindOpenEXR.cmake
|
||||
+++ b/src/cmake/modules/FindOpenEXR.cmake
|
||||
@@ -105,11 +105,13 @@
|
||||
# Generic search paths
|
||||
set (OpenEXR_generic_include_paths
|
||||
/usr/include
|
||||
+ /usr/include/\${CMAKE_LIBRARY_ARCHITECTURE}
|
||||
/usr/local/include
|
||||
/sw/include
|
||||
/opt/local/include)
|
||||
set (OpenEXR_generic_library_paths
|
||||
/usr/lib
|
||||
+ /usr/lib/\${CMAKE_LIBRARY_ARCHITECTURE}
|
||||
/usr/local/lib
|
||||
/sw/lib
|
||||
/opt/local/lib)
|
||||
EOF
|
||||
|
||||
cd $CWD
|
||||
|
||||
fi
|
||||
|
||||
cd $_src
|
||||
# Always refresh the whole build!
|
||||
if [ -d build ]; then
|
||||
rm -rf build
|
||||
fi
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||
cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst"
|
||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||
cmake_d="$cmake_d -D BUILDSTATIC=OFF"
|
||||
|
||||
if [ $_with_built_openexr == true ]; then
|
||||
cmake_d="$cmake_d -D ILMBASE_HOME=$INST/ilmbase"
|
||||
cmake_d="$cmake_d -D ILMBASE_VERSION=$ILMBASE_VERSION"
|
||||
cmake_d="$cmake_d -D OPENEXR_HOME=$INST/openexr"
|
||||
fi
|
||||
|
||||
# Optional tests and cmd tools
|
||||
cmake_d="$cmake_d -D USE_QT=OFF"
|
||||
cmake_d="$cmake_d -D OIIO_BUILD_TOOLS=OFF"
|
||||
cmake_d="$cmake_d -D OIIO_BUILD_TESTS=OFF"
|
||||
cmake_d="$cmake_d -D BUILD_TESTING=OFF"
|
||||
#cmake_d="$cmake_d -D CMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
||||
#cmake_d="$cmake_d -D CMAKE_VERBOSE_MAKEFILE=ON"
|
||||
|
||||
# linking statically could give issues on Debian/Ubuntu (and probably other distros
|
||||
# which doesn't like static linking) when linking shared oiio library due to missing
|
||||
@ -806,9 +1262,10 @@ compile_OIIO() {
|
||||
|
||||
if [ -d $INST/boost ]; then
|
||||
cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost -D Boost_NO_SYSTEM_PATHS=ON"
|
||||
if $ALL_STATIC; then
|
||||
cmake_d="$cmake_d -D Boost_USE_STATIC_LIBS=ON"
|
||||
fi
|
||||
# XXX Does not work (looks like static boost are built without fPIC :/ ).
|
||||
#if $ALL_STATIC; then
|
||||
#cmake_d="$cmake_d -D Boost_USE_STATIC_LIBS=ON"
|
||||
#fi
|
||||
fi
|
||||
|
||||
# Looks like we do not need ocio in oiio for now...
|
||||
@ -837,9 +1294,6 @@ compile_OIIO() {
|
||||
|
||||
magic_compile_set oiio-$OIIO_VERSION $oiio_magic
|
||||
|
||||
# Rebuild dependecies as well!
|
||||
OSL_FORCE_REBUILD=true
|
||||
|
||||
cd $CWD
|
||||
INFO "Done compiling OpenImageIO-$OIIO_VERSION!"
|
||||
else
|
||||
@ -948,7 +1402,7 @@ EOF
|
||||
|
||||
compile_OSL() {
|
||||
# To be changed each time we make edits that would modify the compiled result!
|
||||
osl_magic=8
|
||||
osl_magic=9
|
||||
|
||||
_src=$SRC/OpenShadingLanguage-$OSL_VERSION
|
||||
_inst=$INST/osl-$OSL_VERSION
|
||||
@ -956,6 +1410,7 @@ compile_OSL() {
|
||||
# Clean install if needed!
|
||||
magic_compile_check osl-$OSL_VERSION $osl_magic
|
||||
if [ $? -eq 1 -o $OSL_FORCE_REBUILD == true ]; then
|
||||
rm -rf $_src
|
||||
rm -rf $_inst
|
||||
fi
|
||||
|
||||
@ -967,13 +1422,11 @@ compile_OSL() {
|
||||
if [ ! -d $_src ]; then
|
||||
mkdir -p $SRC
|
||||
|
||||
# XXX Using git on my own repo for now, looks like archives are not updated immediately... :/
|
||||
# wget -c $OSL_SOURCE -O "$_src.tar.gz"
|
||||
wget -c $OSL_SOURCE -O "$_src.tar.gz"
|
||||
|
||||
# INFO "Unpacking OpenShadingLanguage-$OSL_VERSION"
|
||||
# tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*),\1OpenShadingLanguage-$OSL_VERSION\2,x" \
|
||||
# -xf $_src.tar.gz
|
||||
git clone https://github.com/mont29/OpenShadingLanguage.git $_src
|
||||
INFO "Unpacking OpenShadingLanguage-$OSL_VERSION"
|
||||
tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*),\1OpenShadingLanguage-$OSL_VERSION\2,x" \
|
||||
-xf $_src.tar.gz
|
||||
cd $_src
|
||||
git checkout blender-fixes
|
||||
cd $CWD
|
||||
@ -996,6 +1449,11 @@ compile_OSL() {
|
||||
cmake_d="$cmake_d -D BUILD_TESTING=OFF"
|
||||
cmake_d="$cmake_d -D STOP_ON_WARNING=OFF"
|
||||
|
||||
if [ $_with_built_openexr == true ]; then
|
||||
cmake_d="$cmake_d -D OPENEXR_HOME=$INST/openexr-$OPENEXR_VERSION"
|
||||
cmake_d="$cmake_d -D ILMBASE_HOME=$INST/ilmbase-$ILMBASE_VERSION"
|
||||
fi
|
||||
|
||||
if [ -d $INST/boost ]; then
|
||||
cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost -D Boost_NO_SYSTEM_PATHS=ON"
|
||||
if $ALL_STATIC; then
|
||||
@ -1290,7 +1748,7 @@ install_DEB() {
|
||||
_packages="gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev \
|
||||
libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev \
|
||||
libncurses5-dev libssl-dev liblzma-dev libreadline-dev $OPENJPEG_DEV \
|
||||
libopenexr-dev libopenal-dev libglew-dev yasm $THEORA_DEV $VORBIS_DEV \
|
||||
libopenal-dev libglew-dev yasm $THEORA_DEV $VORBIS_DEV \
|
||||
libsdl1.2-dev libfftw3-dev patch bzip2"
|
||||
|
||||
OPENJPEG_USE=true
|
||||
@ -1444,12 +1902,24 @@ install_DEB() {
|
||||
fi
|
||||
fi
|
||||
|
||||
INFO ""
|
||||
if $OPENEXR_SKIP; then
|
||||
INFO "WARNING! Skipping OpenEXR installation, as requested..."
|
||||
else
|
||||
check_package_version_ge_DEB libopenexr-dev $OPENEXR_VERSION_MIN
|
||||
if [ $? -eq 0 ]; then
|
||||
install_packages_DEB libopenexr-dev
|
||||
else
|
||||
compile_OPENEXR
|
||||
fi
|
||||
fi
|
||||
|
||||
INFO ""
|
||||
if $OIIO_SKIP; then
|
||||
INFO "WARNING! Skipping OpenImageIO installation, as requested..."
|
||||
else
|
||||
check_package_version_ge_DEB libopenimageio-dev $OIIO_VERSION_MIN
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ $? -eq 0 -a $_with_built_openexr == false ]; then
|
||||
install_packages_DEB libopenimageio-dev
|
||||
else
|
||||
compile_OIIO
|
||||
@ -2376,15 +2846,16 @@ print_info() {
|
||||
|
||||
INFO ""
|
||||
INFO ""
|
||||
INFO "WARNING: If this script had to build boost into $INST, and you are dynamically linking "
|
||||
INFO "WARNING: If this script had to build boost and/or OIIO into $INST, and you are dynamically linking "
|
||||
INFO " blender against it, you will have to run those commands as root user:"
|
||||
INFO ""
|
||||
INFO " echo \"$INST/boost/lib\" > /etc/ld.so.conf.d/boost.conf"
|
||||
INFO " echo \"$INST/oiio/lib\" > /etc/ld.so.conf.d/oiio.conf"
|
||||
INFO " ldconfig"
|
||||
INFO ""
|
||||
}
|
||||
|
||||
# Detect distributive type used on this machine
|
||||
# Detect distribution type used on this machine
|
||||
detect_distro
|
||||
|
||||
if [ -z "$DISTRO" ]; then
|
||||
|
Loading…
Reference in New Issue
Block a user