opencv
1if(NOT EMSCRIPTEN)
2if(WITH_WEBNN)
3ocv_check_environment_variables(WEBNN_HEADER_DIRS)
4ocv_check_environment_variables(WEBNN_INCLUDE_DIRS)
5ocv_check_environment_variables(WEBNN_LIBRARIES)
6if(NOT DEFINED WEBNN_HEADER_DIRS)
7set(WEBNN_HEADER_DIRS "$ENV{WEBNN_NATIVE_DIR}/gen/src/include")
8endif()
9if(NOT DEFINED WEBNN_INCLUDE_DIRS)
10set(WEBNN_INCLUDE_DIRS "$ENV{WEBNN_NATIVE_DIR}/../../src/include")
11endif()
12if(NOT DEFINED WEBNN_LIBRARIES)
13set(WEBNN_LIBRARIES "$ENV{WEBNN_NATIVE_DIR}/libwebnn_native.so;$ENV{WEBNN_NATIVE_DIR}/libwebnn_proc.so")
14endif()
15endif()
16try_compile(VALID_WEBNN
17"${OpenCV_BINARY_DIR}"
18SOURCES "${OpenCV_SOURCE_DIR}/cmake/checks/webnn.cpp"
19"$ENV{WEBNN_NATIVE_DIR}/gen/src/webnn/webnn_cpp.cpp"
20CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${WEBNN_INCLUDE_DIRS}\;${WEBNN_HEADER_DIRS}"
21"-DLINK_LIBRARIES:STRING=${WEBNN_LIBRARIES}"
22OUTPUT_VARIABLE TRY_OUT
23)
24else()
25try_compile(VALID_WEBNN
26"${OpenCV_BINARY_DIR}"
27SOURCES "${OpenCV_SOURCE_DIR}/cmake/checks/webnn.cpp"
28OUTPUT_VARIABLE TRY_OUT
29)
30endif()
31
32if(NOT VALID_WEBNN)
33if(NOT EMSCRIPTEN)
34message(WARNING "Can't use WebNN-native")
35return()
36else()
37message(WARNING "Can't use WebNN")
38return()
39endif()
40else()
41set(HAVE_WEBNN ON)
42message(STATUS "Set HAVE_WEBNN = ${HAVE_WEBNN}")
43endif()
44
45if(NOT EMSCRIPTEN)
46message(AUTHOR_WARNING "Use WebNN-native")
47else()
48message(AUTHOR_WARNING "Use WebNN")
49endif()