Browse Source

Merge topic 'fix-bison-flex-command-escaping'

fd73bb60 Help: Add notes for topic 'fix-bison-flex-command-escaping'
f56a0ddd FindBISON: Fix BISON_TARGET macro for special characters in path (#16072)
3d13492e FindFLEX: Fix FLEX_TARGET macro for special characters in path (#16072)
Brad King 9 years ago
parent
commit
eadc6db82e

+ 12 - 0
Help/release/dev/fix-bison-flex-command-escaping.rst

@@ -0,0 +1,12 @@
+fix-bison-flex-command-escaping
+-------------------------------
+
+* The :module:`FindBISON` module ``BISON_TARGET`` macro now supports
+  special characters by passing the ``VERBATIM`` option to internal
+  :command:`add_custom_command` calls.  This may break clients that
+  added escaping manually to work around the bug.
+
+* The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports
+  special characters by passing the ``VERBATIM`` option to internal
+  :command:`add_custom_command` calls.  This may break clients that
+  added escaping manually to work around the bug.

+ 4 - 4
Modules/FindBISON.cmake

@@ -125,10 +125,10 @@ if(BISON_EXECUTABLE)
     get_filename_component(BISON_TARGET_output_path "${BisonOutput}" PATH)
     get_filename_component(BISON_TARGET_output_name "${BisonOutput}" NAME_WE)
     add_custom_command(OUTPUT ${filename}
-      COMMAND ${CMAKE_COMMAND}
-      ARGS -E copy
+      COMMAND ${CMAKE_COMMAND} -E copy
       "${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output"
       "${filename}"
+      VERBATIM
       DEPENDS
       "${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output"
       COMMENT "[BISON][${Name}] Copying bison verbose table to ${filename}"
@@ -201,8 +201,8 @@ if(BISON_EXECUTABLE)
 
       add_custom_command(OUTPUT ${BISON_TARGET_outputs}
         ${BISON_TARGET_extraoutputs}
-        COMMAND ${BISON_EXECUTABLE}
-        ARGS ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${BisonInput}
+        COMMAND ${BISON_EXECUTABLE} ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${BisonInput}
+        VERBATIM
         DEPENDS ${BisonInput}
         COMMENT "[BISON][${Name}] Building parser with bison ${BISON_VERSION}"
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

+ 2 - 2
Modules/FindFLEX.cmake

@@ -185,8 +185,8 @@ if(FLEX_EXECUTABLE)
       endif()
 
       add_custom_command(OUTPUT ${FLEX_TARGET_outputs}
-        COMMAND ${FLEX_EXECUTABLE}
-        ARGS ${FLEX_EXECUTABLE_opts} -o${Output} ${Input}
+        COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXECUTABLE_opts} -o${Output} ${Input}
+        VERBATIM
         DEPENDS ${Input}
         COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}"
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})