aboutsummaryrefslogtreecommitdiff
path: root/ports/openvdb/0003-fix-cmake.patch
blob: 73adc91515f3334439de7938e2649a5d37b38c9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d7c4ff8..123e50f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -302,7 +302,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 01a2f04..16b71bb 100644
--- a/cmake/FindOpenVDB.cmake
+++ b/cmake/FindOpenVDB.cmake
@@ -299,7 +299,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)
diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
index 9501ff1..ab14fd9 100644
--- a/openvdb/CMakeLists.txt
+++ b/openvdb/CMakeLists.txt
@@ -48,6 +48,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)
@@ -76,6 +77,14 @@ if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_TBB_VERSION)
       "is deprecated and will be removed.")
   endif()
 endif()
+endif()
+
+if(USE_EXR)
+  find_package(IlmBase REQUIRED)
+  find_package(OpenEXR REQUIRED)
+else()
+  find_package(IlmBase REQUIRED COMPONENTS Half)
+endif()
 
 find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED)
 
@@ -127,10 +136,10 @@ if(CONCURRENT_MALLOC STREQUAL "Jemalloc")
     message(WARNING "Unable to find Jemalloc, attempting to fall back to TBB malloc.
       It is recommended to use Jemalloc for optimum performance."
     )
-    find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc tbbmalloc_proxy)
+    find_package(TBB CONFIG REQUIRED)
   endif()
 elseif(CONCURRENT_MALLOC STREQUAL "Tbbmalloc")
-  find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbbmalloc tbbmalloc_proxy)
+  find_package(TBB CONFIG REQUIRED)
 endif()
 
 # Set deps. Note that the order here is important. If we're building against
@@ -142,15 +151,15 @@ endif()
 set(OPENVDB_CORE_DEPENDENT_LIBS
   Boost::iostreams
   Boost::system
-  IlmBase::Half
+  ${Ilmbase_HALF_LIBRARY}
 )
 
 if(USE_EXR)
   list(APPEND OPENVDB_CORE_DEPENDENT_LIBS
-    IlmBase::IlmThread
-    IlmBase::Iex
-    IlmBase::Imath
-    OpenEXR::IlmImf
+    ${Ilmbase_ILMTHREAD_LIBRARY}
+    ${Ilmbase_IEX_LIBRARY}
+    ${Ilmbase_IMATH_LIBRARY}
+    ${OPENEXR_ILMIMF_LIBRARY}
   )
 endif()
 
@@ -162,7 +171,7 @@ endif()
 # See FindOpenVDB.cmake
 
 if(USE_BLOSC)
-  list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc)
+  list(APPEND OPENVDB_CORE_DEPENDENT_LIBS ${BLOSC_blosc_LIBRARY})
 endif()
 
 list(APPEND OPENVDB_CORE_DEPENDENT_LIBS
@@ -197,7 +206,11 @@ endif()
 
 # @todo Should be target definitions
 if(WIN32)
-  add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL)
+  add_definitions(-D_WIN32 -DNOMINMAX)
+  add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE -D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
+  if (OPENVDB_SHARED)
+    add_definitions(-DOPENEXR_DLL -DOPENVDB_DLL)
+  endif()
 endif()
 
 ##### Core library configuration
@@ -415,6 +428,7 @@ if(USE_BLOSC)
   list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_USE_BLOSC")
 endif()
 
+list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "$<$<CXX_COMPILER_ID:MSVC>:/bigobj>")
 # Public defines
 
 if(USE_EXR)
diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt
index 1e5ef0d..8e78efe 100644
--- a/openvdb/cmd/CMakeLists.txt
+++ b/openvdb/cmd/CMakeLists.txt
@@ -133,9 +133,9 @@ if(OPENVDB_BUILD_VDB_RENDER)
   # headers
 
   target_link_libraries(vdb_render
-    OpenEXR::IlmImf
-    IlmBase::IlmThread
-    IlmBase::Iex
+    ${OPENEXR_ILMIMF_LIBRARY}
+    ${Ilmbase_ILMTHREAD_LIBRARY}
+    ${Ilmbase_IEX_LIBRARY}
     ${OPENVDB_BINARIES_DEPENDENT_LIBS}
   )