@@ -5,8 +5,7 @@ particular development environment. It is required to use CMake 3.12 or later
5
5
(3.21 or later on Windows), which can be downloaded from the
6
6
[ CMake Website] ( https://cmake.org/download/ ) . When using a Unix-like system,
7
7
you can install the * cmake* package using the respective package management
8
- systems. On the Mac OS X platform, third party dependencies can be resolved
9
- using the [ Homebrew Package Manager] ( https://brew.sh/index_de ) .
8
+ systems.
10
9
11
10
12
11
## Dependencies
@@ -29,7 +28,7 @@ might work as well.
29
28
<a name =" thirdparty-dependencies-libs " ></a >
30
29
The following third-party libraries and tools are required to build the MDL SDK:
31
30
32
- - <a name =" vcpkg " >** vcpkg** </a > * (git commit ID fe1e9f5 )*
31
+ - <a name =" vcpkg " >** vcpkg** </a > * (git commit ID 5d675c7e5 )*
33
32
[ Vcpkg] ( https://vcpkg.io/en/getting-started.html ) is the recommended way to
34
33
install other dependencies like Boost, OpenImageIO, GLEW, and GLFW. The
35
34
vcpkg version mentioned above corresponds to the versions mentioned for
@@ -42,17 +41,17 @@ The following third-party libraries and tools are required to build the MDL SDK:
42
41
for further details. Add the vcpkg option * --triplet=x64-windows-static* to
43
42
the * install* command. There is no need to run the * integrate* command.
44
43
45
- - ** Boost** * (1.83 .0)*
44
+ - ** Boost** * (1.84 .0)*
46
45
Installation via [ vcpkg] ( #vcpkg ) is strongly recommended. Install the vcpkg
47
- packages * boost-any * and * boost-uuid * .
46
+ package * boost-headers * .
48
47
49
- - ** OpenImageIO** * (2.4.14 .0)*
48
+ - ** OpenImageIO** * (2.5.8 .0)*
50
49
Installation via [ vcpkg] ( #vcpkg ) is strongly recommended. Install the vcpkg
51
50
packages * openimageio[ gif,openjpeg,tools,webp] * .
52
51
53
- - ** Python3** * (3.8 .0)*
52
+ - ** Python3** * (3.10 .0)*
54
53
Linux: Install the * python* package.
55
- Windows and Max OS X: Download and install Python 3.8 from
54
+ Windows and Max OS X: Download and install Python 3.10 from
56
55
[ python.org] ( https://www.python.org/downloads/ ) .
57
56
58
57
- ** Clang** * (12.0.1)*
@@ -79,11 +78,17 @@ The following tools are used to build the API reference documentation:
79
78
For generating and compiling the MDL Python Bindings, the following additional
80
79
dependencies are required:
81
80
82
- - ** Python3 Development Package** * (3.8 .0)*
81
+ - ** Python3 Development Package** * (3.10 .0)*
83
82
Linux: Install the * python-dev* package in addition to * python* .
84
- Windows and Max OS X: Download and install Python 3.8 from
83
+ Windows and Max OS X: Download and install Python 3.10 from
85
84
[ python.org] ( https://www.python.org/downloads/ ) .
86
85
86
+ - ** Python3 Additional Packages**
87
+ The following pip packages are used by the bindings or examples:
88
+ * [ coverage] ( https://pypi.org/project/coverage/ ) for creating test reports
89
+ * [ numpy] ( https://pypi.org/search/?q=numpy ) for high-level bindings
90
+ * [ typing_extensions] ( https://pypi.org/project/typing-extensions/ ) in case the bindings are generated for Python 3.9 (or earlier)
91
+
87
92
- ** SWIG** * (4.0.2)*
88
93
Follow the instructions for downloading or building on
89
94
[ swig.org] ( http://www.swig.org/download.html ) .
@@ -108,7 +113,7 @@ of examples is of no interest to you.
108
113
Installation via [ vcpkg] ( #vcpkg ) is strongly recommended. Install the vcpkg
109
114
package * glew* .
110
115
111
- - ** GLFW** * (3.3.8 )*
116
+ - ** GLFW** * (3.4 )*
112
117
This dependency is required for all OpenGL- and Vulkan-based examples.
113
118
Installation via [ vcpkg] ( #vcpkg ) is strongly recommended. Install the vcpkg
114
119
package * glfw3* .
@@ -118,11 +123,12 @@ of examples is of no interest to you.
118
123
Please follow the instructions on the
119
124
[ CUDA Developer Website] ( https://developer.nvidia.com/cuda-toolkit ) .
120
125
121
- - ** Vulkan SDK** * (1.2.198.1)*
126
+ - ** Vulkan SDK** * (Windows: 1.3.275.0, Linux: 1.2.198.1)*
122
127
This dependency is required for all Vulkan-based examples.
123
128
Please follow the instructions on the
124
129
[ Vulkan SDK Website] ( https://vulkan.lunarg.com/sdk/home ) .
125
- For debug builds on Windows, the debug libraries are required to be installed.
130
+ For debug builds on Windows, the debug libraries are required to be installed.
131
+ Note that the prebuilt binaries for version 1.3.275.0 do not work on CentOS 7.x.
126
132
127
133
The following third-party dependencies are only used by fewer or single
128
134
examples, or add additional features to other examples. Installation can be
@@ -135,7 +141,7 @@ features.
135
141
[ Arnold Website] ( https://www.arnoldrenderer.com/arnold/download/ ) to
136
142
download the Arnold SDK.
137
143
138
- - ** MaterialX** * (github repository, tag: v1.38.7 , Windows only)*
144
+ - ** MaterialX** * (github repository, tag: v1.38.9 , Windows only)*
139
145
This dependency adds MaterialX support to the DXR example.
140
146
Please download a release from
141
147
[ github] ( https://github.com/AcademySoftwareFoundation/MaterialX/releases ) .
@@ -232,7 +238,7 @@ features.
232
238
for example: * C:/Qt/5.10.1/msvc2017_64*
233
239
234
240
- ** VULKAN_SDK_DIR** in Ungrouped Entries (only if the environment variable VULKAN_SDK is not set),
235
- for example: * C:/VulkanSDK/1.2.198.1 *
241
+ for example: * C:/VulkanSDK/1.3.275.0 *
236
242
237
243
- ** PANTORA_AXF_DIR** in Ungrouped Entries,
238
244
for example: * C:/projects/thirdparty/pantora-axf-1.9.0*
@@ -507,18 +513,66 @@ features.
507
513
# # Additional CMake Options
508
514
509
515
< a name=" cmake-options" ></a>
510
- The following options enable you to select the components to be built and to
511
- select particular logging information:
516
+ The following options enable you to select the components to be built:
517
+
518
+ - ** MDL_BUILD_SDK**
519
+ [ON/OFF] enable/disable the MDL SDK itself. Disabling the MDL SDK can be
520
+ useful if you are only interested in MDL Core.
521
+
522
+ - ** MDL_BUILD_OPENIMAGEIO_PLUGIN**
523
+ [ON/OFF] enable/disable the OpenImageIO plugin. Disabling the OpenImageIO
524
+ plugin can be useful for advanced integrations to avoid the dependency on
525
+ OpenImageIO.
512
526
513
527
- ** MDL_BUILD_SDK_EXAMPLES**
514
- [ON/OFF] enable/disable the MDL SDK examples.
528
+ [ON/OFF] enable/disable the MDL SDK examples (see also below for ways to
529
+ enable/disable examples based on their required thirdparty dependencies).
515
530
516
531
- ** MDL_BUILD_CORE_EXAMPLES**
517
- [ON/OFF] enable/disable the MDL Core examples.
532
+ [ON/OFF] enable/disable the MDL Core examples (see also below for ways to
533
+ enable/disable examples based on their required thirdparty dependencies).
518
534
519
535
- ** MDL_BUILD_DOCUMENTATION**
520
536
[ON/OFF] enable/disable building of the API documentation.
521
537
538
+ - ** MDL_ENABLE_UNIT_TESTS**
539
+ [ON/OFF] enable/disable the build of unit tests.
540
+
541
+ - ** MDL_ENABLE_PYTHON_BINDINGS**
542
+ [ON/OFF] enable/disable the generation and compilation of the MDL Python
543
+ Bindings.
544
+
545
+ The following options enable you to select particular logging information
546
+ useful for debugging the CMake setup:
547
+
548
+ - ** MDL_LOG_PLATFORM_INFOS**
549
+ [ON/OFF] enable/disable the logging of platform and CMake settings.
550
+
551
+ - ** MDL_LOG_DEPENDENCIES**
552
+ [ON/OFF] enable/disable the logging of dependencies of the individual targets.
553
+
554
+ - ** MDL_LOG_FILE_DEPENDENCIES**
555
+ [ON/OFF] enable/disable the logging of files that are copied to the output folder.
556
+
557
+ For any help request, please attach the log messages generated when the log
558
+ options are enabled.
559
+
560
+ The following options affect how various components are built:
561
+
562
+ - ** MDL_TREAT_RUNTIME_DEPS_AS_BUILD_DEPS**
563
+ [ON/OFF] enable/disable treating runtime dependencies as build
564
+ dependencies. Enabling this option results in slightly slower builds, but
565
+ is safer for users not familiar with the runtime dependencies between
566
+ examples, libraries, and plugins.
567
+
568
+ - ** MDL_MSVC_DYNAMIC_RUNTIME_EXAMPLES**
569
+ [ON/OFF] links the MSVC dynamic runtime (/MD) instead of static (/MT) when
570
+ creating the example executables.
571
+
572
+ The following options enable you to select the examples to be built based on
573
+ their required thirdparty dependencies (see also ** MDL_BUILD_SDK_EXAMPLES**
574
+ and ** MDL_BUILD_CORE_EXAMPLES** above):
575
+
522
576
- ** MDL_ENABLE_CUDA_EXAMPLES**
523
577
[ON/OFF] enable/disable examples that require CUDA.
524
578
@@ -540,34 +594,12 @@ select particular logging information:
540
594
- ** MDL_ENABLE_AXF_EXAMPLES**
541
595
[ON/OFF] enable/disable the AxF to MDL example.
542
596
543
- - ** MDL_ENABLE_PYTHON_BINDINGS**
544
- [ON/OFF] enable/disable the generation and compilation of the MDL Python Bindings.
545
-
546
597
- ** MDL_BUILD_ARNOLD_PLUGIN**
547
598
[ON/OFF] enable/disable the build of the MDL Arnold Plugin.
548
599
549
600
- ** MDL_ENABLE_MATERIALX**
550
601
[ON/OFF] enable/disable MaterialX in examples that support it.
551
602
552
- - ** MDL_ENABLE_UNIT_TESTS**
553
- [ON/OFF] enable/disable the build of unit tests.
554
-
555
- - ** MDL_LOG_PLATFORM_INFOS**
556
- [ON/OFF] enable/disable the logging of platform and CMake settings.
557
-
558
- - ** MDL_LOG_DEPENDENCIES**
559
- [ON/OFF] enable/disable the logging of dependencies of the individual targets.
560
-
561
- - ** MDL_LOG_FILE_DEPENDENCIES**
562
- [ON/OFF] enable/disable the logging of files that are copied to the output folder.
563
-
564
- - ** MDL_MSVC_DYNAMIC_RUNTIME_EXAMPLES**
565
- [ON/OFF] links the MSCV dynamic runtime (/MD) instead of static (/MT) when
566
- creating the example executables.
567
-
568
- For any help request, please attach the log messages generated when the log
569
- options are enabled.
570
-
571
603
572
604
# # Testing the Build
573
605
0 commit comments