diff --git a/benchmarking/CMakeLists.txt b/benchmarking/CMakeLists.txt index 1c9dfd78d..bc86212df 100644 --- a/benchmarking/CMakeLists.txt +++ b/benchmarking/CMakeLists.txt @@ -22,16 +22,10 @@ function(add_benchmark) set_target_properties(${exe_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VTKm_EXECUTABLE_OUTPUT_PATH} CXX_VISIBILITY_PRESET "hidden" + CUDA_VISIBILITY_PRESET "hidden" + CUDA_SEPARABLE_COMPILATION ON ) - - set_property(TARGET ${exe_name} PROPERTY "hidden") - if (TARGET vtkm::cuda) - set_source_files_properties(${VTKm_AB_FILE} PROPERTIES LANGUAGE "CUDA") - set_target_properties(${exe_name} PROPERTIES - CUDA_VISIBILITY_PRESET "hidden" - CUDA_SEPARABLE_COMPILATION ON - ) - endif() + vtkm_add_target_information(${exe_name} DEVICE_SOURCES ${VTKm_AB_FILE}) endfunction() set(benchmarks @@ -45,7 +39,7 @@ set(benchmarks ) foreach (benchmark ${benchmarks}) - add_benchmark(NAME ${benchmark} FILE ${benchmark}.cxx LIBS vtkm_filter vtkm_cont) + add_benchmark(NAME ${benchmark} FILE ${benchmark}.cxx LIBS vtkm_filter) endforeach () if(TARGET vtkm_rendering) diff --git a/examples/clipping/CMakeLists.txt b/examples/clipping/CMakeLists.txt index 9e7dfe702..be7c72315 100644 --- a/examples/clipping/CMakeLists.txt +++ b/examples/clipping/CMakeLists.txt @@ -16,6 +16,6 @@ find_package(VTKm REQUIRED QUIET) add_executable(Clipping Clipping.cxx) target_link_libraries(Clipping PRIVATE vtkm_filter) -if(TARGET vtkm::cuda) - set_source_files_properties(Clipping.cxx PROPERTIES LANGUAGE "CUDA") -endif() +vtkm_add_target_information(Clipping + MODIFY_CUDA_FLAGS + DEVICE_SOURCES Clipping.cxx) diff --git a/examples/contour_tree/CMakeLists.txt b/examples/contour_tree/CMakeLists.txt index 4057785b8..172719963 100644 --- a/examples/contour_tree/CMakeLists.txt +++ b/examples/contour_tree/CMakeLists.txt @@ -16,9 +16,12 @@ find_package(VTKm REQUIRED QUIET) add_executable(ContourTreeMesh2D ContourTreeMesh2D.cxx) target_link_libraries(ContourTreeMesh2D vtkm_filter) +vtkm_add_target_information(ContourTreeMesh2D + DEVICE_SOURCES ContourTreeMesh2D.cxx) + add_executable(ContourTreeMesh3D ContourTreeMesh3D.cxx) target_link_libraries(ContourTreeMesh3D vtkm_filter) -if(TARGET vtkm::cuda) - set_source_files_properties(ContourTreeMesh2D.cxx ContourTreeMesh3D.cxx PROPERTIES LANGUAGE "CUDA") -endif() +vtkm_add_target_information(ContourTreeMesh3D + MODIFY_CUDA_FLAGS + DEVICE_SOURCES ContourTreeMesh3D.cxx) diff --git a/examples/contour_tree_augmented/CMakeLists.txt b/examples/contour_tree_augmented/CMakeLists.txt index db3faf1a9..18d58d909 100644 --- a/examples/contour_tree_augmented/CMakeLists.txt +++ b/examples/contour_tree_augmented/CMakeLists.txt @@ -56,7 +56,9 @@ find_package(VTKm REQUIRED QUIET) add_executable(ContourTree ContourTreeApp.cxx) target_link_libraries(ContourTree vtkm_filter) - +vtkm_add_target_information(ContourTree + MODIFY_CUDA_FLAGS + DEVICE_SOURCES ContourTreeApp.cxx) #################################### # Debug algorithm build @@ -67,7 +69,3 @@ if(TARGET vtkm::tbb) # TBB 2D/3D/MC target_compile_definitions(ContourTree PRIVATE ENABLE_SET_NUM_THREADS) endif() - -if(TARGET vtkm::cuda) - set_source_files_properties(ContourTreeApp.cxx PROPERTIES LANGUAGE "CUDA") -endif() diff --git a/examples/cosmotools/CMakeLists.txt b/examples/cosmotools/CMakeLists.txt index 7563660f1..f47d77b0c 100644 --- a/examples/cosmotools/CMakeLists.txt +++ b/examples/cosmotools/CMakeLists.txt @@ -18,6 +18,9 @@ add_executable(CosmoHaloFinder CosmoHaloFinder.cxx) target_link_libraries(CosmoCenterFinder PRIVATE vtkm_filter) target_link_libraries(CosmoHaloFinder PRIVATE vtkm_filter) -if(TARGET vtkm::cuda) - set_source_files_properties(CosmoCenterFinder.cxx CosmoCenterFinder.cxx PROPERTIES LANGUAGE "CUDA") -endif() +vtkm_add_target_information(CosmoCenterFinder + MODIFY_CUDA_FLAGS + DEVICE_SOURCES CosmoCenterFinder.cxx) +vtkm_add_target_information(CosmoHaloFinder + MODIFY_CUDA_FLAGS + DEVICE_SOURCES CosmoHaloFinder.cxx) diff --git a/examples/demo/CMakeLists.txt b/examples/demo/CMakeLists.txt index 2c3f223ea..1d64afb0d 100644 --- a/examples/demo/CMakeLists.txt +++ b/examples/demo/CMakeLists.txt @@ -13,13 +13,10 @@ project(VTKmDemo CXX) #Find the VTK-m package find_package(VTKm REQUIRED QUIET) - if(TARGET vtkm_rendering) - - if(TARGET vtkm::cuda) - set_source_files_properties(Demo.cxx PROPERTIES LANGUAGE "CUDA") - endif() - add_executable(Demo Demo.cxx) target_link_libraries(Demo PRIVATE vtkm_rendering) + vtkm_add_target_information(Demo + MODIFY_CUDA_FLAGS + DEVICE_SOURCES Demo.cxx) endif() diff --git a/examples/game_of_life/CMakeLists.txt b/examples/game_of_life/CMakeLists.txt index 904dbaf10..3bbab95c9 100644 --- a/examples/game_of_life/CMakeLists.txt +++ b/examples/game_of_life/CMakeLists.txt @@ -19,8 +19,8 @@ if(TARGET OpenGL::GL AND TARGET GLEW::GLEW) add_executable(GameOfLife GameOfLife.cxx LoadShaders.h) - if(TARGET vtkm::cuda) - set_source_files_properties(GameOfLife.cxx PROPERTIES LANGUAGE "CUDA") - endif() target_link_libraries(GameOfLife PRIVATE vtkm_filter OpenGL::GL GLEW::GLEW GLUT::GLUT) + vtkm_add_target_information(GameOfLife + MODIFY_CUDA_FLAGS + DEVICE_SOURCES GameOfLife.cxx) endif() diff --git a/examples/hello_world/CMakeLists.txt b/examples/hello_world/CMakeLists.txt index 9d8304e3d..6e84ba11e 100755 --- a/examples/hello_world/CMakeLists.txt +++ b/examples/hello_world/CMakeLists.txt @@ -21,9 +21,9 @@ if(TARGET OpenGL::GL AND set(gl_libs OpenGL::GL GLEW::GLEW GLUT::GLUT) add_executable(HelloWorld HelloWorld.cxx LoadShaders.h) - if(TARGET vtkm::cuda) - set_source_files_properties(HelloWorld.cxx PROPERTIES LANGUAGE "CUDA") - endif() target_link_libraries(HelloWorld PRIVATE vtkm_filter ${gl_libs}) + vtkm_add_target_information(HelloWorld + MODIFY_CUDA_FLAGS + DEVICE_SOURCES HelloWorld.cxx) endif() diff --git a/examples/histogram/CMakeLists.txt b/examples/histogram/CMakeLists.txt index 262d7097a..3b9f17cf0 100644 --- a/examples/histogram/CMakeLists.txt +++ b/examples/histogram/CMakeLists.txt @@ -15,8 +15,7 @@ find_package(VTKm REQUIRED QUIET) if (VTKm_ENABLE_MPI) add_executable(Histogram Histogram.cxx HistogramMPI.h HistogramMPI.hxx) target_link_libraries(Histogram PRIVATE vtkm_filter) - - if(TARGET vtkm::cuda) - set_source_files_properties(Histogram.cxx PROPERTIES LANGUAGE "CUDA") - endif() + vtkm_add_target_information(Histogram + MODIFY_CUDA_FLAGS + DEVICE_SOURCES Histogram.cxx) endif() diff --git a/examples/isosurface/CMakeLists.txt b/examples/isosurface/CMakeLists.txt index 624101871..3de97086f 100644 --- a/examples/isosurface/CMakeLists.txt +++ b/examples/isosurface/CMakeLists.txt @@ -21,9 +21,8 @@ if(TARGET OpenGL::GL AND set(gl_libs OpenGL::GL OpenGL::GLU GLEW::GLEW GLUT::GLUT) add_executable(IsosurfaceUniformGrid IsosurfaceUniformGrid.cxx quaternion.h) target_link_libraries(IsosurfaceUniformGrid PRIVATE vtkm_filter ${gl_libs}) - - if(TARGET vtkm::cuda) - set_source_files_properties(IsosurfaceUniformGrid.cxx PROPERTIES LANGUAGE "CUDA") - endif() + vtkm_add_target_information(IsosurfaceUniformGrid + MODIFY_CUDA_FLAGS + DEVICE_SOURCES IsosurfaceUniformGrid.cxx) endif() diff --git a/examples/lagrangian/CMakeLists.txt b/examples/lagrangian/CMakeLists.txt index ce7fc2cf8..ba0e2e75d 100644 --- a/examples/lagrangian/CMakeLists.txt +++ b/examples/lagrangian/CMakeLists.txt @@ -12,9 +12,8 @@ cmake_minimum_required(VERSION 3.8...3.14 FATAL_ERROR) #Find the VTK-m package find_package(VTKm REQUIRED QUIET) -if(TARGET vtkm::cuda) - set_source_files_properties(lagrangian.cxx PROPERTIES LANGUAGE "CUDA") -endif() - add_executable(Lagrangian lagrangian.cxx ABCfield.h) target_link_libraries(Lagrangian PRIVATE vtkm_filter) +vtkm_add_target_information(Lagrangian + MODIFY_CUDA_FLAGS + DEVICE_SOURCES Lagrangian.cxx) diff --git a/examples/multi_backend/CMakeLists.txt b/examples/multi_backend/CMakeLists.txt index 8b53971d6..11edc475a 100644 --- a/examples/multi_backend/CMakeLists.txt +++ b/examples/multi_backend/CMakeLists.txt @@ -29,9 +29,8 @@ set(srcs MultiBackend.cxx ) -if(TARGET vtkm::cuda) - set_source_files_properties(${device_srcs} PROPERTIES LANGUAGE "CUDA") -endif() - add_executable(MultiBackend ${device_srcs} ${srcs} ${headers}) target_link_libraries(MultiBackend PRIVATE vtkm_filter Threads::Threads) +vtkm_add_target_information(MultiBackend + MODIFY_CUDA_FLAGS + DEVICE_SOURCES ${device_srcs}) diff --git a/examples/oscillator/CMakeLists.txt b/examples/oscillator/CMakeLists.txt index 74cfa28bc..a51676a94 100644 --- a/examples/oscillator/CMakeLists.txt +++ b/examples/oscillator/CMakeLists.txt @@ -13,9 +13,8 @@ project(Oscillator CXX) #Find the VTK-m package find_package(VTKm REQUIRED QUIET) -if (TARGET vtkm::cuda) - set_source_files_properties(Oscillator.cxx PROPERTIES LANGUAGE "CUDA") -endif() - add_executable(Oscillator Oscillator.cxx) target_link_libraries(Oscillator PRIVATE vtkm_filter) +vtkm_add_target_information(Oscillator + MODIFY_CUDA_FLAGS + DEVICE_SOURCES Oscillator.cxx) diff --git a/examples/particle_advection/CMakeLists.txt b/examples/particle_advection/CMakeLists.txt index f0b294a2d..739d67b98 100644 --- a/examples/particle_advection/CMakeLists.txt +++ b/examples/particle_advection/CMakeLists.txt @@ -15,11 +15,9 @@ find_package(VTKm REQUIRED QUIET) add_executable(Particle_Advection ParticleAdvection.cxx) target_link_libraries(Particle_Advection PRIVATE vtkm_filter) - +vtkm_add_target_information(Particle_Advection + MODIFY_CUDA_FLAGS + DEVICE_SOURCES ParticleAdvection.cxx) if(TARGET vtkm::tbb) target_compile_definitions(Particle_Advection PRIVATE BUILDING_TBB_VERSION) endif() - -if(TARGET vtkm::cuda) - set_source_files_properties(ParticleAdvection.cxx PROPERTIES LANGUAGE "CUDA") -endif() diff --git a/examples/redistribute_points/CMakeLists.txt b/examples/redistribute_points/CMakeLists.txt index 542018334..42f1a4564 100644 --- a/examples/redistribute_points/CMakeLists.txt +++ b/examples/redistribute_points/CMakeLists.txt @@ -14,7 +14,6 @@ project(RedistributePoints CXX) find_package(VTKm REQUIRED QUIET) add_executable(RedistributePoints RedistributePoints.cxx RedistributePoints.h) target_link_libraries(RedistributePoints PRIVATE vtkm_filter) - -if(TARGET vtkm::cuda) - set_source_files_properties(RedistributePoints.cxx PROPERTIES LANGUAGE "CUDA") -endif() +vtkm_add_target_information(RedistributePoints + MODIFY_CUDA_FLAGS + DEVICE_SOURCES RedistributePoints.cxx) diff --git a/examples/streamline/CMakeLists.txt b/examples/streamline/CMakeLists.txt index 073bb5bd8..217d49481 100644 --- a/examples/streamline/CMakeLists.txt +++ b/examples/streamline/CMakeLists.txt @@ -22,9 +22,7 @@ if(TARGET OpenGL::GL AND add_executable(StreamLineUniformGrid StreamLineUniformGrid.cxx) target_link_libraries(StreamLineUniformGrid PRIVATE vtkm_filter ${gl_libs}) - - if(TARGET vtkm::cuda) - set_source_files_properties(StreamLineUniformGrid.cxx PROPERTIES LANGUAGE "CUDA") - endif() - + vtkm_add_target_information(StreamLineUniformGrid + MODIFY_CUDA_FLAGS + DEVICE_SOURCES StreamLineUniformGrid.cxx) endif() diff --git a/examples/tau_timing/CMakeLists.txt b/examples/tau_timing/CMakeLists.txt index ae94d8fc7..e937610f4 100644 --- a/examples/tau_timing/CMakeLists.txt +++ b/examples/tau_timing/CMakeLists.txt @@ -16,9 +16,8 @@ find_package(VTKm REQUIRED QUIET) if(TARGET vtkm_rendering) add_executable(Tau_timing TauTiming.cxx) + vtkm_add_target_information(Tau_timing + MODIFY_CUDA_FLAGS + DEVICE_SOURCES TauTiming.cxx) target_link_libraries(Tau_timing vtkm_cont) - - if(TARGET vtkm::cuda) - set_source_files_properties(TauTiming.cxx PROPERTIES LANGUAGE "CUDA") - endif() endif() diff --git a/examples/temporal_advection/CMakeLists.txt b/examples/temporal_advection/CMakeLists.txt index 191c9bf7d..5fdb43594 100644 --- a/examples/temporal_advection/CMakeLists.txt +++ b/examples/temporal_advection/CMakeLists.txt @@ -16,8 +16,7 @@ project(TemporalAdvection CXX) find_package(VTKm REQUIRED QUIET) add_executable(Temporal_Advection TemporalAdvection.cxx) +vtkm_add_target_information(Temporal_Advection + MODIFY_CUDA_FLAGS + DEVICE_SOURCES TemporalAdvection.cxx) target_link_libraries(Temporal_Advection PRIVATE vtkm_filter) - -if(TARGET vtkm::cuda) - set_source_files_properties(TemporalAdvection.cxx PROPERTIES LANGUAGE "CUDA") -endif() diff --git a/examples/tetrahedra/CMakeLists.txt b/examples/tetrahedra/CMakeLists.txt index ece07c8bd..8457dc6ce 100644 --- a/examples/tetrahedra/CMakeLists.txt +++ b/examples/tetrahedra/CMakeLists.txt @@ -30,11 +30,17 @@ if(TARGET OpenGL::GL AND target_link_libraries(TetrahedralizeUniformGrid PRIVATE vtkm_filter ${gl_libs}) target_link_libraries(TriangulateUniformGrid PRIVATE vtkm_filter ${gl_libs}) - if(TARGET vtkm::cuda) - set_source_files_properties(TetrahedralizeExplicitGrid.cxx - TriangulateExplicitGrid.cxx - TetrahedralizeUniformGrid.cxx - TriangulateUniformGrid.cxx PROPERTIES LANGUAGE "CUDA") - endif() + vtkm_add_target_information(TetrahedralizeExplicitGrid + MODIFY_CUDA_FLAGS + DEVICE_SOURCES TetrahedralizeExplicitGrid.cxx) + vtkm_add_target_information(TriangulateExplicitGrid + MODIFY_CUDA_FLAGS + DEVICE_SOURCES TriangulateExplicitGrid.cxx) + vtkm_add_target_information(TetrahedralizeUniformGrid + MODIFY_CUDA_FLAGS + DEVICE_SOURCES TetrahedralizeUniformGrid.cxx) + vtkm_add_target_information(TriangulateUniformGrid + MODIFY_CUDA_FLAGS + DEVICE_SOURCES TriangulateUniformGrid.cxx) endif() diff --git a/examples/unified_memory/CMakeLists.txt b/examples/unified_memory/CMakeLists.txt index 44b1140f6..84d92e3d5 100644 --- a/examples/unified_memory/CMakeLists.txt +++ b/examples/unified_memory/CMakeLists.txt @@ -16,5 +16,6 @@ find_package(VTKm REQUIRED QUIET) if(TARGET vtkm::cuda) add_executable(UnifiedMemory_CUDA UnifiedMemory.cu) target_link_libraries(UnifiedMemory_CUDA PRIVATE vtkm_filter) + vtkm_add_target_information(UnifiedMemory_CUDA MODIFY_CUDA_FLAGS) endif()