]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | #[===[.md:\r |
2 | # z_vcpkg_prettify_command_line\r | |
3 | \r | |
4 | **Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.**\r | |
5 | Turn a command line into a formatted string.\r | |
6 | \r | |
7 | ```cmake\r | |
8 | z_vcpkg_prettify_command_line(<out-var> <argument>...)\r | |
9 | ```\r | |
10 | \r | |
11 | This command is for internal use, when printing out to a message.\r | |
12 | \r | |
13 | ## Examples\r | |
14 | \r | |
15 | * `scripts/cmake/vcpkg_execute_build_process.cmake`\r | |
16 | * `scripts/cmake/vcpkg_execute_required_process.cmake`\r | |
17 | * `scripts/cmake/vcpkg_execute_required_process_repeat.cmake`\r | |
18 | #]===]\r | |
19 | \r | |
20 | function(z_vcpkg_prettify_command_line out_var)\r | |
21 | set(output_list "")\r | |
22 | z_vcpkg_function_arguments(args 1)\r | |
23 | foreach(v IN LISTS args)\r | |
24 | string(REPLACE [[\]] [[\\]] v "${v}")\r | |
25 | if(v MATCHES "( )")\r | |
26 | string(REPLACE [["]] [[\"]] v "${v}")\r | |
27 | list(APPEND output_list "\"${v}\"")\r | |
28 | else()\r | |
29 | list(APPEND output_list "${v}")\r | |
30 | endif()\r | |
31 | endforeach()\r | |
32 | list(JOIN output_list " " output)\r | |
33 | set("${out_var}" "${output}" PARENT_SCOPE)\r | |
34 | endfunction()\r |