Updated the CMake build to locate TBB using TBB's CMake config
and deleted the local cmake/FindTBB.cmake module.
While the source code remains compatible with earlier versions of
TBB, updated the minimum TBB version from 4.4 to 2018 since that
is the earliest TBB release to include a CMake config. This is
the version of TBB specified for the CY2019 VFX Reference Platform.
Tested on Windows, Linux, and macOS using TBB 2018 Update 6,
TBB 2020 Update 3, and oneTBB 2021.10.0
Always call FindPackageHandleStandardArgs() and allow it to
set DOCUTILS_FOUND appropriately. By marking DOCUTILS_VERSION
as required we'll also get a useful error message if the version
string from RST2HTML_EXECUTABLE could not be parsed correctly.
We no longer search for or link with several TBB libraries
which are not used by this code base. Specifically, we no
longer link with tbbmalloc, tbbmalloc_debug, tbbmalloc_proxy
tbbmalloc_proxy_debug, tbb_preview, and tbb_preview_debug.
For Visual Studio 2019 the target architecture is specified
separately from the generator, and this updates the cmake
modules to be able to locate libraries for the correct target.
Also, make use of CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
to be able to use the correct Windows Kit when multiple
tool sets and development kits are available.
On Windows we now look for and use an explicit python interpreter to
find the version of docutils installed. There is more information in
the commit, but it would result in a much cleaner change if we could
decide that it's okay to do this for all platforms. For now, just do it
for Windows to get us unblocked.
- Add search path for Windows 10 support for DirectX SDK
- Turn off searching the default paths for the DirectX libraries and
instead use the explicit paths provided. On certain configurations,
this fixes the case where cmake will pick up the librariees for the wrong
architecture
- Be more explicit when a required DirectX library is not found instead
of silent failure.
Also removed the remaining Maya dependencies. These
were most useful during the early days of OpenSubdiv.
Now OpenSubdiv has been integrated directly into Maya
and these examples serve little purpose.
- fix build compiling & linking to accomodate recent code churn in Ptex
- fix FindPTex.cmake module to correctly extract version number
- fix dxPtexViewer & glPtexViewer source to compile with new Ptex namespace changes
- add alpha channel padding function to ptexMipmapLoader as a workaround to the absence of 3-channel DXGI formats
- mirror ptex memory limit function from glPtexViewer to dxPtexViewer
This is a recently introduced dependency in GLFW 3.1.x
Since Xinerama is widely supported, simply adding this as a required
dependency for now. If this turns out to be a problem then we can
make this dependency optional when using older versions of GLFW.
The most up-to-date version of the HLSL compiler is now shipped as part
of the Windows SDK. Previously, the HLSL compiler was included with
the DirectX SDK.
There is more that we can do to improve this cmake module, but this
makes it more likely to find the correct tool.
Previously, FindGLFW would search for both GL/glfw.h and GLFW/glfw3.h, which
does not work when a system has both GLFW 2.0 and 3.0 installed.
The fix still probes for both files, but does so in two passes, preferring
glfw3.h.
When two instances of TBB were present, the system installed version would take
precedence over an explicitly specified TBB_LOCATION path. This change puts
TBB_LOCATION into the HINTS section and leaves the system paths in the PATHS
section.
Sync'ing the 'dev' branch with the 'feature_3.0dev' branch at commit 68c6d11fc36761ae1a5e6cdc3457be16f2e9704a
The branch 'feature_3.0dev' is now locked and preserved for historical purposes.
If the system has CLEW installed (which is detected by recently
added FindCLEW routines) then OpenSubduv would be compiled against
this library.
It makes binaries and libraries more portable across the systems,
so it's possible to run the same binary on systems with and without
OpenCL SDK installed.
The most annoying part of the change is updating examples to load
OpenCL libraries, but ideally code around controllers and interface
creation is to be de-duplicated anyway.
Based on the pull request #303 from Martijn Berger
- switch PATHS to HINTS to make sure that we pick up the correct location for various files & libs
- fix the list append to dereference variables properly
- minor code style cleanup
fixes#266
cmake find_path function searchs system directories first when PATHS is used.
using HINTS instead forces the search to start in the suggested locations, which
ensures that the correct headers are used.
fixes#265
New text:
Copyright 2013 Pixar
Licensed under the Apache License, Version 2.0 (the "Apache License")
with the following modification; you may not use this file except in
compliance with the Apache License and the following modification to it:
Section 6. Trademarks. is deleted and replaced with:
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor
and its affiliates, except as required to comply with Section 4(c) of
the License and to reproduce the content of the NOTICE file.
You may obtain a copy of the Apache License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the Apache License with the above modification is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the Apache License for the specific
language governing permissions and limitations under the Apache License.
Multiarch distros such as Debian are keeping libraries
in /usr/lib/<platform>/ instead of /usr/lib. Added an
additional hint for GLEW library location to deal with
this.