浏览代码

FindPackageMessage: Eliminate new lines using REGEX REPLACE

Re-fix problem exposed by recent commit to FindPythonInterp.
If the find "details" has new lines in it, then replace them
with the empty string so that the string may be saved as a
cache entry that can be re-read next time CMake runs.

Use REGEX REPLACE, and replace with an empty string, eliminating
the problem characters, so that we may easily extend this to
include additional problem characters in the future if necessary.
David Cole 14 年之前
父节点
当前提交
cd81da30f7
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Modules/FindPackageMessage.cmake

+ 1 - 1
Modules/FindPackageMessage.cmake

@@ -34,7 +34,7 @@
 FUNCTION(FIND_PACKAGE_MESSAGE pkg msg details)
   # Avoid printing a message repeatedly for the same find result.
   IF(NOT ${pkg}_FIND_QUIETLY)
-    STRING(REPLACE "\n" "\\n" details "${details}")
+    STRING(REGEX REPLACE "[\n]" "" details "${details}")
     SET(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
     IF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
       # The message has not yet been printed.