diff options
Diffstat (limited to 'build_files/build_environment/cmake/openexr.cmake')
-rw-r--r-- | build_files/build_environment/cmake/openexr.cmake | 70 |
1 files changed, 28 insertions, 42 deletions
diff --git a/build_files/build_environment/cmake/openexr.cmake b/build_files/build_environment/cmake/openexr.cmake index 39533a94cd9..38dbeecc3eb 100644 --- a/build_files/build_environment/cmake/openexr.cmake +++ b/build_files/build_environment/cmake/openexr.cmake @@ -20,59 +20,45 @@ if(WIN32) set(OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") set(OPENEXR_EXTRA_ARGS -DCMAKE_CXX_STANDARD_LIBRARIES=${OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES} - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase - -DOPENEXR_BUILD_ILMBASE=On - -DOPENEXR_BUILD_OPENEXR=On - -DOPENEXR_BUILD_PYTHON_LIBS=Off - -DOPENEXR_BUILD_STATIC=On - -DOPENEXR_BUILD_SHARED=Off - -DOPENEXR_BUILD_TESTS=Off - -DOPENEXR_BUILD_VIEWERS=Off - -DOPENEXR_BUILD_UTILS=Off - -DOPENEXR_NAMESPACE_VERSIONING=Off ) - ExternalProject_Add(external_openexr - URL ${OPENEXR_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENEXR_HASH} - PREFIX ${BUILD_DIR}/openexr - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/openexr +else() + set(OPENEXR_EXTRA_ARGS ) +endif() + +set(OPENEXR_EXTRA_ARGS + ${OPENEXR_EXTRA_ARGS} + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + -DBUILD_TESTING=OFF + -DOPENEXR_BUILD_BOTH_STATIC_SHARED=OFF + -DILMBASE_BUILD_BOTH_STATIC_SHARED=OFF + -DBUILD_SHARED_LIBS=OFF + -DOPENEXR_BUILD_UTILS=OFF + -DPYILMBASE_ENABLE=OFF + -DOPENEXR_VIEWERS_ENABLE=OFF + -DILMBASE_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX} + -DOPENEXR_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX} +) + +ExternalProject_Add(external_openexr + URL ${OPENEXR_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENEXR_HASH} + PREFIX ${BUILD_DIR}/openexr + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/openexr +) +if(WIN32) ExternalProject_Add_Step(external_openexr after_install COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib - # Libs have moved between versions, just duplicate it for now. - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${LIBDIR}/ilmbase/lib COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include DEPENDEES install ) - -else() - set(OPENEXR_PKG_CONFIG_PATH ${LIBDIR}/zlib/share/pkgconfig) - set(OPENEXR_EXTRA_ARGS - --enable-static - --disable-shared - --enable-cxxstd=11 - --with-ilmbase-prefix=${LIBDIR}/ilmbase - ) - - ExternalProject_Add(external_openexr - URL ${OPENEXR_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENEXR_HASH} - PREFIX ${BUILD_DIR}/openexr - CONFIGURE_COMMAND ${CONFIGURE_ENV} && export PKG_CONFIG_PATH=${OPENEXR_PKG_CONFIG_PATH} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/openexr ${OPENEXR_EXTRA_ARGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make install - INSTALL_DIR ${LIBDIR}/openexr - ) endif() add_dependencies( external_openexr external_zlib - external_ilmbase ) |