-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[openvdb] Fix dependency issue and usage issue (#14651)
- Loading branch information
Showing
5 changed files
with
183 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,76 +1,162 @@ | ||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index f2e8c2a..4fd3f40 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -360,7 +360,6 @@ if(OPENVDB_INSTALL_CMAKE_MODULES) | ||
cmake/FindLog4cplus.cmake | ||
cmake/FindOpenEXR.cmake | ||
cmake/FindOpenVDB.cmake | ||
- cmake/FindTBB.cmake | ||
cmake/OpenVDBGLFW3Setup.cmake | ||
cmake/OpenVDBHoudiniSetup.cmake | ||
cmake/OpenVDBMayaSetup.cmake | ||
diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake | ||
index b065192..286e8b6 100644 | ||
--- a/cmake/FindOpenVDB.cmake | ||
+++ b/cmake/FindOpenVDB.cmake | ||
@@ -430,7 +430,7 @@ endif() | ||
# Add standard dependencies | ||
|
||
find_package(IlmBase REQUIRED COMPONENTS Half) | ||
-find_package(TBB REQUIRED COMPONENTS tbb) | ||
+find_package(TBB CONFIG REQUIRED) | ||
find_package(ZLIB REQUIRED) | ||
|
||
if(NOT OPENVDB_USE_STATIC_LIBS AND NOT Boost_USE_STATIC_LIBS) | ||
diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt | ||
index 45b302c..e208bcf 100644 | ||
--- a/openvdb/CMakeLists.txt | ||
+++ b/openvdb/CMakeLists.txt | ||
@@ -47,7 +47,7 @@ message(STATUS "----------------------------------------------------") | ||
########################################################################## | ||
|
||
# Collect and configure lib dependencies | ||
- | ||
+if(0) | ||
if(USE_EXR) | ||
find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED) | ||
find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED) | ||
@@ -57,8 +57,14 @@ if(USE_EXR) | ||
"is deprecated and will be removed.") | ||
endif() | ||
endif() | ||
+endif() | ||
+endif() | ||
+ | ||
+if(USE_EXR) | ||
+ find_package(IlmBase REQUIRED) | ||
+ find_package(OpenEXR REQUIRED) | ||
else() | ||
- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half) | ||
+ find_package(IlmBase REQUIRED COMPONENTS Half) | ||
endif() | ||
|
||
if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_ILMBASE_VERSION) | ||
@@ -68,7 +74,7 @@ if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_ILMBASE_VERSION) | ||
endif() | ||
endif() | ||
|
||
-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) | ||
+find_package(TBB CONFIG REQUIRED) | ||
|
||
if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_TBB_VERSION) | ||
if(${Tbb_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION) | ||
diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt | ||
index 2b831bb..2fa11d4 100644 | ||
--- a/openvdb/cmd/CMakeLists.txt | ||
+++ b/openvdb/cmd/CMakeLists.txt | ||
@@ -50,7 +50,7 @@ if(CONCURRENT_MALLOC STREQUAL "Jemalloc") | ||
find_package(Jemalloc REQUIRED) | ||
list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS Jemalloc::jemalloc) | ||
elseif(CONCURRENT_MALLOC STREQUAL "Tbbmalloc") | ||
- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc) | ||
+ find_package(TBB CONFIG REQUIRED) | ||
list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS TBB::tbbmalloc) | ||
endif() | ||
|
||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index f2e8c2a..749e12c 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -353,14 +353,10 @@ endif() | ||
|
||
if(OPENVDB_INSTALL_CMAKE_MODULES) | ||
set(OPENVDB_CMAKE_MODULES | ||
- cmake/FindBlosc.cmake | ||
cmake/FindCppUnit.cmake | ||
cmake/FindJemalloc.cmake | ||
- cmake/FindIlmBase.cmake | ||
cmake/FindLog4cplus.cmake | ||
- cmake/FindOpenEXR.cmake | ||
cmake/FindOpenVDB.cmake | ||
- cmake/FindTBB.cmake | ||
cmake/OpenVDBGLFW3Setup.cmake | ||
cmake/OpenVDBHoudiniSetup.cmake | ||
cmake/OpenVDBMayaSetup.cmake | ||
diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake | ||
index b065192..7549843 100644 | ||
--- a/cmake/FindOpenVDB.cmake | ||
+++ b/cmake/FindOpenVDB.cmake | ||
@@ -224,8 +224,9 @@ foreach(COMPONENT ${OpenVDB_FIND_COMPONENTS}) | ||
${OPENVDB_${COMPONENT}_ROOT} | ||
${OPENVDB_${COMPONENT}_INCLUDEDIR} | ||
) | ||
- list(REMOVE_DUPLICATES _VDB_COMPONENT_SEARCH_DIRS) | ||
- | ||
+ if(_VDB_COMPONENT_SEARCH_DIRS) | ||
+ list(REMOVE_DUPLICATES _VDB_COMPONENT_SEARCH_DIRS) | ||
+ endif() | ||
# Look for a standard header files. | ||
if(${COMPONENT} STREQUAL "openvdb") | ||
# Look for a standard OpenVDB header file. | ||
@@ -429,8 +430,8 @@ endif() | ||
|
||
# Add standard dependencies | ||
|
||
-find_package(IlmBase REQUIRED COMPONENTS Half) | ||
-find_package(TBB REQUIRED COMPONENTS tbb) | ||
+find_package(IlmBase CONFIG REQUIRED) | ||
+find_package(TBB CONFIG REQUIRED) | ||
find_package(ZLIB REQUIRED) | ||
|
||
if(NOT OPENVDB_USE_STATIC_LIBS AND NOT Boost_USE_STATIC_LIBS) | ||
@@ -540,7 +541,7 @@ if(NOT OPENVDB_USE_STATIC_LIBS) | ||
endif() | ||
|
||
if(OpenVDB_USES_BLOSC) | ||
- find_package(Blosc REQUIRED) | ||
+ find_package(blosc CONFIG REQUIRED) | ||
endif() | ||
|
||
if(OpenVDB_USES_LOG4CPLUS) | ||
@@ -548,8 +549,8 @@ if(OpenVDB_USES_LOG4CPLUS) | ||
endif() | ||
|
||
if(OpenVDB_USES_EXR) | ||
- find_package(IlmBase REQUIRED) | ||
- find_package(OpenEXR REQUIRED) | ||
+ find_package(IlmBase CONFIG REQUIRED) | ||
+ find_package(OpenEXR CONFIG REQUIRED) | ||
endif() | ||
|
||
if(UNIX) | ||
@@ -610,7 +611,7 @@ set(_OPENVDB_HIDDEN_DEPENDENCIES) | ||
|
||
if(NOT OPENVDB_USE_STATIC_LIBS) | ||
if(OpenVDB_USES_BLOSC) | ||
- list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES Blosc::blosc) | ||
+ list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES blosc) | ||
endif() | ||
|
||
list(APPEND _OPENVDB_HIDDEN_DEPENDENCIES ZLIB::ZLIB) | ||
diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt | ||
index 45b302c..d75cfd1 100644 | ||
--- a/openvdb/CMakeLists.txt | ||
+++ b/openvdb/CMakeLists.txt | ||
@@ -47,7 +47,7 @@ message(STATUS "----------------------------------------------------") | ||
########################################################################## | ||
|
||
# Collect and configure lib dependencies | ||
- | ||
+if(0) | ||
if(USE_EXR) | ||
find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED) | ||
find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED) | ||
@@ -57,8 +57,14 @@ if(USE_EXR) | ||
"is deprecated and will be removed.") | ||
endif() | ||
endif() | ||
+endif() | ||
+endif() | ||
+ | ||
+if(USE_EXR) | ||
+ find_package(IlmBase CONFIG REQUIRED) | ||
+ find_package(OpenEXR CONFIG REQUIRED) | ||
else() | ||
- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half) | ||
+ find_package(IlmBase CONFIG REQUIRED) | ||
endif() | ||
|
||
if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_ILMBASE_VERSION) | ||
@@ -68,7 +74,7 @@ if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_ILMBASE_VERSION) | ||
endif() | ||
endif() | ||
|
||
-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) | ||
+find_package(TBB CONFIG REQUIRED) | ||
|
||
if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_TBB_VERSION) | ||
if(${Tbb_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION) | ||
@@ -84,14 +90,7 @@ if(USE_LOG4CPLUS) | ||
endif() | ||
|
||
if(USE_BLOSC) | ||
- find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED) | ||
- if(Blosc_FOUND AND Blosc_VERSION VERSION_GREATER MINIMUM_BLOSC_VERSION) | ||
- message(WARNING "The version of Blosc located is greater than ${MINIMUM_BLOSC_VERSION}. " | ||
- "There have been reported issues with using later versions of Blosc with OpenVDB. " | ||
- "OpenVDB has been tested fully against Blosc ${MINIMUM_BLOSC_VERSION}, it is " | ||
- "recommended that you use this version where possible." | ||
- ) | ||
- endif() | ||
+ find_package(blosc CONFIG REQUIRED) | ||
else() | ||
message(WARNING "Blosc support is disabled. It is strongly recommended to " | ||
"enable blosc for optimal builds of OpenVDB and to support compatible " | ||
@@ -163,7 +162,7 @@ endif() | ||
# See FindOpenVDB.cmake | ||
|
||
if(USE_BLOSC) | ||
- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc) | ||
+ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS blosc) | ||
endif() | ||
|
||
list(APPEND OPENVDB_CORE_DEPENDENT_LIBS | ||
diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt | ||
index 2b831bb..a13b63b 100644 | ||
--- a/openvdb/cmd/CMakeLists.txt | ||
+++ b/openvdb/cmd/CMakeLists.txt | ||
@@ -50,7 +50,7 @@ if(CONCURRENT_MALLOC STREQUAL "Jemalloc") | ||
find_package(Jemalloc REQUIRED) | ||
list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS Jemalloc::jemalloc) | ||
elseif(CONCURRENT_MALLOC STREQUAL "Tbbmalloc") | ||
- find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc) | ||
+ find_package(TBB CONFIG REQUIRED) | ||
list(APPEND OPENVDB_BINARIES_DEPENDENT_LIBS TBB::tbbmalloc) | ||
endif() | ||
|
||
@@ -120,8 +120,8 @@ endif() | ||
#### vdb_render | ||
|
||
if(OPENVDB_BUILD_VDB_RENDER) | ||
- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half Iex IlmThread Imath) | ||
- find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED COMPONENTS IlmImf) | ||
+ find_package(IlmBase CONFIG REQUIRED) | ||
+ find_package(OpenEXR CONFIG REQUIRED) | ||
|
||
set(VDB_RENDER_SOURCE_FILES openvdb_render.cc) | ||
add_executable(vdb_render ${VDB_RENDER_SOURCE_FILES}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
The package openvdb provides CMake targets: | ||
|
||
find_package(OpenVDB CONFIG REQUIRED) | ||
target_link_libraries(main PRIVATE OpenVDB::openvdb) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
set(OPENVDB_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) | ||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) | ||
|
||
list(REMOVE_ITEM ARGS "NO_MODULE") | ||
list(REMOVE_ITEM ARGS "CONFIG") | ||
list(REMOVE_ITEM ARGS "MODULE") | ||
|
||
_find_package(${ARGS}) | ||
|
||
set(CMAKE_MODULE_PATH ${OPENVDB_PREV_MODULE_PATH}) |