Browse Source

FindDoxygen: Escape backslashes in default values

Doxygen 1.8.15 added a new LATEX_MAKEINDEX_CMD config
item and it has a default value that contains a backslash on
some installations.

Fixes: #18738
Craig Scott 6 years ago
parent
commit
e81fd5d5ba
1 changed files with 3 additions and 1 deletions
  1. 3 1
      Modules/FindDoxygen.cmake

+ 3 - 1
Modules/FindDoxygen.cmake

@@ -708,7 +708,9 @@ if(TARGET Doxygen::doxygen)
         if(_line MATCHES "([A-Z][A-Z0-9_]+)( *=)(.*)")
             set(_key "${CMAKE_MATCH_1}")
             set(_eql "${CMAKE_MATCH_2}")
-            string(REPLACE ";" "\\\n" _value "${CMAKE_MATCH_3}")
+            set(_value "${CMAKE_MATCH_3}")
+            string(REPLACE "\\" "\\\\" _value "${_value}")
+            string(REPLACE ";" "\\\n" _value "${_value}")
             list(APPEND _Doxygen_tpl_params "${_key}${_eql}${_value}")
         endif()
     endforeach()