onnxruntime

Форк
0
/
arm64x.cmake 
36 строк · 1.4 Кб
1
set(arm64ReproDir "${CMAKE_CURRENT_SOURCE_DIR}/repros")
2

3
function(set_arm64_dependencies n)
4
	set(ARM64_LIBS)
5
	set(ARM64_OBJS)
6
	set(ARM64_DEF)
7
	set(REPRO_PATH "${arm64ReproDir}/${n}")
8
	if(NOT EXISTS "${REPRO_PATH}")
9
		set(REPRO_PATH "${arm64ReproDir}/${n}_temp")
10
	endif()
11
	file(GLOB ARM64_OBJS "${REPRO_PATH}/*.obj")
12
	file(GLOB ARM64_DEF "${REPRO_PATH}/*.def")
13
	file(GLOB ARM64_LIBS "${REPRO_PATH}/*.LIB")
14

15
	if(NOT "${ARM64_DEF}" STREQUAL "")
16
		set(ARM64_DEF "/defArm64Native:${ARM64_DEF}")
17
	endif()
18
	target_sources(${n} PRIVATE ${ARM64_OBJS})
19
	target_link_options(${n} PRIVATE /machine:arm64x "${ARM64_DEF}" "${ARM64_LIBS}")
20
endfunction()
21

22
if("${BUILD_AS_ARM64X}" STREQUAL "ARM64")
23
	foreach (n ${ARM64X_TARGETS})
24
		add_custom_target(mkdirs_${n} ALL COMMAND cmd /c (if exist \"${arm64ReproDir}/${n}_temp/\" rmdir /s /q \"${arm64ReproDir}/${n}_temp\") && mkdir \"${arm64ReproDir}/${n}_temp\" )
25
		add_dependencies(${n} mkdirs_${n})
26
		target_link_options(${n} PRIVATE "/LINKREPRO:${arm64ReproDir}/${n}_temp")
27
		add_custom_target(${n}_checkRepro ALL COMMAND cmd /c if exist \"${n}_temp/*.obj\" if exist \"${n}\" rmdir /s /q \"${n}\" 2>nul && if not exist \"${n}\" ren \"${n}_temp\" \"${n}\" WORKING_DIRECTORY ${arm64ReproDir})
28
		add_dependencies(${n}_checkRepro ${n})
29
	endforeach()
30

31

32
elseif("${BUILD_AS_ARM64X}" STREQUAL "ARM64EC")
33
	foreach (n ${ARM64X_TARGETS})
34
		set_arm64_dependencies(${n})
35
	endforeach()
36
endif()
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.