function(zfp_add_test dims type bits) if(NOT DEFINED ZFP_OMP_TESTS_ONLY) set(serial_test_name testZfpSerial${dims}d${type}) add_executable(${serial_test_name} ${serial_test_name}.c) target_link_libraries(${serial_test_name} cmocka zfp zfpHashLib genSmoothRandNumsLib stridedOperationsLib zfpChecksumsLib zfpCompressionParamsLib zfpTimerLib) if(HAVE_LIBM_MATH) target_link_libraries(${serial_test_name} m) endif() target_compile_definitions(${serial_test_name} PRIVATE ${zfp_private_defs}) if(PRINT_CHECKSUMS) target_compile_definitions(${serial_test_name} PUBLIC PRINT_CHECKSUMS) endif() add_test(NAME ${serial_test_name} COMMAND ${serial_test_name}) endif() if(ZFP_WITH_OPENMP) set(omp_test_name testZfpOmp${dims}d${type}) add_executable(${omp_test_name} ${omp_test_name}.c) target_compile_definitions(${omp_test_name} PRIVATE ${zfp_private_defs}) target_link_libraries(${omp_test_name} cmocka zfp zfpHashLib genSmoothRandNumsLib stridedOperationsLib zfpChecksumsLib zfpTimerLib zfpCompressionParamsLib OpenMP::OpenMP_C) if(HAVE_LIBM_MATH) target_link_libraries(${omp_test_name} m) endif() add_test(NAME ${omp_test_name} COMMAND ${omp_test_name}) set_property(TEST ${omp_test_name} PROPERTY RUN_SERIAL TRUE) endif() if(NOT DEFINED ZFP_OMP_TESTS_ONLY) if(ZFP_WITH_CUDA) add_definitions(-DZFP_WITH_CUDA) set(cuda_test_name testZfpCuda${dims}d${type}) add_executable(${cuda_test_name} ${cuda_test_name}.c) target_compile_definitions(${cuda_test_name} PRIVATE ${zfp_private_defs}) target_link_libraries(${cuda_test_name} cmocka zfp zfpHashLib genSmoothRandNumsLib stridedOperationsLib zfpChecksumsLib zfpTimerLib zfpCompressionParamsLib) if(HAVE_LIBM_MATH) target_link_libraries(${cuda_test_name} m) endif() add_test(NAME ${cuda_test_name} COMMAND ${cuda_test_name}) set_property(TEST ${cuda_test_name} PROPERTY RUN_SERIAL TRUE) endif() endif() endfunction() zfp_add_test(1 Int32 32) zfp_add_test(1 Int64 64) zfp_add_test(2 Int32 32) zfp_add_test(2 Int64 64) zfp_add_test(3 Int32 32) zfp_add_test(3 Int64 64) zfp_add_test(4 Int32 32) zfp_add_test(4 Int64 64) zfp_add_test(1 Float 32) zfp_add_test(1 Double 64) zfp_add_test(2 Float 32) zfp_add_test(2 Double 64) zfp_add_test(3 Float 32) zfp_add_test(3 Double 64) zfp_add_test(4 Float 32) zfp_add_test(4 Double 64)