mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
64 lines
2.6 KiB
CMake
64 lines
2.6 KiB
CMake
##============================================================================
|
|
## Copyright (c) Kitware, Inc.
|
|
## All rights reserved.
|
|
## See LICENSE.txt for details.
|
|
##
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
##============================================================================
|
|
|
|
if(VTKm_ENABLE_EXAMPLES)
|
|
# VTKm examples expects vtkm libraries to be namespaced with the prefix vtkm::.
|
|
# However as the examples are also built as just another part of the VTK-m code
|
|
# those prefix are not added to the targets (This happens during the
|
|
# installation). To workaround this issue here, we create IMPORTED libs linking
|
|
# to the vtkm libraries used by the examples with expected the vtkm:: prefix.
|
|
vtkm_module_get_list(module_list)
|
|
foreach(tgt IN LISTS module_list)
|
|
if(TARGET ${tgt})
|
|
# The reason of creating this phony IMPORTED libraries instead of making
|
|
# ALIAS libraries is that ALIAS libraries are GLOBAL whereas IMPORTED are
|
|
# local at the directory level where they are created. We do not want these
|
|
# phony targets to be visible outside of the example directory.
|
|
vtkm_target_mangle(tgt_name_mangled ${tgt})
|
|
add_library("vtkm::${tgt_name_mangled}" INTERFACE IMPORTED)
|
|
target_link_libraries("vtkm::${tgt_name_mangled}" INTERFACE ${tgt})
|
|
endif()
|
|
endforeach()
|
|
|
|
#add the directory that contains the VTK-m config file to the cmake
|
|
#path so that our examples can find VTK-m
|
|
set(CMAKE_PREFIX_PATH ${VTKm_BINARY_DIR}/${VTKm_INSTALL_CONFIG_DIR})
|
|
add_subdirectory(clipping)
|
|
add_subdirectory(contour_tree)
|
|
add_subdirectory(contour_tree_augmented)
|
|
add_subdirectory(contour_tree_distributed)
|
|
add_subdirectory(cosmotools)
|
|
add_subdirectory(demo)
|
|
add_subdirectory(game_of_life)
|
|
add_subdirectory(hello_worklet)
|
|
add_subdirectory(histogram)
|
|
add_subdirectory(ising)
|
|
add_subdirectory(lagrangian)
|
|
add_subdirectory(logistic_map)
|
|
add_subdirectory(mesh_quality)
|
|
add_subdirectory(multi_backend)
|
|
add_subdirectory(oscillator)
|
|
add_subdirectory(particle_advection)
|
|
add_subdirectory(streamline_mpi)
|
|
add_subdirectory(polyline_archimedean_helix)
|
|
add_subdirectory(redistribute_points)
|
|
add_subdirectory(temporal_advection)
|
|
add_subdirectory(tetrahedra)
|
|
add_subdirectory(smoke_test)
|
|
endif()
|
|
|
|
if (VTKm_ENABLE_TESTING)
|
|
# These need to be fast to build as they will
|
|
# be built each time we run the test
|
|
vtkm_test_against_install(demo)
|
|
vtkm_test_against_install(histogram)
|
|
vtkm_test_against_install(smoke_test)
|
|
endif()
|