Simplify how we built the list of source files for vtkm_cont

This commit is contained in:
Robert Maynard 2018-01-17 17:13:50 -05:00
parent d1f0b621ab
commit 9c668b61e0
4 changed files with 26 additions and 50 deletions

@ -124,33 +124,27 @@ set(device_sources
)
#-----------------------------------------------------------------------------
add_subdirectory(internal)
add_subdirectory(arg)
set(backends )
add_subdirectory(serial)
list(APPEND sources $<TARGET_OBJECTS:vtkm_cont_serial>)
add_subdirectory(tbb)
if(TARGET vtkm::tbb)
list(APPEND sources $<TARGET_OBJECTS:vtkm_cont_tbb>)
list(APPEND backends vtkm::tbb)
endif()
add_subdirectory(cuda)
if(TARGET vtkm::cuda)
list(APPEND sources $<TARGET_OBJECTS:vtkm_cont_cuda>)
list(APPEND backends vtkm::cuda)
endif()
vtkm_library( NAME vtkm_cont
SOURCES ${sources}
TEMPLATE_SOURCES ${template_sources}
HEADERS ${headers}
WRAP_FOR_CUDA ${device_sources}
)
add_subdirectory(internal)
add_subdirectory(arg)
add_subdirectory(serial)
add_subdirectory(tbb)
add_subdirectory(cuda)
set(backends )
if(TARGET vtkm::tbb)
list(APPEND backends vtkm::tbb)
endif()
if(TARGET vtkm::cuda)
list(APPEND backends vtkm::cuda)
endif()
target_link_libraries(vtkm_cont PUBLIC vtkm_compiler_flags ${backends})
if(VTKm_ENABLE_MPI)
if(TARGET vtkm_diy)
# This will become a required dependency eventually.
target_link_libraries(vtkm_cont PUBLIC vtkm_diy)
endif()

@ -37,13 +37,7 @@ if (NOT VTKm_ENABLE_CUDA)
return()
endif()
add_library(vtkm_cont_cuda OBJECT
ArrayManagerExecutionCuda.cu
CudaAllocator.cu
)
target_compile_definitions(vtkm_cont_cuda PRIVATE vtkm_cont_EXPORTS)
target_compile_options(vtkm_cont_cuda PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_OPTIONS>)
target_compile_definitions(vtkm_cont_cuda PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_DEFINITIONS>)
target_compile_features(vtkm_cont_cuda PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_FEATURES>)
target_include_directories(vtkm_cont_cuda PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_INCLUDE_DIRECTORIES>)
set_property(TARGET vtkm_cont_cuda PROPERTY POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS})
target_sources(vtkm_cont PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/ArrayManagerExecutionCuda.cu
${CMAKE_CURRENT_SOURCE_DIR}/CudaAllocator.cu
)

@ -26,13 +26,7 @@ set(headers
)
vtkm_declare_headers(${headers})
add_library(vtkm_cont_serial OBJECT
ArrayManagerExecutionSerial.cxx
DeviceAdapterAlgorithmSerial.cxx
)
target_compile_definitions(vtkm_cont_serial PRIVATE vtkm_cont_EXPORTS)
target_compile_options(vtkm_cont_serial PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_OPTIONS>)
target_compile_definitions(vtkm_cont_serial PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_DEFINITIONS>)
target_compile_features(vtkm_cont_serial PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_FEATURES>)
target_include_directories(vtkm_cont_serial PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_INCLUDE_DIRECTORIES>)
set_property(TARGET vtkm_cont_serial PROPERTY POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS})
target_sources(vtkm_cont PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/ArrayManagerExecutionSerial.cxx
${CMAKE_CURRENT_SOURCE_DIR}/DeviceAdapterAlgorithmSerial.cxx
)

@ -42,13 +42,7 @@ if (NOT VTKm_ENABLE_TBB)
return()
endif()
add_library(vtkm_cont_tbb OBJECT
ArrayManagerExecutionTBB.cxx
DeviceAdapterAlgorithmTBB.cxx
)
target_compile_definitions(vtkm_cont_tbb PRIVATE vtkm_cont_EXPORTS)
target_compile_options(vtkm_cont_tbb PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_OPTIONS>)
target_compile_definitions(vtkm_cont_tbb PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_DEFINITIONS>)
target_compile_features(vtkm_cont_tbb PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_COMPILE_FEATURES>)
target_include_directories(vtkm_cont_tbb PRIVATE $<TARGET_PROPERTY:vtkm_cont,INTERFACE_INCLUDE_DIRECTORIES>)
set_property(TARGET vtkm_cont_tbb PROPERTY POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS})
target_sources(vtkm_cont PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/ArrayManagerExecutionTBB.cxx
${CMAKE_CURRENT_SOURCE_DIR}/DeviceAdapterAlgorithmTBB.cxx
)