@@ -25,65 +25,67 @@ find_library(LIB_VULKAN_BACKEND vulkan_backend)
25
25
26
26
if (LIB_VULKAN_BACKEND)
27
27
28
- if (NOT EXECUTORCH_ROOT)
29
- set (EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /../../..)
30
- endif ()
28
+ if (NOT EXECUTORCH_ROOT)
29
+ set (EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /../../..)
30
+ endif ()
31
31
32
- if (NOT PYTHON_EXECUTABLE)
33
- set (PYTHON_EXECUTABLE python3)
34
- endif ()
32
+ if (NOT PYTHON_EXECUTABLE)
33
+ set (PYTHON_EXECUTABLE python3)
34
+ endif ()
35
+
36
+ # Include this file to access target_link_options_shared_lib This is required
37
+ # to provide access to target_link_options_shared_lib which allows libraries
38
+ # to be linked with the --whole-archive flag. This is required for libraries
39
+ # that perform dynamic registration via static initialization.
40
+ include (${EXECUTORCH_ROOT} /build /Utils.cmake)
35
41
36
- # Include this file to access target_link_options_shared_lib This is required to
37
- # provide access to target_link_options_shared_lib which allows libraries to be
38
- # linked with the --whole-archive flag. This is required for libraries that
39
- # perform dynamic registration via static initialization.
40
- include (${EXECUTORCH_ROOT} /build /Utils.cmake)
42
+ include (../cmake/ShaderLibrary.cmake)
41
43
42
- include (../cmake/ShaderLibrary.cmake)
44
+ # Third party include paths
43
45
44
- # Third party include paths
46
+ set (VULKAN_THIRD_PARTY_PATH ${CMAKE_CURRENT_SOURCE_DIR} /../third-party)
45
47
46
- set (VULKAN_THIRD_PARTY_PATH ${CMAKE_CURRENT_SOURCE_DIR} /../third-party)
48
+ set (GTEST_INCLUDE_PATH
49
+ ${EXECUTORCH_ROOT} /third-party/googletest/googletest/include set
50
+ (PYTORCH_PATH ${EXECUTORCH_ROOT} /third-party/pytorch)
51
+ )
52
+ set (VULKAN_HEADERS_PATH ${VULKAN_THIRD_PARTY_PATH} /Vulkan-Headers/include )
53
+ set (VOLK_PATH ${VULKAN_THIRD_PARTY_PATH} /volk)
54
+ set (VMA_PATH ${VULKAN_THIRD_PARTY_PATH} /VulkanMemoryAllocator)
47
55
48
- set (GTEST_INCLUDE_PATH
49
- ${EXECUTORCH_ROOT} /third-party/googletest/googletest/include set
50
- (PYTORCH_PATH ${EXECUTORCH_ROOT} /third-party/pytorch)
51
- )
52
- set (VULKAN_HEADERS_PATH ${VULKAN_THIRD_PARTY_PATH} /Vulkan-Headers/include )
53
- set (VOLK_PATH ${VULKAN_THIRD_PARTY_PATH} /volk)
54
- set (VMA_PATH ${VULKAN_THIRD_PARTY_PATH} /VulkanMemoryAllocator)
56
+ set (COMMON_INCLUDES ${EXECUTORCH_ROOT} /.. ${VULKAN_HEADERS_PATH} ${VOLK_PATH}
57
+ ${VMA_PATH} ${GTEST_INCLUDE_PATH} ${PYTORCH_PATH}
58
+ )
55
59
56
- set (COMMON_INCLUDES ${EXECUTORCH_ROOT} /.. ${VULKAN_HEADERS_PATH} ${VOLK_PATH}
57
- ${VMA_PATH} ${GTEST_INCLUDE_PATH} ${PYTORCH_PATH}
58
- )
60
+ # Test Utility files
59
61
60
- # Test Utility files
62
+ set (TEST_UTILS_HEADERS ${CMAKE_CURRENT_SOURCE_DIR} /utils)
63
+ file (GLOB TEST_UTILS_CPP ${CMAKE_CURRENT_SOURCE_DIR} /utils/*.cpp)
61
64
62
- set (TEST_UTILS_HEADERS ${CMAKE_CURRENT_SOURCE_DIR} /utils)
63
- file (GLOB TEST_UTILS_CPP ${CMAKE_CURRENT_SOURCE_DIR} /utils/*.cpp)
65
+ # Test shaders
64
66
65
- # Test shaders
67
+ set (TEST_SHADERS_PATH ${CMAKE_CURRENT_SOURCE_DIR} /glsl)
68
+ gen_vulkan_shader_lib_cpp(${TEST_SHADERS_PATH} )
69
+ vulkan_shader_lib(test_shaderlib ${generated_spv_cpp} )
66
70
67
- set (TEST_SHADERS_PATH ${CMAKE_CURRENT_SOURCE_DIR} /glsl)
68
- gen_vulkan_shader_lib_cpp(${TEST_SHADERS_PATH} )
69
- vulkan_shader_lib(test_shaderlib ${generated_spv_cpp} )
71
+ # API Test binary
70
72
71
- # API Test binary
73
+ set (COMPUTE_API_TEST_CPP
74
+ ${CMAKE_CURRENT_SOURCE_DIR} /vulkan_compute_api_test.cpp
75
+ )
72
76
73
- set (COMPUTE_API_TEST_CPP
74
- ${CMAKE_CURRENT_SOURCE_DIR} /vulkan_compute_api_test.cpp
75
- )
77
+ target_link_options_shared_lib(vulkan_backend)
76
78
77
- target_link_options_shared_lib(vulkan_backend)
79
+ add_executable (
80
+ vulkan_compute_api_test ${COMPUTE_API_TEST_CPP} ${TEST_UTILS_CPP}
81
+ )
82
+ target_include_directories (vulkan_compute_api_test PRIVATE ${COMMON_INCLUDES} )
83
+ target_link_libraries (
84
+ vulkan_compute_api_test PRIVATE GTest::gtest_main vulkan_backend executorch
85
+ test_shaderlib
86
+ )
87
+ target_compile_options (vulkan_compute_api_test PRIVATE ${VULKAN_CXX_FLAGS} )
78
88
79
- add_executable (
80
- vulkan_compute_api_test ${COMPUTE_API_TEST_CPP} ${TEST_UTILS_CPP}
81
- )
82
- target_include_directories (vulkan_compute_api_test PRIVATE ${COMMON_INCLUDES} )
83
- target_link_libraries (
84
- vulkan_compute_api_test PRIVATE GTest::gtest_main vulkan_backend executorch
85
- test_shaderlib
86
- )
87
- target_compile_options (vulkan_compute_api_test PRIVATE ${VULKAN_CXX_FLAGS} )
89
+ set_property (TARGET vulkan_compute_api_test PROPERTY CXX_STANDARD 17)
88
90
89
91
endif ()
0 commit comments