blob: ba9ef773ebbfdb9acc20f6058e691e95bd7f899c [file] [edit]
function(add_sycl_unittest test_name)
# Enable exception handling for these unit tests
set(LLVM_REQUIRES_EH ON)
set(LLVM_REQUIRES_RTTI ON)
add_unittest(LibsyclUnitTests ${test_name}
$<TARGET_OBJECTS:${LIBSYCL_OBJ_TARGET}> ${ARGN})
target_compile_definitions(${test_name}
PRIVATE _LIBSYCL_BUILDING_LIBRARY)
# Use a common suffix so the test executables can be discovered and run by
# lit's GoogleTest format (see unittests/lit.cfg.py).
set_target_properties(${test_name} PROPERTIES OUTPUT_NAME ${test_name}.unittests)
target_link_libraries(${test_name}
PRIVATE
ol_mock
# required for fake device images creation
LLVMFrontendOffloading
LLVMObject
LLVMSupport
)
target_include_directories(${test_name}
PRIVATE SYSTEM
${LIBSYCL_BUILD_INCLUDE_DIR}
${LIBSYCL_SOURCE_DIR}/src/
${LIBSYCL_SOURCE_DIR}/unittests/
$<TARGET_PROPERTY:LLVMOffload,INTERFACE_INCLUDE_DIRECTORIES>
${LLVM_MAIN_INCLUDE_DIR}
)
if (UNIX)
# These warnings are coming from Google Test code.
target_compile_options(${test_name}
PRIVATE
-Wno-unused-parameter
-Wno-inconsistent-missing-override
)
endif()
endfunction()