From f4c9bdb022cd52f355c06f1e753fe3e5acbdabee Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Sun, 19 Aug 2018 11:29:04 -0600 Subject: build_environment: opennvdb windows build fixes. disable openexr namespaces on windows due to linker errors with it. link pthreads due to dependency though blosc --- build_files/build_environment/cmake/openvdb.cmake | 27 ++++++++++++++++++++++ build_files/build_environment/patches/openvdb.diff | 8 +++++++ 2 files changed, 35 insertions(+) (limited to 'build_files/build_environment') diff --git a/build_files/build_environment/cmake/openvdb.cmake b/build_files/build_environment/cmake/openvdb.cmake index 5b70d184201..06b8f59f451 100644 --- a/build_files/build_environment/cmake/openvdb.cmake +++ b/build_files/build_environment/cmake/openvdb.cmake @@ -52,6 +52,16 @@ set(OPENVDB_EXTRA_ARGS -DTBB_LIBRARY_PATH=${LIBDIR}/tbb/lib ) +if(WIN32) + #Namespaces seem to be buggy and cause linker erorrs due to things not + #being in the correct namespace + #needs to link pthreads due to it being a blosc dependency + set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS} + -DOPENEXR_NAMESPACE_VERSIONING=OFF + -DEXTRA_LIBS:FILEPATH=${LIBDIR}/pthreads/lib/pthreadVC2.lib + ) +endif() + ExternalProject_Add(openvdb URL ${OPENVDB_URI} DOWNLOAD_DIR ${DOWNLOAD_DIR} @@ -71,3 +81,20 @@ add_dependencies( external_zlib external_blosc ) + +if(WIN32) + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(openvdb after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include ${HARVEST_TARGET}/openvdb/include + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/libopenvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(openvdb after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/libopenvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib + DEPENDEES install + ) + endif() +endif() + diff --git a/build_files/build_environment/patches/openvdb.diff b/build_files/build_environment/patches/openvdb.diff index 5d4c26c9527..391a7be46db 100644 --- a/build_files/build_environment/patches/openvdb.diff +++ b/build_files/build_environment/patches/openvdb.diff @@ -11,6 +11,14 @@ diff -Naur openvdb.orig/openvdb/CMakeLists.txt openvdb/openvdb/CMakeLists.txt FIND_PACKAGE ( Blosc REQUIRED ) FIND_PACKAGE ( TBB REQUIRED ) +@@ -195,6 +198,7 @@ + ${Ilmbase_HALF_LIBRARY} + ${ZLIB_LIBRARY} + ${BLOSC_blosc_LIBRARY} ++ ${EXTRA_LIBS} + ) + + IF (WIN32) @@ -225,13 +228,16 @@ ${VDB_PRINT_SOURCE_FILES} ) -- cgit v1.2.3