Commit Graph

2276 Commits

Author SHA1 Message Date
Kenneth Moreland
c1de0e0746 Change VTKm_BUILD_RENDERING to VTKm_ENABLE_RENDERING
This makes the name more consistent with the names of the other VTK-m
CMake options.

Also changed the default to be ON. I do not see a big downside to
compiling the rendering library most of the time.
2016-09-21 14:38:00 -06:00
Robert Maynard
fa3c2b8986 Merge topic 'properly_handle_host_compiler_being_c_compiler'
c8726814 Make VTKmDetectCUDAVersion work with C compilers.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !561
2016-09-21 16:22:38 -04:00
Robert Maynard
c8726814b8 Make VTKmDetectCUDAVersion work with C compilers. 2016-09-21 16:00:57 -04:00
Dave Pugmire
c4a78d952c Merge branch 'master' into 'master'
Fix compile errors. decl for memcpy required.



See merge request !556
2016-09-20 11:17:29 -04:00
Dave Pugmire
a12b5eeae3 Fix compile errors. decl for memcpy required. 2016-09-20 11:03:25 -04:00
Robert Maynard
5c7c546c86 Merge branch 'properly_cache_cuda_native_flags' into 'master'
Properly cache the results of CUDA native detection.

I found some issues when using VTK-m from inside VTK. The issues where
that on reconfigures the device architectures flags where dropped by the
caching mechanism.

See merge request !555
2016-09-19 16:30:03 -04:00
Robert Maynard
462a1b0882 Properly cache the results of CUDA native detection.
I found some issues when using VTK-m from inside VTK. The issues where
that on reconfigures the device architectures flags where dropped by the
caching mechanism.
2016-09-19 14:58:18 -04:00
Kenneth Moreland
0ca69cf65f Merge topic 'osmesa-option'
123bc8b6 Add a configuration error if OSMesa was not found
0a61085d Do not load OpenGL libraries if OSMesa already loaded
640e92c7 Add VTKm_ENABLE_OSMESA option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !548
2016-09-17 10:11:55 -04:00
Mark Kim
e59fc37f90 Merge topic 'master'
7cfc1199 Demo.cxx: MapperRayTracer is no longer a templated class. UnitTestMapperEGL.cxx: MapperGL is no longer a templated class. UnitTestMapperGLFW.cxx: strmp needs cstring rendering/CMakeLists.txt: need to append egl_sources to sources.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !552
2016-09-16 09:02:06 -04:00
Kenneth Moreland
9446ecd145 Merge topic 'hide-glfw'
b3e1e8f9 Make GLFW CMake configure vars advanced

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !554
2016-09-15 15:25:25 -04:00
Robert Maynard
72b2910202 Merge topic 'use_proper_cuda_component_name'
4521403f Examples now correctly request the optional CUDA component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !551
2016-09-15 13:53:29 -04:00
Kenneth Moreland
b3e1e8f962 Make GLFW CMake configure vars advanced
It is standard now in CMake to make the CMake configuration variables
(like those specifying paths to files for a library) are marked as
advanced. Otherwise, the CMake configuration gets overwhelmed by lots of
parameters that are either found automatically or only need to be set
once.
2016-09-15 09:47:28 -06:00
Kenneth Moreland
123bc8b6e2 Add a configuration error if OSMesa was not found
If VTKm_ENABLE_OSMesa was on but OSMesa was not found, CMake would just
give a status update but happily configure. This change checks for the
condition where VTKm_ENABLE_OSMesa is on but OSMesa was not configured
correctly and raises an error in this case.
2016-09-14 16:04:37 -06:00
Mark Kim
7cfc119999 Demo.cxx: MapperRayTracer is no longer a templated class.
UnitTestMapperEGL.cxx: MapperGL is no longer a templated class.
UnitTestMapperGLFW.cxx: strmp needs cstring
rendering/CMakeLists.txt: need to append egl_sources to sources.
2016-09-14 15:58:45 -04:00
Robert Maynard
4521403fd2 Examples now correctly request the optional CUDA component 2016-09-14 15:29:04 -04:00
Dave Pugmire
36be354980 Merge branch 'glut-rendertest' into 'master'
Add glut rendering unittest.

Make the GLFW package variables advanced, and add it to the configure components.
Modify the other examples that use GLUT to use the configure components command.

See merge request !546
2016-09-13 14:20:04 -04:00
Kenneth Moreland
5d223aaba7 Merge branch 'test-build-libraries' into 'master'
Test build library fixes

Some minor changes to how the libraries for test builds are created
to improve the build system.

See merge request !550
2016-09-12 17:20:59 -04:00
Kenneth Moreland
9fcfc0e6a1 Send test builds to their own directory
Send the libraries created for test builds to their own directory so as
to not polute the directory with useful libraries.
2016-09-12 13:33:23 -06:00
Kenneth Moreland
990ba6bfd2 Make test build libraries static
The test builds are created by making some library targets for libraries
with nothing useful. (The intention is to test a build of the code, not
use the built code.) To prevent linking issues, each test build defines
a function named Test_Build_For_<headername>.

However, when BUILD_SHARED_LIBS was on for windows, it never actually
exported anything because dlls need a __declspec(dllexport) on it. Thus,
nothing was exported from the library, and that could cause issues with
the build system (e.g. https://public.kitware.com/Bug/view.php?
id=15885). To get around the issue, always compile the test build
libraries as static.
2016-09-12 13:24:21 -06:00
Kenneth Moreland
fe91ba1d3d Merge branch 'remove-boost-shared-ptr-rendering-lib' into 'master'
Remove boost::shared_ptr from rendering library

The remove boost::shared_ptr and the rendering library branches where
developed simultaneously, and thus some of the rendering library
implementation was using boost::shared_ptr like the old code. Bring up
to date with the rest of VTK-m by using std::shared_ptr instead.

See merge request !549
2016-09-12 14:50:19 -04:00
Kenneth Moreland
5455608c69 Remove boost::shared_ptr from rendering library
The remove boost::shared_ptr and the rendering library branches where
developed simultaneously, and thus some of the rendering library
implementation was using boost::shared_ptr like the old code. Bring up
to date with the rest of VTK-m by using std::shared_ptr instead.
2016-09-12 11:08:06 -06:00
Robert Maynard
0846d2c890 Merge topic 'use_host_compiler_to_detect_cuda'
8810d3db Use the CUDA_HOST_COMPILER when running VTKm_CUDA_Architecture native check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !545
2016-09-12 10:30:05 -04:00
Robert Maynard
8810d3db3d Use the CUDA_HOST_COMPILER when running VTKm_CUDA_Architecture native check 2016-09-12 09:07:36 -04:00
Kenneth Moreland
0a61085d48 Do not load OpenGL libraries if OSMesa already loaded
OSMesa should have its own version of OpenGL, and another OpenGL library
could conflict with it.
2016-09-09 15:01:17 -06:00
Kenneth Moreland
640e92c750 Add VTKm_ENABLE_OSMESA option 2016-09-09 14:50:31 -06:00
Kenneth Moreland
8e845d6933 Merge branch 'rendering-library' into 'master'
Rendering library

Pull the majority of the implementation of the rendering
package into a library for better compile performance.

See merge request !527
2016-09-09 16:28:09 -04:00
Kenneth Moreland
68559d130a Merge branch 'autoload-base-component' into 'master'
Always load "Base" component in find_package

A big part of the VTK-m find_package configuration is a set of
components that load different parts of VTK-m's configuration. If you
load none of the components, you do not actually get enough to compile
any part of VTK-m, which is confusing. To get around this, always load
the "Base" component.

See merge request !541
2016-09-09 16:01:49 -04:00
Kenneth Moreland
e6686e8be7 Merge branch 'master' into rendering-library 2016-09-09 13:59:15 -06:00
Robert Maynard
0d55568ddb Merge topic 'correct_bad_compile_def'
08eb3a95 Correct a bad target_compile_definitions line in examples/demo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !547
2016-09-09 15:42:13 -04:00
Dave Pugmire
ffd2d0eac6 Add glut rendering unittest.
Make the GLFW package variables advanced, and add it to the configure components.
Modify the other examples that use GLUT to use the configure components command.
2016-09-09 15:33:34 -04:00
Robert Maynard
08eb3a957b Correct a bad target_compile_definitions line in examples/demo 2016-09-09 15:19:17 -04:00
Robert Maynard
d4d5e43ebc Merge topic 'gcc_5_boost_concept_assert_fix'
4f65da41 Remove usage of BOOST_CONCEPT_CHECK.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !543
2016-09-09 14:30:58 -04:00
Robert Maynard
4f65da41b9 Remove usage of BOOST_CONCEPT_CHECK.
Instead manually verify the iterator type ourselves inside CopyInto.
2016-09-09 09:43:09 -04:00
Robert Maynard
783867eeb0 Merge topic 'switch_boost_random_over_to_cxx11'
c2769b81 Move over from boost/random to c++11 random.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !542
2016-09-09 08:16:25 -04:00
Kenneth Moreland
77ecfbeb78 Explicitly implement constructors and destructors
The clang compiler was running into linker errors constructors of
classes with virtual methods that were inline and destructors that were
not declared at all. In this case, the compiler was not creating
everything needed by a virtual table and the link died.
2016-09-08 17:08:17 -06:00
Kenneth Moreland
e931aac26b Separate arguments for target_compile_options
The target_compile_options expects the arguments to be in a CMake list.
However, the variables used to hold CMake lists are space separated to
be just put in a command line. Thus, call separate_arguments on the
string before using it.
2016-09-08 16:34:04 -06:00
Kenneth Moreland
0bcac3eb5d Remove "export" from virtual ArrayHandle destructor
One of the dashboards is complaining about the destructor implementation
not being used in a particular test build. I suspect it is because the
export macro has an inline, so I am trying removing it.
2016-09-08 16:06:09 -06:00
Robert Maynard
c2769b81e6 Move over from boost/random to c++11 random. 2016-09-08 17:10:39 -04:00
Kenneth Moreland
bd1f33dd9e Revert change in use of target_link_libraries signature
We moved to using the more modern signature of target_link_libraries,
but on some platforms this causes a configuration error. The issue is
that cuda_add_library internally uses target_link_libraries with the old
signature, and CMake does not allow us to use both signatures on the
same target.
2016-09-08 09:43:47 -06:00
Kenneth Moreland
5c1352872a Remove VTKm_BUILD_SHARED_LIBS from Configure.h
It is not really necessary.
2016-09-08 07:58:04 -06:00
Kenneth Moreland
3dae95f22a Update to newer CMake function interfaces
Per suggestions from Rob Maynard.
2016-09-07 16:48:17 -06:00
Kenneth Moreland
434f54195a Fix issue where exports failed when no libraries
Currently, the only library created is for the rendering package. If
VTKm_BUILD_RENDERING is off, then no libraries are created. If no
libraries are created, then there is nothing that declares a VTKmTargets
export. If there is nothing that creates a VTKmTargets export, the
export command fails.

Aaarg!!!! I can't even find a way to query whether an export is valid
(in the same way you can query whether a target exists). I added a
global variable that recorded whether vtkm_library added a library
(where things are added to the VTKmTargets export). The export command
is called if any libraries were created, a stub is created and installed
otherwise.
2016-09-07 16:48:15 -06:00
Kenneth Moreland
74aeeaa66b Add target exports to installed files
This makes it much easier for dependent CMake projects to find the VTK-m
libraries.
2016-09-07 16:48:13 -06:00
Kenneth Moreland
52838e9ed2 Make font factory arrays static for faster compilation
I noticed that Visual Studio was taking an insane amount of time to
compile BitmapFontFactory.cxx (~20 minutes). Following some suggestions
on stackoverflow (http://stackoverflow.com/questions/7893850/long-
compile-times-in-visual-c-2010-with-large-static-arrays) I changed the
arrays to be static const (something that is more viable when compiling
a library instead of header-only). The compile after this changes seems
basically immediate now.
2016-09-07 16:48:11 -06:00
Kenneth Moreland
7e0ec48cab Enable building shared libraries 2016-09-07 16:48:09 -06:00
Kenneth Moreland
17194ff3a6 Update OSMesa test for new rendering class interfaces 2016-09-07 16:48:07 -06:00
Kenneth Moreland
0dab3f2adf Fix warning about precision conversion 2016-09-07 16:48:05 -06:00
Kenneth Moreland
22c6741152 Add View to rendering library
To get rid of some templates, I added the ability to create new
instances of mappers and canvases without knowing their type.
2016-09-07 16:48:04 -06:00
Kenneth Moreland
26671e9fd6 Add WorldAnnotator to rendering library 2016-09-07 16:48:01 -06:00
Kenneth Moreland
219d6c02a1 Add TextureGL to rendering library
Also hide internals and other GL-ness from the interface.
2016-09-07 16:48:00 -06:00