Commit 4003b5fc authored by Robert Maynard's avatar Robert Maynard Committed by Kitware Robot

Merge topic 'remove_test_builds'

4ec5bae0 Remove VTK-m TestBuild infrastructure
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland's avatarKenneth Moreland <kmorel@sandia.gov>
Merge-request: !1518
parents 5cf2a21d 4ec5bae0
......@@ -96,86 +96,6 @@ function(vtkm_compile_as_cuda output)
set(${output} ${_cuda_srcs} PARENT_SCOPE)
endfunction()
#-----------------------------------------------------------------------------
function(vtkm_add_header_build_test name dir_prefix use_cuda)
set(hfiles ${ARGN})
#only attempt to add a test build executable if we have any headers to
#test. this might not happen when everything depends on thrust.
list(LENGTH hfiles num_srcs)
if (${num_srcs} EQUAL 0)
return()
endif()
set(ext "cxx")
if(use_cuda)
set(ext "cu")
endif()
set(srcs)
foreach (header ${hfiles})
get_source_file_property(cant_be_tested ${header} VTKm_CANT_BE_HEADER_TESTED)
if( NOT cant_be_tested )
string(REPLACE "/" "_" headername "${header}")
string(REPLACE "." "_" headername "${headername}")
set(src ${CMAKE_CURRENT_BINARY_DIR}/TB_${headername}.${ext})
#By using file generate we will not trigger CMake execution when
#a header gets touched
file(GENERATE
OUTPUT ${src}
CONTENT "
//mark that we are including headers as test for completeness.
//This is used by headers that include thrust to properly define a proper
//device backend / system
#define VTKM_TEST_HEADER_BUILD
#include <${dir_prefix}/${header}>
int ${headername}_${headerextension}_testbuild_symbol;"
)
list(APPEND srcs ${src})
endif()
endforeach()
set_source_files_properties(${hfiles}
PROPERTIES HEADER_FILE_ONLY TRUE
)
if(TARGET TestBuild_${name})
#If the target already exists just add more sources to it
target_sources(TestBuild_${name} PRIVATE ${srcs})
else()
add_library(TestBuild_${name} STATIC ${srcs} ${hfiles})
# Send the libraries created for test builds to their own directory so as to
# not pollute the directory with useful libraries.
set_property(TARGET TestBuild_${name} PROPERTY ARCHIVE_OUTPUT_DIRECTORY ${VTKm_LIBRARY_OUTPUT_PATH}/testbuilds)
set_property(TARGET TestBuild_${name} PROPERTY LIBRARY_OUTPUT_DIRECTORY ${VTKm_LIBRARY_OUTPUT_PATH}/testbuilds)
target_link_libraries(TestBuild_${name}
PRIVATE
$<BUILD_INTERFACE:vtkm_developer_flags>
vtkm_compiler_flags
vtkm_taotuple
)
if(TARGET vtkm::tbb)
#make sure that we have the tbb include paths when tbb is enabled.
target_link_libraries(TestBuild_${name} PRIVATE vtkm::tbb)
endif()
if(TARGET vtkm_diy)
target_link_libraries(TestBuild_${name} PRIVATE vtkm_diy)
endif()
if(TARGET vtkm_rendering_gl_context)
target_link_libraries(TestBuild_${name} PRIVATE vtkm_rendering_gl_context)
endif()
endif()
endfunction()
#-----------------------------------------------------------------------------
function(vtkm_generate_export_header lib_name)
# Get the location of this library in the directory structure
......@@ -229,36 +149,15 @@ endfunction(vtkm_install_headers)
#-----------------------------------------------------------------------------
function(vtkm_declare_headers)
#TODO: look at the testable and cuda options
set(options CUDA)
set(oneValueArgs TESTABLE)
set(multiValueArgs EXCLUDE_FROM_TESTING)
set(oneValueArgs)
set(multiValueArgs)
cmake_parse_arguments(VTKm_DH "${options}"
"${oneValueArgs}" "${multiValueArgs}"
${ARGN}
)
#The testable keyword allows the caller to turn off the header testing,
#mainly used so that backends can be installed even when they can't be
#built on the machine.
#Since this is an optional property not setting it means you do want testing
if(NOT DEFINED VTKm_DH_TESTABLE)
set(VTKm_DH_TESTABLE ON)
endif()
set(hfiles ${VTKm_DH_UNPARSED_ARGUMENTS} ${VTKm_DH_EXCLUDE_FROM_TESTING})
vtkm_get_kit_name(name dir_prefix)
#only do header testing if enable testing is turned on
if (VTKm_ENABLE_TESTING AND VTKm_DH_TESTABLE)
set_source_files_properties(${VTKm_DH_EXCLUDE_FROM_TESTING}
PROPERTIES VTKm_CANT_BE_HEADER_TESTED TRUE
)
vtkm_add_header_build_test(
"${name}" "${dir_prefix}" "${VTKm_DH_CUDA}" ${hfiles})
endif()
vtkm_install_headers("${dir_prefix}" ${hfiles})
endfunction(vtkm_declare_headers)
......
......@@ -75,8 +75,6 @@ vtkm_pyexpander_generated_file(Math.h)
vtkm_declare_headers(
${headers}
${template_sources}
EXCLUDE_FROM_TESTING
${template_sources}
)
#-----------------------------------------------------------------------------
......
......@@ -26,7 +26,7 @@ set(headers
#-----------------------------------------------------------------------------
add_subdirectory(internal)
vtkm_declare_headers(CUDA ${headers} TESTABLE ${VTKm_ENABLE_CUDA})
vtkm_declare_headers(CUDA ${headers})
#-----------------------------------------------------------------------------
if (TARGET vtkm::cuda)
......
......@@ -33,7 +33,7 @@ set(headers
VirtualObjectTransferCuda.h
)
vtkm_declare_headers(CUDA ${headers} TESTABLE ${VTKm_ENABLE_CUDA})
vtkm_declare_headers(CUDA ${headers})
if (TARGET vtkm::cuda)
......
......@@ -24,7 +24,7 @@ set(headers
add_subdirectory(internal)
vtkm_declare_headers(${headers} TESTABLE ${VTKm_ENABLE_OPENMP})
vtkm_declare_headers(${headers})
#-----------------------------------------------------------------------------
if (TARGET vtkm::openmp)
......
......@@ -32,7 +32,7 @@ set(headers
VirtualObjectTransferOpenMP.h
)
vtkm_declare_headers(${headers} TESTABLE ${VTKm_ENABLE_OPENMP})
vtkm_declare_headers(${headers})
#These sources need to always be built
target_sources(vtkm_cont PRIVATE
......
......@@ -24,7 +24,7 @@ set(headers
add_subdirectory(internal)
vtkm_declare_headers(${headers} TESTABLE ${VTKm_ENABLE_TBB})
vtkm_declare_headers(${headers})
#-----------------------------------------------------------------------------
if (TARGET vtkm::tbb)
......
......@@ -29,11 +29,10 @@ set(headers
VirtualObjectTransferTBB.h
)
vtkm_declare_headers(ParallelSortTBB.hxx
parallel_sort.h
TESTABLE OFF)
vtkm_declare_headers(${headers} TESTABLE ${VTKm_ENABLE_TBB})
vtkm_declare_headers(${headers}
ParallelSortTBB.hxx
parallel_sort.h
)
#These sources need to always be built
target_sources(vtkm_cont PRIVATE
......
......@@ -53,8 +53,9 @@ set(header_impls
add_subdirectory(internal)
add_subdirectory(arg)
vtkm_declare_headers(${headers})
vtkm_declare_headers(${header_impls} TESTABLE OFF)
vtkm_declare_headers(${headers}
${header_impls}
)
#-----------------------------------------------------------------------------
......
......@@ -28,7 +28,7 @@ set(headers
)
#-----------------------------------------------------------------------------
vtkm_declare_headers(CUDA ${headers} TESTABLE ${VTKm_ENABLE_CUDA})
vtkm_declare_headers(CUDA ${headers})
set_source_files_properties(ThrustPatches.h
PROPERTIES VTKm_CANT_BE_HEADER_TESTED TRUE)
......
......@@ -133,9 +133,7 @@ set(header_template_sources
ZFPDecompressor3D.hxx
)
vtkm_declare_headers(${headers}
EXCLUDE_FROM_TESTING ${header_template_sources}
)
vtkm_declare_headers(${headers})
add_subdirectory(internal)
......
......@@ -24,7 +24,7 @@ set(headers
)
#-----------------------------------------------------------------------------
vtkm_declare_headers(${headers} TESTABLE FALSE)
vtkm_declare_headers(${headers})
if(VTKm_ENABLE_TESTING AND TARGET vtkm_rendering)
add_subdirectory(testing)
......
......@@ -23,7 +23,7 @@ set(headers
)
#-----------------------------------------------------------------------------
vtkm_declare_headers(CUDA ${headers} TESTABLE FALSE)
vtkm_declare_headers(CUDA ${headers})
add_subdirectory(internal)
......
......@@ -24,4 +24,4 @@ set(headers
#-----------------------------------------------------------------------------
# Disable test builds because we'd need to link OpenGL libraries.
vtkm_declare_headers(CUDA ${headers} TESTABLE FALSE)
vtkm_declare_headers(CUDA ${headers})
......@@ -25,7 +25,7 @@ set(headers
)
#-----------------------------------------------------------------------------
vtkm_declare_headers(${headers} TESTABLE FALSE)
vtkm_declare_headers(${headers})
#-----------------------------------------------------------------------------
if(TARGET vtkm_rendering)
......
......@@ -22,7 +22,7 @@ set(headers
TestingOpenGLInterop.h
TestingTransferFancyHandles.h
)
vtkm_declare_headers(${headers} TESTABLE FALSE)
vtkm_declare_headers(${headers})
if(NOT TARGET GLUT::GLUT)
......
......@@ -115,8 +115,9 @@ add_subdirectory(wavelets)
add_subdirectory(particleadvection)
add_subdirectory(zfp)
vtkm_declare_headers(${headers})
vtkm_declare_headers(${header_impls} TESTABLE OFF)
vtkm_declare_headers(${headers}
${header_impls}
)
#-----------------------------------------------------------------------------
......
......@@ -86,7 +86,6 @@ set(extra_headers
#1. vtkm_declare_headers will do a flat install into the current respective
# build directory
vtkm_get_kit_name(name dir_prefix)
vtkm_add_header_build_test(${name} ${dir_prefix} FALSE ${extra_headers})
vtkm_install_headers("${dir_prefix}/freudenthal_2D" freudenthal_2D/Types.h)
vtkm_install_headers("${dir_prefix}/freudenthal_3D" freudenthal_3D/Types.h)
vtkm_install_headers("${dir_prefix}/marchingcubes_3D" marchingcubes_3D/Types.h)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment