Commit Graph

2922 Commits

Author SHA1 Message Date
David G Yu
a1f13b4767 Fixed inconsistent warning levels for MSVC builds
The MSVC build has been setting /W3 as an override for /Wall but this
has been causing generator specfic build inconsistencies.

For examples, this override works when using the Visual Studio generators,
but not when using the Ninja generator. This causes Ninja to build using
/Wall instead of /W3.

This removes the initial setting of /Wall to avoid this inconsistency.

We plan to continue to address compiler warnings to allow us to raise
this warning level further but that is a separate task.
2023-08-25 21:00:32 -07:00
David G Yu
6c1a309cfc Release 3.5.1 2023-07-20 11:58:39 -07:00
David G Yu
7b77264416
Merge pull request #1312 from davidgyu/dev_opengl_import_fix2
Further simplification of OpenGL import targets
2023-07-19 17:23:22 -07:00
David G Yu
90a8122c2d Further simplification of OpenGL import targets
The internal GL API Loader implementation is self contained and does
not require the system OpenGL implementation at build time, so we
don't need the OpenGL::GL import target for this case.

An earlier change added the OpenGL::GL import target for legacy uses
of GLEW and it remains correct there.

Fixes #1277
2023-07-17 17:45:25 -07:00
Barry Fowler
db1ac8045c
Merge pull request #1310 from davidgyu/dev_cuda_nvcc_defaults_fix
Improved documentation for OSD_CUDA_NVCC_FLAGS
2023-07-06 15:03:50 -07:00
Barry Fowler
81941e996c
Merge pull request #1309 from davidgyu/dev_apple_framework_fix
Fixed Apple framework object dependencies
2023-07-06 15:02:04 -07:00
Barry Fowler
9d34513203
Merge pull request #1308 from davidgyu/dev_osd_real_cast
Fixed OSD_REAL_CAST of some float constants
2023-07-06 14:57:11 -07:00
Barry Fowler
dbb23be83d
Merge pull request #1297 from davidgyu/dev_cxx_version
Updated C++ standard to C++14
2023-07-06 14:56:14 -07:00
David G Yu
b96d8af08a Improved documentation for OSD_CUDA_NVCC_FLAGS
Also fixed the build so that obsolete CUDA gpu architectures
are specified as fallback values only when using older obsolete
versions of CUDA. We'll likely remove these fallbacks from future
releases of OpenSubdiv.

Fixes #1299
2023-06-30 15:46:51 -07:00
David G Yu
c34d7927b3 Fixed Apple framework object dependencies
Updated target object dependencies for Apple static and dynamic frameworks
to use TARGET_EXISTS for osd_gpu_obj to allow correct linking when no
OSD_GPU targets are enabled. We'll likely revisit these targets further
for future releases of OpenSubdiv.

Fixes #1224
Fixes #1236
2023-06-30 15:46:22 -07:00
David G Yu
5db3b63faa Fixed OSD_REAL_CAST of some float constants
This avoids compile errors with some GLSL compilers.

Fixes #1285
2023-06-30 15:45:45 -07:00
David G Yu
98351a9dc1 Updated C++ standard to C++14
The OpenSubdiv public interface currently requires only C++11 but we
choose this version since C++14 has been the default since GCC 6,
Clang 6, and Visual Studio 2017 (for the most part) and C++14 has been
the default for OpenSubdiv on macOS when support for Metal is enabled.

This setting is guarded so that it can be overridden by the caller when
running CMake.

Fixes #1276
2023-06-30 15:42:23 -07:00
Barry Fowler
94c85b3879
Merge pull request #1305 from davidgyu/dev_opengl_import_fix 2023-06-27 18:14:02 -07:00
Barry Fowler
e0eb6a18b5
Merge pull request #1304 from davidgyu/dev_cuda_examples_glx_fix 2023-06-27 18:13:24 -07:00
Barry Fowler
f9bd7a2d57
Merge pull request #1303 from davidgyu/dev_config_interface_include_fix 2023-06-27 18:12:46 -07:00
David G Yu
05abd4e826 Updated build to use OpenGL import targets.
This is a slight improvement and fixes link problems in some
cases, though we expect to further improve handling of target
depenedencies overall.

Fixes #1277
2023-06-23 14:27:11 -07:00
David G Yu
9e7b1bcdc3 Fixed example dependencies with CUDA on Linux
Added an explicit target link dependency for OpenGL::GLX when
building example programs with CUDA on systems with GLX since
GLX is used by the example code used to initialize the CUDA
device context.

This is a simple workaround and we'd like to revisit and improve
how target dependencies are handled overall.

Fixes #1294
2023-06-21 14:26:41 -07:00
David G Yu
4576083cd0 Fixed interface includes for cmake config
Added target include directories for the library targets
so that interface include directories are published with
the OpenSubdiv cmake config.

Also, removed a cmake version test which is no longer needed.

Fixes #1278
2023-06-21 12:01:50 -07:00
David G Yu
afaee86641
Merge pull request #1301 from barfowl/bfr_val2_interior_bug
Fixed Bfr::Surface construction bug for rare topological case
2023-06-15 13:42:03 -07:00
David G Yu
7f7528e001
Merge pull request #1296 from CraigHutchinson/patch-1
CMake: append should be used for CMAKE_MODULE_PATH
2023-04-26 17:10:27 -07:00
Barry Fowler
51eb6a041c Fix bug in Bfr::SurfaceFactory with valence-2 interior vertex:
- fixed IrregularPatchBuilder to correctly assign boundary sharpness
    - modified test shape creating creased val-2 interior face on boundary
2023-03-14 19:02:04 -07:00
David G Yu
578b1fb9d2
Merge pull request #1290 from thomthom/dev-mismatched-bound-warning
Correct warning: "with mismatched bound [-Warray-parameter]" in level.cpp
2023-03-09 17:37:33 -08:00
David G Yu
5474fe88fd
Merge pull request #1289 from thomthom/dev-clang-windows
Corrections to allow for LLVM Clang builds on Windows.
2023-03-09 17:33:04 -08:00
David G Yu
5819edf6c3 Merge pull request #1275 from Cory-Kramer/release
Avoid referring to std::vector<T> members when T is incomplete.
2023-03-09 17:08:34 -08:00
Craig Hutchinson
360abbe5bf
CMake: append should be used for CMAKE_MODULE_PATH
- Additionally hardened paths by using PROJECT_SOURCE_DIR
2023-02-28 14:41:37 +00:00
Thomas Thomassen
c92351a6fa Correct warning: "with mismatched bound [-Warray-parameter]" in level.cpp 2022-11-29 22:10:44 +01:00
Thomas Thomassen
ad007c076a Corrections to allow for LLVM Clang builds on Windows. 2022-11-29 20:18:33 +01:00
Cory Kramer
ca6f0feecf Avoid referring to std::vector<T> members when T is incomplete.
This is not legal according to the C++ standard, and causes build errors when using --std=c++20
2022-09-27 10:15:30 -04:00
David G Yu
8ffa2b6566 Release 3.5.0 2022-09-26 11:17:44 -07:00
David G Yu
8f2560ed6e
Merge pull request #1274 from barfowl/doc_bfr_improvements
Documentation improvements for Bfr Overview and tutorials
2022-09-26 07:56:30 -07:00
Barry Fowler
72331f64c5 Minor improvements to Doxgen config file:
- removed obsolete features to reduce warnings in newer versions
    - added missing PROJECT_NAME
2022-09-25 17:37:11 -07:00
Barry Fowler
24b63c951f Added new sections to the Bfr Overview page:
- new section for SurfaceFactory caching and thread-safety
    - new section for deriving subclasses of SurfaceFactory
2022-09-23 17:53:14 -07:00
Barry Fowler
4ca972da8f New and improved figures with Bfr tutorials:
- added new figure for Bfr tutorial 1.1
    - improved the set figures for Bfr tutorial 1.2
    - improved the set figures for Bfr tutorial 2.1
    - added accompanying text related to new figures
2022-09-23 11:16:13 -07:00
David G Yu
ded8a8806f
Merge pull request #1272 from davidgyu/dev_ios_build_notes
Updated iOS build note regarding stringify
2022-09-15 10:07:19 -07:00
David G Yu
1d8a74ee3c Updated iOS build note regarding stringify
Builds using Xcode now use the Python version of stringify
including for cross compilation builds, e.g. iOS, universal, etc.
2022-09-15 09:47:49 -07:00
David G Yu
287cb80619
Merge pull request #1242 from theblackunknown/cmake-config
Add CMake Config
2022-09-15 09:26:03 -07:00
David G Yu
ec9153f22a
Merge pull request #1271 from davidgyu/dev_glsl_interp_qualifier_fix
Removed 'centroid' qualifier from GLSL struct
2022-09-15 09:23:19 -07:00
David G Yu
76841aefa3 Removed 'centroid' qualifier from GLSL struct
This is not valid (See GLSLang Spec, Sec 4.3) and raises shader
compile time errors with some recent drivers.
2022-09-15 08:29:14 -07:00
David G Yu
3f054c7410 Updated cmake config export paths and target names
The cmake config export paths are now more consistent
with other vfx platform projects.

The target names are now more consistent with existing
opensubdiv static and dynamic library names.
2022-09-15 02:34:02 -07:00
David G Yu
28e511af12 Removed non-primary build artifacts from config
Downstream projects should not depend on these.
2022-09-14 17:15:23 -07:00
David G Yu
1cb5494c59
Merge pull request #1270 from barfowl/gcc_warnings_conversion
Suppression of more GCC warnings with -Wconversion
2022-09-14 16:14:37 -07:00
Barry Fowler
0e574f7204 Fix more internal GCC warnings with -Wconversion 2022-09-14 14:52:01 -07:00
David G Yu
10f63f1918
Merge pull request #1267 from davidgyu/dev_python_stringify
Implemented alternate Python 'stringify' tool
2022-09-12 17:57:22 -07:00
David G Yu
cb1657be17 Implemented alternate Python 'stringify' tool
This simplifies build dependencies when cross-compiling
or when building multi-architecture binaries.

For backward compatibility with earlier releases, the compiled
C++ version of this tool is used when no Python interpreter is found.
2022-09-12 17:19:27 -07:00
David G Yu
b7a1d874be
Merge pull request #1266 from davidgyu/dev_cmake_find_python
Updated doc build to use FindPython
2022-09-12 17:11:20 -07:00
David G Yu
28ab09401e Updated doc build to use FindPython
This helps accommodate the transition to Python 3
2022-09-12 15:49:41 -07:00
David G Yu
e33f7113b3
Merge pull request #1265 from davidgyu/dev_python3_doc_build
Updated doc build scripts for Python 3
2022-09-11 19:17:57 -07:00
David G Yu
a6ebb6e083
Merge pull request #1264 from davidgyu/dev_dependencies_fix
Fixed broken public headers dependency
2022-09-11 19:17:29 -07:00
David G Yu
d13501eeb3 Fixed broken public headers dependency
Fixes a doc build error resulting from the CMake minimum version update.
2022-09-11 18:22:41 -07:00
David G Yu
26cda644a3 Updated doc build scripts for Python 3
These changes allow the scripts to work with either Python 2 or 3.
2022-09-11 15:33:46 -07:00