Skip to content

Commit f9703ec

Browse files
committed
[Unit tests] skip BLAS and LAPACK unit tests if Netlib is not found
1 parent afb9d5c commit f9703ec

File tree

7 files changed

+68
-44
lines changed

7 files changed

+68
-44
lines changed

tests/unit_tests/CMakeLists.txt

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,21 @@
1818
#===============================================================================
1919

2020
if("blas" IN_LIST TARGET_DOMAINS)
21-
find_package(CBLAS REQUIRED)
21+
find_package(CBLAS)
22+
if(NOT CBLAS_FOUND)
23+
# TODO: add list of tests without Netlib dependency
24+
message(WARNING "Netlib CBLAS headers or libraries are not found, BLAS unit tests will be skipped")
25+
list(REMOVE_ITEM TARGET_DOMAINS "blas")
26+
endif()
2227
endif()
2328

2429
if("lapack" IN_LIST TARGET_DOMAINS)
25-
find_package(LAPACKE REQUIRED)
30+
find_package(LAPACKE)
31+
if(NOT LAPACKE_FOUND)
32+
# TODO: add list of tests without Netlib dependency
33+
message(WARNING "Netlib LAPACKE headers or libraries are not found, LAPACK unit tests will be skipped")
34+
list(REMOVE_ITEM TARGET_DOMAINS "lapack")
35+
endif()
2636
endif()
2737

2838
foreach(domain ${TARGET_DOMAINS})
@@ -50,7 +60,9 @@ set(blas_TEST_LINK "")
5060
set(lapack_TEST_LIST
5161
lapack_source)
5262

53-
set(lapack_TEST_LINK ${LAPACKE_LINK})
63+
if(LAPACKE_FOUND)
64+
set(lapack_TEST_LINK ${LAPACKE_LINK})
65+
endif()
5466

5567
# RNG config
5668
set(rng_TEST_LIST
@@ -195,7 +207,7 @@ foreach(domain ${TARGET_DOMAINS})
195207

196208
string(TOUPPER ${domain} DOMAIN_PREFIX)
197209

198-
if(domain STREQUAL "blas")
210+
if(domain STREQUAL "blas" AND CBLAS_FOUND)
199211
set(TEST_LD_LIBRARY_PATH ${CMAKE_BINARY_DIR}/lib:${CBLAS_LIB_DIR}:$ENV{LD_LIBRARY_PATH})
200212
else()
201213
set(TEST_LD_LIBRARY_PATH ${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH})

tests/unit_tests/blas/batch/CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,40 @@
1818
#===============================================================================
1919

2020
# Build object from all test sources
21-
set(BATCH_SOURCES "copy_batch_stride.cpp" "axpy_batch_stride.cpp" "dgmm_batch_stride.cpp" "gemm_batch_stride.cpp" "gemv_batch_stride.cpp" "trsm_batch_stride.cpp" "syrk_batch_stride.cpp" "copy_batch_usm.cpp" "copy_batch_stride_usm.cpp" "axpy_batch_usm.cpp" "axpy_batch_stride_usm.cpp" "dgmm_batch_usm.cpp" "dgmm_batch_stride_usm.cpp" "gemm_batch_usm.cpp" "gemm_batch_stride_usm.cpp" "gemv_batch_usm.cpp" "gemv_batch_stride_usm.cpp" "trsm_batch_usm.cpp" "trsm_batch_stride_usm.cpp" "syrk_batch_usm.cpp" "syrk_batch_stride_usm.cpp" "omatcopy_batch_stride.cpp" "omatcopy_batch_stride_usm.cpp" "imatcopy_batch_stride.cpp" "imatcopy_batch_stride_usm.cpp" "omatadd_batch_stride.cpp" "omatadd_batch_stride_usm.cpp" "omatcopy_batch_usm.cpp" "imatcopy_batch_usm.cpp")
21+
set(BATCH_SOURCES_W_CBLAS "copy_batch_stride.cpp" "axpy_batch_stride.cpp" "dgmm_batch_stride.cpp" "gemm_batch_stride.cpp" "gemv_batch_stride.cpp" "trsm_batch_stride.cpp" "syrk_batch_stride.cpp" "copy_batch_usm.cpp" "copy_batch_stride_usm.cpp" "axpy_batch_usm.cpp" "axpy_batch_stride_usm.cpp" "dgmm_batch_usm.cpp" "dgmm_batch_stride_usm.cpp" "gemm_batch_usm.cpp" "gemm_batch_stride_usm.cpp" "gemv_batch_usm.cpp" "gemv_batch_stride_usm.cpp" "trsm_batch_usm.cpp" "trsm_batch_stride_usm.cpp" "syrk_batch_usm.cpp" "syrk_batch_stride_usm.cpp" "omatcopy_batch_stride.cpp" "omatcopy_batch_stride_usm.cpp" "imatcopy_batch_stride.cpp" "imatcopy_batch_stride_usm.cpp" "omatadd_batch_stride.cpp" "omatadd_batch_stride_usm.cpp" "omatcopy_batch_usm.cpp" "imatcopy_batch_usm.cpp")
22+
# TODO: add list of tests without Netlib dependency
23+
set(BATCH_SOURCES)
2224

2325
if(BUILD_SHARED_LIBS)
24-
add_library(blas_batch_rt OBJECT ${BATCH_SOURCES})
26+
add_library(blas_batch_rt OBJECT $<$<BOOL:${CBLAS_FOUND}>:${BATCH_SOURCES_W_CBLAS}> ${BATCH_SOURCES})
2527
target_compile_options(blas_batch_rt PRIVATE -DCALL_RT_API -DNOMINMAX)
2628
target_include_directories(blas_batch_rt
2729
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
2830
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
2931
PUBLIC ${PROJECT_SOURCE_DIR}/include
3032
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
3133
PUBLIC ${CMAKE_BINARY_DIR}/bin
32-
PUBLIC ${CBLAS_INCLUDE}
34+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
3335
)
3436
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
35-
add_sycl_to_target(TARGET blas_batch_rt SOURCES ${BATCH_SOURCES})
37+
add_sycl_to_target(TARGET blas_batch_rt SOURCES $<$<BOOL:${CBLAS_FOUND}>:${BATCH_SOURCES_W_CBLAS}> ${BATCH_SOURCES})
3638
else()
3739
target_link_libraries(blas_batch_rt PUBLIC ONEMKL::SYCL::SYCL)
3840
endif()
3941
endif()
4042

41-
add_library(blas_batch_ct OBJECT ${BATCH_SOURCES})
43+
add_library(blas_batch_ct OBJECT $<$<BOOL:${CBLAS_FOUND}>:${BATCH_SOURCES_W_CBLAS}> ${BATCH_SOURCES})
4244
target_compile_options(blas_batch_ct PRIVATE -DNOMINMAX)
4345
target_include_directories(blas_batch_ct
4446
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
4547
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
4648
PUBLIC ${PROJECT_SOURCE_DIR}/include
4749
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
4850
PUBLIC ${CMAKE_BINARY_DIR}/bin
49-
PUBLIC ${CBLAS_INCLUDE}
51+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
5052
)
5153
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
52-
add_sycl_to_target(TARGET blas_batch_ct SOURCES ${BATCH_SOURCES})
54+
add_sycl_to_target(TARGET blas_batch_ct SOURCES $<$<BOOL:${CBLAS_FOUND}>:${BATCH_SOURCES_W_CBLAS}> ${BATCH_SOURCES})
5355
else()
5456
target_link_libraries(blas_batch_ct PUBLIC ONEMKL::SYCL::SYCL)
5557
endif()

tests/unit_tests/blas/extensions/CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,40 @@
1818
#===============================================================================
1919

2020
# Build object from all test sources
21-
set(EXTENSIONS_SOURCES "gemm_bias.cpp" "gemmt.cpp" "gemm_bias_usm.cpp" "gemmt_usm.cpp" "omatcopy.cpp" "omatcopy_usm.cpp" "imatcopy.cpp" "imatcopy_usm.cpp" "omatadd.cpp" "omatadd_usm.cpp" "omatcopy2.cpp" "omatcopy2_usm.cpp")
21+
set(EXTENSIONS_SOURCES_W_CBLAS "gemm_bias.cpp" "gemmt.cpp" "gemm_bias_usm.cpp" "gemmt_usm.cpp" "omatcopy.cpp" "omatcopy_usm.cpp" "imatcopy.cpp" "imatcopy_usm.cpp" "omatadd.cpp" "omatadd_usm.cpp" "omatcopy2.cpp" "omatcopy2_usm.cpp")
22+
# TODO: add list of tests without Netlib dependency
23+
set(EXTENSIONS_SOURCES)
2224

2325
if(BUILD_SHARED_LIBS)
24-
add_library(blas_extensions_rt OBJECT ${EXTENSIONS_SOURCES})
26+
add_library(blas_extensions_rt OBJECT $<$<BOOL:${CBLAS_FOUND}>:${EXTENSIONS_SOURCES_W_CBLAS}> ${EXTENSIONS_SOURCES})
2527
target_compile_options(blas_extensions_rt PRIVATE -DCALL_RT_API -DNOMINMAX)
2628
target_include_directories(blas_extensions_rt
2729
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
2830
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
2931
PUBLIC ${PROJECT_SOURCE_DIR}/include
3032
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
3133
PUBLIC ${CMAKE_BINARY_DIR}/bin
32-
PUBLIC ${CBLAS_INCLUDE}
34+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
3335
)
3436
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
35-
add_sycl_to_target(TARGET blas_extensions_rt SOURCES ${EXTENSIONS_SOURCES})
37+
add_sycl_to_target(TARGET blas_extensions_rt SOURCES $<$<BOOL:${CBLAS_FOUND}>:${EXTENSIONS_SOURCES_W_CBLAS}> ${EXTENSIONS_SOURCES})
3638
else()
3739
target_link_libraries(blas_extensions_rt PUBLIC ONEMKL::SYCL::SYCL)
3840
endif()
3941
endif()
4042

41-
add_library(blas_extensions_ct OBJECT ${EXTENSIONS_SOURCES})
43+
add_library(blas_extensions_ct OBJECT $<$<BOOL:${CBLAS_FOUND}>:${EXTENSIONS_SOURCES_W_CBLAS}> ${EXTENSIONS_SOURCES})
4244
target_compile_options(blas_extensions_ct PRIVATE -DNOMINMAX)
4345
target_include_directories(blas_extensions_ct
4446
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
4547
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
4648
PUBLIC ${PROJECT_SOURCE_DIR}/include
4749
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
4850
PUBLIC ${CMAKE_BINARY_DIR}/bin
49-
PUBLIC ${CBLAS_INCLUDE}
51+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
5052
)
5153
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
52-
add_sycl_to_target(TARGET blas_extensions_ct SOURCES ${EXTENSIONS_SOURCES})
54+
add_sycl_to_target(TARGET blas_extensions_ct SOURCES $<$<BOOL:${CBLAS_FOUND}>:${EXTENSIONS_SOURCES_W_CBLAS}> ${EXTENSIONS_SOURCES})
5355
else()
5456
target_link_libraries(blas_extensions_ct PUBLIC ONEMKL::SYCL::SYCL)
5557
endif()

tests/unit_tests/blas/level1/CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,40 @@
1818
#===============================================================================
1919

2020
# Build object from all test sources
21-
set(L1_SOURCES "nrm2.cpp" "iamin.cpp" "iamax.cpp" "dotu.cpp" "dot.cpp" "dotc.cpp" "copy.cpp" "axpy.cpp" "axpby.cpp" "asum.cpp" "swap.cpp" "sdsdot.cpp" "scal.cpp" "rotmg.cpp" "rotm.cpp" "rotg.cpp" "rot.cpp" "nrm2_usm.cpp" "iamin_usm.cpp" "iamax_usm.cpp" "dotu_usm.cpp" "dot_usm.cpp" "dotc_usm.cpp" "copy_usm.cpp" "axpy_usm.cpp" "axpby_usm.cpp" "asum_usm.cpp" "swap_usm.cpp" "sdsdot_usm.cpp" "scal_usm.cpp" "rotmg_usm.cpp" "rotm_usm.cpp" "rotg_usm.cpp" "rot_usm.cpp")
21+
set(L1_SOURCES_W_CBLAS "nrm2.cpp" "iamin.cpp" "iamax.cpp" "dotu.cpp" "dot.cpp" "dotc.cpp" "copy.cpp" "axpy.cpp" "axpby.cpp" "asum.cpp" "swap.cpp" "sdsdot.cpp" "scal.cpp" "rotmg.cpp" "rotm.cpp" "rotg.cpp" "rot.cpp" "nrm2_usm.cpp" "iamin_usm.cpp" "iamax_usm.cpp" "dotu_usm.cpp" "dot_usm.cpp" "dotc_usm.cpp" "copy_usm.cpp" "axpy_usm.cpp" "axpby_usm.cpp" "asum_usm.cpp" "swap_usm.cpp" "sdsdot_usm.cpp" "scal_usm.cpp" "rotmg_usm.cpp" "rotm_usm.cpp" "rotg_usm.cpp" "rot_usm.cpp")
22+
# TODO: add list of tests without Netlib dependency
23+
set(L1_SOURCES)
2224

2325
if(BUILD_SHARED_LIBS)
24-
add_library(blas_level1_rt OBJECT ${L1_SOURCES})
26+
add_library(blas_level1_rt OBJECT $<$<BOOL:${CBLAS_FOUND}>:${L1_SOURCES_W_CBLAS}> ${L1_SOURCES})
2527
target_compile_options(blas_level1_rt PRIVATE -DCALL_RT_API -DNOMINMAX)
2628
target_include_directories(blas_level1_rt
2729
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
2830
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
2931
PUBLIC ${PROJECT_SOURCE_DIR}/include
3032
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
3133
PUBLIC ${CMAKE_BINARY_DIR}/bin
32-
PUBLIC ${CBLAS_INCLUDE}
34+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
3335
)
3436
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
35-
add_sycl_to_target(TARGET blas_level1_rt SOURCES ${L1_SOURCES})
37+
add_sycl_to_target(TARGET blas_level1_rt SOURCES $<$<BOOL:${CBLAS_FOUND}>:${L1_SOURCES_W_CBLAS}> ${L1_SOURCES})
3638
else()
3739
target_link_libraries(blas_level1_rt PUBLIC ONEMKL::SYCL::SYCL)
3840
endif()
3941
endif()
4042

41-
add_library(blas_level1_ct OBJECT ${L1_SOURCES})
43+
add_library(blas_level1_ct OBJECT $<$<BOOL:${CBLAS_FOUND}>:${L1_SOURCES_W_CBLAS}> ${L1_SOURCES})
4244
target_compile_options(blas_level1_ct PRIVATE -DNOMINMAX)
4345
target_include_directories(blas_level1_ct
4446
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
4547
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
4648
PUBLIC ${PROJECT_SOURCE_DIR}/include
4749
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
4850
PUBLIC ${CMAKE_BINARY_DIR}/bin
49-
PUBLIC ${CBLAS_INCLUDE}
51+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
5052
)
5153
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
52-
add_sycl_to_target(TARGET blas_level1_ct SOURCES ${L1_SOURCES})
54+
add_sycl_to_target(TARGET blas_level1_ct SOURCES $<$<BOOL:${CBLAS_FOUND}>:${L1_SOURCES_W_CBLAS}> ${L1_SOURCES})
5355
else()
5456
target_link_libraries(blas_level1_ct PUBLIC ONEMKL::SYCL::SYCL)
5557
endif()

tests/unit_tests/blas/level2/CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,40 @@
1818
#===============================================================================
1919

2020
# Build object from all test sources
21-
set(L2_SOURCES "hpr2.cpp" "hpmv.cpp" "her.cpp" "her2.cpp" "hemv.cpp" "hbmv.cpp" "geru.cpp" "ger.cpp" "gerc.cpp" "gemv.cpp" "gbmv.cpp" "trsv.cpp" "trmv.cpp" "tpsv.cpp" "tpmv.cpp" "tbsv.cpp" "tbmv.cpp" "syr.cpp" "syr2.cpp" "symv.cpp" "spr.cpp" "spr2.cpp" "spmv.cpp" "sbmv.cpp" "hpr.cpp" "hpr2_usm.cpp" "hpmv_usm.cpp" "her_usm.cpp" "her2_usm.cpp" "hemv_usm.cpp" "hbmv_usm.cpp" "geru_usm.cpp" "ger_usm.cpp" "gerc_usm.cpp" "gemv_usm.cpp" "gbmv_usm.cpp" "trsv_usm.cpp" "trmv_usm.cpp" "tpsv_usm.cpp" "tpmv_usm.cpp" "tbsv_usm.cpp" "tbmv_usm.cpp" "syr_usm.cpp" "syr2_usm.cpp" "symv_usm.cpp" "spr_usm.cpp" "spr2_usm.cpp" "spmv_usm.cpp" "sbmv_usm.cpp" "hpr_usm.cpp")
21+
set(L2_SOURCES_W_CBLAS "hpr2.cpp" "hpmv.cpp" "her.cpp" "her2.cpp" "hemv.cpp" "hbmv.cpp" "geru.cpp" "ger.cpp" "gerc.cpp" "gemv.cpp" "gbmv.cpp" "trsv.cpp" "trmv.cpp" "tpsv.cpp" "tpmv.cpp" "tbsv.cpp" "tbmv.cpp" "syr.cpp" "syr2.cpp" "symv.cpp" "spr.cpp" "spr2.cpp" "spmv.cpp" "sbmv.cpp" "hpr.cpp" "hpr2_usm.cpp" "hpmv_usm.cpp" "her_usm.cpp" "her2_usm.cpp" "hemv_usm.cpp" "hbmv_usm.cpp" "geru_usm.cpp" "ger_usm.cpp" "gerc_usm.cpp" "gemv_usm.cpp" "gbmv_usm.cpp" "trsv_usm.cpp" "trmv_usm.cpp" "tpsv_usm.cpp" "tpmv_usm.cpp" "tbsv_usm.cpp" "tbmv_usm.cpp" "syr_usm.cpp" "syr2_usm.cpp" "symv_usm.cpp" "spr_usm.cpp" "spr2_usm.cpp" "spmv_usm.cpp" "sbmv_usm.cpp" "hpr_usm.cpp")
22+
# TODO: add list of tests without Netlib dependency
23+
set(L2_SOURCES)
2224

2325
if(BUILD_SHARED_LIBS)
24-
add_library(blas_level2_rt OBJECT ${L2_SOURCES})
26+
add_library(blas_level2_rt OBJECT $<$<BOOL:${CBLAS_FOUND}>:${L2_SOURCES_W_CBLAS}> ${L2_SOURCES})
2527
target_compile_options(blas_level2_rt PRIVATE -DCALL_RT_API -DNOMINMAX)
2628
target_include_directories(blas_level2_rt
2729
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
2830
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
2931
PUBLIC ${PROJECT_SOURCE_DIR}/include
3032
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
3133
PUBLIC ${CMAKE_BINARY_DIR}/bin
32-
PUBLIC ${CBLAS_INCLUDE}
34+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
3335
)
3436
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
35-
add_sycl_to_target(TARGET blas_level2_rt SOURCES ${L2_SOURCES})
37+
add_sycl_to_target(TARGET blas_level2_rt SOURCES $<$<BOOL:${CBLAS_FOUND}>:${L2_SOURCES_W_CBLAS}> ${L2_SOURCES})
3638
else()
3739
target_link_libraries(blas_level2_rt PUBLIC ONEMKL::SYCL::SYCL)
3840
endif()
3941
endif()
4042

41-
add_library(blas_level2_ct OBJECT ${L2_SOURCES})
43+
add_library(blas_level2_ct OBJECT $<$<BOOL:${CBLAS_FOUND}>:${L2_SOURCES_W_CBLAS}> ${L2_SOURCES})
4244
target_compile_options(blas_level2_ct PRIVATE -DNOMINMAX)
4345
target_include_directories(blas_level2_ct
4446
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
4547
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
4648
PUBLIC ${PROJECT_SOURCE_DIR}/include
4749
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
4850
PUBLIC ${CMAKE_BINARY_DIR}/bin
49-
PUBLIC ${CBLAS_INCLUDE}
51+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
5052
)
5153
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
52-
add_sycl_to_target(TARGET blas_level2_ct SOURCES ${L2_SOURCES})
54+
add_sycl_to_target(TARGET blas_level2_ct SOURCES $<$<BOOL:${CBLAS_FOUND}>:${L2_SOURCES_W_CBLAS}> ${L2_SOURCES})
5355
else()
5456
target_link_libraries(blas_level2_ct PUBLIC ONEMKL::SYCL::SYCL)
5557
endif()

tests/unit_tests/blas/level3/CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,40 @@
1818
#===============================================================================
1919

2020
# Build object from all test sources
21-
set(L3_SOURCES "gemm.cpp" "symm.cpp" "syrk.cpp" "hemm.cpp" "herk.cpp" "syr2k.cpp" "her2k.cpp" "trmm.cpp" "trsm.cpp" "gemm_usm.cpp" "symm_usm.cpp" "syrk_usm.cpp" "hemm_usm.cpp" "herk_usm.cpp" "syr2k_usm.cpp" "her2k_usm.cpp" "trmm_usm.cpp" "trsm_usm.cpp")
21+
set(L3_SOURCES_W_CBLAS "gemm.cpp" "symm.cpp" "syrk.cpp" "hemm.cpp" "herk.cpp" "syr2k.cpp" "her2k.cpp" "trmm.cpp" "trsm.cpp" "gemm_usm.cpp" "symm_usm.cpp" "syrk_usm.cpp" "hemm_usm.cpp" "herk_usm.cpp" "syr2k_usm.cpp" "her2k_usm.cpp" "trmm_usm.cpp" "trsm_usm.cpp")
22+
# TODO: add list of tests without Netlib dependency
23+
set(L3_SOURCES)
2224

2325
if(BUILD_SHARED_LIBS)
24-
add_library(blas_level3_rt OBJECT ${L3_SOURCES})
26+
add_library(blas_level3_rt OBJECT $<$<BOOL:${CBLAS_FOUND}>:${L3_SOURCES_W_CBLAS}> ${L3_SOURCES})
2527
target_compile_options(blas_level3_rt PRIVATE -DCALL_RT_API -DNOMINMAX)
2628
target_include_directories(blas_level3_rt
2729
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
2830
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
2931
PUBLIC ${PROJECT_SOURCE_DIR}/include
3032
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
3133
PUBLIC ${CMAKE_BINARY_DIR}/bin
32-
PUBLIC ${CBLAS_INCLUDE}
34+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
3335
)
3436
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
35-
add_sycl_to_target(TARGET blas_level3_rt SOURCES ${L3_SOURCES})
37+
add_sycl_to_target(TARGET blas_level3_rt SOURCES $<$<BOOL:${CBLAS_FOUND}>:${L3_SOURCES_W_CBLAS}> ${L3_SOURCES})
3638
else()
3739
target_link_libraries(blas_level3_rt PUBLIC ONEMKL::SYCL::SYCL)
3840
endif()
3941
endif()
4042

41-
add_library(blas_level3_ct OBJECT ${L3_SOURCES})
43+
add_library(blas_level3_ct OBJECT $<$<BOOL:${CBLAS_FOUND}>:${L3_SOURCES_W_CBLAS}> ${L3_SOURCES})
4244
target_compile_options(blas_level3_ct PRIVATE -DNOMINMAX)
4345
target_include_directories(blas_level3_ct
4446
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
4547
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
4648
PUBLIC ${PROJECT_SOURCE_DIR}/include
4749
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
4850
PUBLIC ${CMAKE_BINARY_DIR}/bin
49-
PUBLIC ${CBLAS_INCLUDE}
51+
$<$<BOOL:${CBLAS_FOUND}>:${CBLAS_INCLUDE}>
5052
)
5153
if (USE_ADD_SYCL_TO_TARGET_INTEGRATION)
52-
add_sycl_to_target(TARGET blas_level3_ct SOURCES ${L3_SOURCES})
54+
add_sycl_to_target(TARGET blas_level3_ct SOURCES $<$<BOOL:${CBLAS_FOUND}>:${L3_SOURCES_W_CBLAS}> ${L3_SOURCES})
5355
else()
5456
target_link_libraries(blas_level3_ct PUBLIC ONEMKL::SYCL::SYCL)
5557
endif()

tests/unit_tests/lapack/source/CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#===============================================================================
1919

2020
#Build object from all test sources
21-
set(LAPACK_SOURCES
21+
set(LAPACK_SOURCES_W_LAPACKE
2222
"gebrd.cpp"
2323
"geqrf.cpp"
2424
"geqrf_batch_group.cpp"
@@ -67,29 +67,31 @@ set(LAPACK_SOURCES
6767
"unmrq.cpp"
6868
"unmtr.cpp"
6969
)
70+
# TODO: add list of tests without Netlib dependency
71+
set(LAPACK_SOURCES)
7072

7173
if(BUILD_SHARED_LIBS)
72-
add_library(lapack_source_rt OBJECT ${LAPACK_SOURCES})
74+
add_library(lapack_source_rt OBJECT $<$<BOOL:${LAPACKE_FOUND}>:${LAPACK_SOURCES_W_LAPACKE}> ${LAPACK_SOURCES})
7375
target_compile_options(lapack_source_rt PRIVATE -DCALL_RT_API -DNOMINMAX)
7476
target_include_directories(lapack_source_rt
7577
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
7678
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
7779
PUBLIC ${PROJECT_SOURCE_DIR}/include
7880
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
7981
PUBLIC ${CMAKE_BINARY_DIR}/bin
80-
PUBLIC ${LAPACKE_INCLUDE}
82+
$<$<BOOL:${LAPACKE_FOUND}>:${LAPACKE_INCLUDE}>
8183
)
8284
target_link_libraries(lapack_source_rt PUBLIC ONEMKL::SYCL::SYCL)
8385
endif()
8486

85-
add_library(lapack_source_ct OBJECT ${LAPACK_SOURCES})
87+
add_library(lapack_source_ct OBJECT $<$<BOOL:${LAPACKE_FOUND}>:${LAPACK_SOURCES_W_LAPACKE}> ${LAPACK_SOURCES})
8688
target_compile_options(lapack_source_ct PRIVATE -DNOMINMAX)
8789
target_include_directories(lapack_source_ct
8890
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include
8991
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include
9092
PUBLIC ${PROJECT_SOURCE_DIR}/include
9193
PUBLIC ${PROJECT_SOURCE_DIR}/deps/googletest/include
9294
PUBLIC ${CMAKE_BINARY_DIR}/bin
93-
PUBLIC ${LAPACKE_INCLUDE}
95+
$<$<BOOL:${LAPACKE_FOUND}>:${LAPACKE_INCLUDE}>
9496
)
9597
target_link_libraries(lapack_source_ct PUBLIC ONEMKL::SYCL::SYCL)

0 commit comments

Comments
 (0)