aboutsummaryrefslogtreecommitdiff
path: root/ports/openvdb/0003-fix-cmake.patch
blob: b25bdbd080b3044a993d5fcd27bbf394d470d66e (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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 580b353..d40418c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -274,7 +274,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 dd9b0b3..36ec0d0 100644
--- a/cmake/FindOpenVDB.cmake
+++ b/cmake/FindOpenVDB.cmake
@@ -310,7 +310,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)
 find_package(Boost REQUIRED COMPONENTS iostreams system)
 
diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
index 89301bd..e363a13 100644
--- a/openvdb/CMakeLists.txt
+++ b/openvdb/CMakeLists.txt
@@ -71,16 +71,10 @@ message(STATUS "----------------------------------------------------")
 # Collect and configure lib dependencies
 
 if(USE_EXR)
-  find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED)
-  find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED)
+  find_package(IlmBase REQUIRED)
+  find_package(OpenEXR REQUIRED)
 else()
-  find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half)
-endif()
-
-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb)
-if(${Tbb_VERSION} VERSION_LESS FUTURE_MINIMUM_TBB_VERSION)
-  message(DEPRECATION "Support for TBB versions < ${FUTURE_MINIMUM_TBB_VERSION} "
-    "is deprecated and will be removed.")
+  find_package(IlmBase REQUIRED COMPONENTS Half)
 endif()
 
 find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED)
@@ -117,10 +111,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
@@ -132,15 +126,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()
 
@@ -152,7 +146,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
@@ -187,7 +181,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
@@ -404,6 +402,7 @@ list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_PRIVATE")
 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
 
diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt
index 57fbec0..d817044 100644
--- a/openvdb/cmd/CMakeLists.txt
+++ b/openvdb/cmd/CMakeLists.txt
@@ -155,9 +155,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}
   )