aboutsummaryrefslogtreecommitdiff
path: root/scripts/cmake/vcpkg_prettify_command.cmake
blob: 25ad95eecb180e80f37cad067fa3eb70daaf6b3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#[===[.md:
# vcpkg_prettify_command

Turns list of command arguments into a formatted string.

## Usage
```cmake
vcpkg_prettify_command(<INPUT_VAR> <OUTPUT_VAR>)
```

## Examples

* `scripts/cmake/vcpkg_execute_build_process.cmake`
* `scripts/cmake/vcpkg_execute_required_process.cmake`
* `scripts/cmake/vcpkg_execute_required_process_repeat.cmake`
#]===]

macro(vcpkg_prettify_command INPUT_VAR OUTPUT_VAR)
    set(${OUTPUT_VAR} "")
    foreach(v ${${INPUT_VAR}})
        if(v MATCHES "( )")
            list(APPEND ${OUTPUT_VAR} "\"${v}\"")
        else()
            list(APPEND ${OUTPUT_VAR} "${v}")
        endif()
    endforeach()
    list(JOIN ${OUTPUT_VAR} " " ${OUTPUT_VAR})
endmacro()