Index: test-suite/trunk/Bitcode/simd_ops/CMakeLists.txt =================================================================== --- test-suite/trunk/Bitcode/simd_ops/CMakeLists.txt +++ test-suite/trunk/Bitcode/simd_ops/CMakeLists.txt @@ -6,14 +6,19 @@ SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/simd_op_check_runtime.bc PROPERTIES LANGUAGE CXX) list(APPEND LDFLAGS -lpthread -ldl) +add_library(simd_ops STATIC simd_ops.cpp ${ARCH}_halide_runtime.bc) +target_link_libraries(simd_ops) +test_suite_add_build_dependencies(simd_ops) +set_target_properties(simd_ops PROPERTIES LINKER_LANGUAGE CXX) foreach(sourcebc ${uosources}) string(REGEX REPLACE ".[cp]+$" "" pathbc ${sourcebc}) string(REGEX REPLACE ".*/" "" namebc ${pathbc}) string(REPLACE "." "" namebc ${namebc}) - set(Source ${CMAKE_CURRENT_SOURCE_DIR}/simd_ops.cpp ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_halide_runtime.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_tests/${namebc}.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_scalar_tests/scalar_${namebc}.bc) + set(Source ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_halide_runtime.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_tests/${namebc}.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_scalar_tests/scalar_${namebc}.bc) set(PROG simd_ops_${namebc}) llvm_multisource() + target_link_libraries(${PROG} simd_ops) endforeach() Index: test-suite/trunk/cmake/modules/SingleMultiSource.cmake =================================================================== --- test-suite/trunk/cmake/modules/SingleMultiSource.cmake +++ test-suite/trunk/cmake/modules/SingleMultiSource.cmake @@ -118,6 +118,13 @@ llvm_add_test(${testfile} ${executable}) endfunction() +macro (test_suite_add_build_dependencies executable) + if (NOT TEST_SUITE_USE_PERF) + add_dependencies(${executable} timeit-target) + endif() + add_dependencies(${executable} timeit-host fpcmp-host) +endmacro() + macro(test_suite_add_executable name mainsource) list(FIND PROGRAMS_TO_SKIP ${name} name_idx) # Should we skip this? @@ -145,10 +152,7 @@ else() llvm_add_test(${executable_path}.test ${executable_path}) endif() - if (NOT TEST_SUITE_USE_PERF) - add_dependencies(${executable} timeit-target) - endif() - add_dependencies(${executable} timeit-host fpcmp-host) + test_suite_add_build_dependencies(${executable}) endif() endmacro()