Not compatible with Doxygen 1.8.15
What happened:
CMake-GUI:
CMake Error at build/CMakeDoxygenDefaults.cmake:474 (set):
Syntax error in cmake code at
D:/GitHub/rrCnCxx/build/CMakeDoxygenDefaults.cmake:474
when parsing string
\makeindex
Invalid character escape '\m'.
Call Stack (most recent call first):
D:/Program Files/CMake/share/cmake-3.13/Modules/FindDoxygen.cmake:961 (include)
CMake/Modules/rrCMake/AddDoxygen.cmake:147 (doxygen_add_docs)
rrCXX/CMakeLists.txt:12 (add_doxygen)
Configuring incomplete, errors occurred!
CMakeDoxygenDefaults.cmake:
... | ......
473 | if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
474 | set(DOXYGEN_LATEX_MAKEINDEX_CMD \makeindex)
475 | endif()
... ......
FindDoxygen.cmake:
... | ......
664 | set(_Doxygen_tpl "${CMAKE_BINARY_DIR}/CMakeDoxyfile.tpl")
665 | execute_process(
666 | COMMAND "${DOXYGEN_EXECUTABLE}" -s -g "${_Doxygen_tpl}"
667 | OUTPUT_QUIET
668 | RESULT_VARIABLE _Doxygen_tpl_result
669 | )
... | ......
705 | file(STRINGS "${_Doxygen_tpl}" _file_lines)
706 | unset(_Doxygen_tpl_params)
707 | foreach(_line IN LISTS _file_lines)
708 | if(_line MATCHES "([A-Z][A-Z0-9_]+)( *=)(.*)")
709 | set(_key "${CMAKE_MATCH_1}")
710 | set(_eql "${CMAKE_MATCH_2}")
711 | string(REPLACE ";" "\\\n" _value "${CMAKE_MATCH_3}")
712 | list(APPEND _Doxygen_tpl_params "${_key}${_eql}${_value}")
713 | endif()
714 | endforeach()
... | ......
My temporary solution:
FindDoxygen.cmake:
... | ......
705 | file(STRINGS "${_Doxygen_tpl}" _file_lines)
706 | unset(_Doxygen_tpl_params)
707 | foreach(_line IN LISTS _file_lines)
708 | if(_line MATCHES "([A-Z][A-Z0-9_]+)( *=)(.*)")
709 | set(_key "${CMAKE_MATCH_1}")
710 | set(_eql "${CMAKE_MATCH_2}")
711 | # string(REPLACE ";" "\\\n" _value "${CMAKE_MATCH_3}")
712 | # list(APPEND _Doxygen_tpl_params "${_key}${_eql}${_value}")
713 | string(REPLACE "\\" "\\\\" _value1 "${CMAKE_MATCH_3}")
714 | string(REPLACE ";" "\\\n" _value2 "${_value1}")
715 | list(APPEND _Doxygen_tpl_params "${_key}${_eql}${_value2}")
716 | endif()
717 | endforeach()
... | ......