aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/scripts/cmake/z_vcpkg_escape_regex_control_characters.cmake
blob: b238f0088d5221d99c101e8aff105733ff436312 (plain)
1
2
3
4
5
6
7
8
function(z_vcpkg_escape_regex_control_characters out_var string)
    if(ARGC GREATER "2")
        message(FATAL_ERROR "z_vcpkg_escape_regex_control_characters passed extra arguments: ${ARGN}")
    endif()
    # uses | instead of [] to avoid confusion; additionally, CMake doesn't support `]` in a `[]`
    string(REGEX REPLACE [[\[|\]|\(|\)|\.|\+|\*|\^|\\|\$|\?|\|]] [[\\\0]] escaped_content "${string}")
    set("${out_var}" "${escaped_content}" PARENT_SCOPE)
endfunction()