]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | function(yasm_tool_helper)\r |
2 | cmake_parse_arguments(PARSE_ARGV 0 a\r | |
3 | "APPEND_TO_PATH;PREPEND_TO_PATH"\r | |
4 | "OUT_VAR"\r | |
5 | ""\r | |
6 | )\r | |
7 | \r | |
8 | if(CMAKE_HOST_WIN32)\r | |
9 | if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP)\r | |
10 | # Native compilation\r | |
11 | set(YASM "${CURRENT_INSTALLED_DIR}/tools/yasm-tool/yasm.exe")\r | |
12 | else()\r | |
13 | # Cross compilation\r | |
14 | get_filename_component(YASM "${CURRENT_INSTALLED_DIR}/../x86-windows/tools/yasm-tool/yasm.exe" ABSOLUTE)\r | |
15 | if(NOT EXISTS "${YASM}")\r | |
16 | message(FATAL_ERROR "Cross-targetting and x64 ports requiring yasm require the x86-windows yasm-tool to be available. Please install yasm-tool:x86-windows first.")\r | |
17 | endif()\r | |
18 | endif()\r | |
19 | else()\r | |
20 | vcpkg_find_acquire_program(YASM)\r | |
21 | endif()\r | |
22 | \r | |
23 | if(a_APPEND_TO_PATH)\r | |
24 | get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)\r | |
25 | vcpkg_add_to_path("${YASM_EXE_PATH}")\r | |
26 | endif()\r | |
27 | if(a_PREPEND_TO_PATH)\r | |
28 | get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)\r | |
29 | vcpkg_add_to_path(PREPEND "${YASM_EXE_PATH}")\r | |
30 | endif()\r | |
31 | if(a_OUT_VAR)\r | |
32 | set(${a_OUT_VAR} "${YASM}" PARENT_SCOPE)\r | |
33 | endif()\r | |
34 | endfunction()\r |