Commit Graph

77 Commits

Author SHA1 Message Date
Sergey Sharybin
7b5a25f63d Fix compilation error with CLEW enabled
For some reason it compiled fine on the desktop but
compilation on laptop requires explicit linking against
dl library.
2014-05-25 04:42:04 +02:00
Sergey Sharybin
6ef232c95a Integrate CLEW into osd library and examples
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
2014-05-22 09:10:59 +02:00
Sergey Sharybin
753397cbc5 Fix real stupid copy-paste typo from a while ago 2014-05-20 23:36:45 +02:00
Manuel Kraemer
97461ea722 Don't show warnings when OpenCL component is disabled 2014-05-17 12:50:51 -07:00
Sergey Sharybin
5cafd6c40e Make PTex support optional
Basically makes configuration log much cleaner on systems
where PTex is not installed.
2014-05-17 12:46:39 -07:00
Sergey Sharybin
575cb30e54 Document NO_MAYA command line option
If was used in CMake but was never documented.
2014-05-17 12:45:37 -07:00
Sergey Sharybin
28e3431aa9 Add an option to disable OpenCL
It's not always wanted to compile OpenSubdiv with OpenCL
support when the SDK is installed on the builder machine.
2014-05-17 12:43:25 -07:00
Sergey Sharybin
fddddbc80d Add command line option to CMake's options
It solves the issues when one generated makefiles with
some of the custom command line options passed to CMake
and then modified the CMake file. This used to forget
about settings passed via command line.

Now it's no longer required to re-run CMake with all
custom options every time CMakeLists.txt files are
modified.
2014-05-17 12:40:58 -07:00
manuelk
7f78bffc0d Fix icc build problems
- icc asserts out because of the length of rpath, so we are temporarily removing the elements
  that aren't defined until chrpath is invoked by cmake (this means installed executables are
  missing paths to the built OSD dsos)
- comment out some of the warnings for missing packages if they were deliberately turned off
2014-05-16 18:26:00 -07:00
manuelk
b74f45f68d Decrease compiler warning thresholds and fix outstanding warnings (continued)
- turn off some of icc's remarks (mostly because of tbb)
- fix many of icc -w3 remarks (more to fix once i can work around icc 14.0 linker barfing)
2014-05-15 18:03:44 -07:00
manuelk
5ff9edf4f9 Decrease compiler warning thresholds and fix outstanding warnings.
Note: this round fixes clang / gcc -Wetra warnings. More fixing remains for icc -w3 errors.
2014-05-15 13:34:32 -07:00
Manuel Kraemer
a497528c59 Adding a NO_MAYA flag to CMakeLists to disable all Autodesk Maya dependencies in the build 2014-04-28 10:21:39 -07:00
Nathan Litke
2a463b5c83 Draw contexts do not fully initialize patch arrays #281
* added the numVertexElements argument to Osd*DrawContext::Create, which is used to initialize the patch arrays when calling OsdDrawContext::ConvertPatchArrays
* removed the unused level argument from Osd*DrawContext::_initialize
* maintenance work on CL/D3D11 bindings to get them to compile
2014-04-17 18:55:07 -07:00
mkraemer
05a7db5e14 Make CMake path variables more robust
Add quotes around variables containing paths - this might require a second pass...

fixes #258
2014-04-09 16:43:38 -04:00
manuelk
8918173fda Improve stringification of shaders & kernels in build.
- added a _stringify function to top CMakeLists
- switched all stringification tasks to use the macro
- all suffixes are now .gen.h instead of .inc (to help cmake track dependencies)
2014-01-03 16:59:26 -08:00
David G Yu
8990d5712f Fixed iOS build 2013-12-15 23:39:32 -08:00
manuelk
ee26835d47 Fix CMake error message 2013-11-27 10:35:49 -08:00
manuelk
fdfdb1cc8b Adding an error check on version parsing of main CMakeLists 2013-11-18 16:02:27 -08:00
manuelk
3ae50d1c50 Amending Apache license language & file headers.
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.
2013-09-26 12:04:57 -07:00
manuelk
39d61eb2e3 Adding the ability of specifying the directory for the HTML documentation
as a sub-directory of the general installation directory (this is how
the graphics.pixar.com site is built).
2013-09-16 18:56:40 -07:00
David Aguilar
55c0b0d70f Install documentation into share/doc/opensubdiv/
Per the Filesystem Hierarchy Standard:

http://www.pathname.com/fhs/pub/fhs-2.3.html#SPECIFICOPTIONS15
2013-09-16 18:40:17 -07:00
manuelk
924d994fdd Fix CMake executable macro
- Added a macro for non-cuda / non-glfw executables to add proper dependencies for ICC
- Switched various examples & regressions
2013-09-16 18:16:28 -07:00
manuelk
bc2ec15476 Fixing search path suffixes for ICC libs 2013-09-04 18:59:46 -07:00
manuelk
d57df0eae0 Enable TBB for Linux builds
- Fix FindTBB.cmake
- Add TBB logic to various CMakeLists
- Update documentation
2013-08-15 16:11:33 -07:00
manuelk
b81d159b91 Enabling Intel's C++ Studio XE icc compiler in Linux
- Add a ICC_LOCATION option to CMake configuration
- Fix icc dependencies
- Add documentation
2013-08-15 15:21:00 -07:00
Sheng Fu
8298f06234 Add Intel compiler special options 2013-08-14 16:38:13 -07:00
David G Yu
52c6b65d1a Fixed whitespace merge. 2013-08-07 15:50:35 -07:00
Manuel Kraemer
9ad7a1ab2e Merge pull request #207 from davvid/header-paths
Looks like this is working - we will have to adjust some internal code when switching to this version, but this makes packaging much easier.

Thank you very much for this contribution !
2013-08-07 11:36:23 -07:00
David G Yu
7fdd82ba76 A few build fixes for Android and iOS 2013-08-07 11:16:00 -07:00
David Aguilar
4ab5da75ab cmake: move all headers to include/opensubdiv/
The base include/ directory is too general for general
installation.  Specifically, "include/version.h" will likely
clash with many other projects.

Move headers to include/opensubdiv/ to prevent filesystem
namespace clashes.
2013-08-07 10:56:39 -07:00
takahito-tejima
dd91b2de8c Fix some portability issues on OSX. (GLEW will be used if exists) 2013-07-18 19:49:00 -07:00
Takahito Tejima
51a45b598d Updating EULA 2013-07-18 14:19:50 -07:00
manuelk
500defee4c - adding new build flag options (NO_LIB, NO_CUDA...)
- move python build section into the python directory (cleaning up)

- fix some broken dependencies

- remove the public_headers targets if doxygen was not found

TODO :
- fix MSVC targets for public headers (wbn if MSVC didn't require the pro version
  in order to support solution folders)
- fix osd_regression to not build if -DNO_LIB is present (ie. fix the broken dependency)
2013-07-11 18:55:17 -07:00
manuelk
f079e57f96 Fix doc build
- turn the _add_doxy_headers macro into a no-op if -DNO_DOC is used
  so it doesn't cause problems

- moved the -DNO_DOC conditional into the top CMakeLists file, following
  pattern with other override flags
2013-07-09 10:00:40 -07:00
manuelk
9712b44239 Documentation build modifications:
- add macro "_add_doxy_headers" in order to track all header files elligible for
  doxygen documenation. This captures public header files that would otherwise be
  excluded from installation because they are not supported by the OS. Private
  header files remain excluded though.

- add custom targets and commands so that documentation build produces functioning
  RST and Doxygen documentation both in the build and install stages

- switched to Doxygen 1.8 (because markdown will make in-lined documentation easier)

- added build switches to disable examples, regression and python-SWIG targets

- fixed doxygen link in the nav bar

- modified python html processing tool to match Cmake changes
2013-07-05 15:36:54 -07:00
Manuel Kraemer
7a71def44a Adding more documentation
- new RST pages for our excample code
- fix doxygen documentation link from the nav tab
- fix cmake build rules (still not quite working as intended)
- adding API RST documentation all around
2013-07-04 19:17:34 -07:00
manuelk
e3109ae507 Incremental commit for the new HTML documentation system:
- adding docutils cmake module
- adding rst2html conversion build step to our documentation folder
- adding tipue search system
- adding a python script to insert HTML navigation template and index HTML documentation contents
- adding RST documentation content, images and temporary CSS styling
2013-07-04 10:47:56 -07:00
David G Yu
7d16bffccb Continued cleanup of OpenGL dependencies 2013-06-26 00:52:57 -07:00
David G Yu
e934149d26 Fixed a couple typos in the python cmake messages 2013-05-20 12:21:13 -07:00
Takahito Tejima
8605c23ee1 add -Wno-strict-aliasing to compiler option. 2013-05-17 12:44:30 -07:00
manuelk
f41843b767 turns out we are using a features from more recent versions of cmake than the minimum required...
fixes #154
2013-04-23 14:47:46 -07:00
manuelk
40df0198ad rpaths were missing paths to the osd libraries and other dependencies - these cmake variables seem to be fixing the problem.
fixes #154
2013-04-23 11:58:49 -07:00
manuelk
b815aff333 First pass at fixing the installation part of the Cmake build : now CMAKE_INSTALL_PREFIX can
be used as intended to specify an installation directory, which can be located anywhere on the
file system.

Also improved the doxygen target and made the doxy build "quiet".

fixes #154
2013-04-22 19:35:41 -07:00
Manuel Kraemer
2e43675691 - remove msvcrt fromt he no-default-lib list
- comment out SECURE_SCL and ITERATOR_DEBUGGING

fixes #134
2013-03-07 14:04:29 -08:00
Nicholas Yue
231476b48c Fix directory path to working directory of python in custom command, use ${CMAKE_SOURCE_DIR} instead of .. for consistency 2013-02-17 11:28:05 +11:00
Manuel Kraemer
6f87feca2b typo : there is no space between /wd and the warning #
fixes #120
2013-02-14 09:44:11 -08:00
Andrew Wong
15791b28bd cmake: ignore MSVC C4350 and C4548 warnings
These warnings are being triggered from inside VC's header files.
2013-02-09 21:02:49 -05:00
manuelk
7c10b9c321 minor cleanup of doxygen cmake rules 2013-02-08 14:32:01 -08:00
manuelk
f3bb911351 - fix gcc offsetof compile warnings by passing flags & definitions from CMake to the setup.py script
- add a -builtin swig flag if an appropriate version of swig is found

fixes #116
2013-02-08 13:51:11 -08:00
Philip Rideout
604c35ac4f incorp feedback from mkraemer: remove the license file, move the demo to examples/python, change the min Python version to 2.6 2013-02-07 11:37:00 -08:00