Merge topic 'doc-octothorpe-escaping'

8d70a914 Help: Add 3.1 release note about '#' escaping in Makefiles (#15322)
This commit is contained in:
Brad King 2014-12-23 08:54:01 -05:00 committed by CMake Topic Stage
commit cca8c3bb60
1 changed files with 22 additions and 0 deletions

View File

@ -353,6 +353,28 @@ Deprecated and Removed Features
CMake 3.1 again requires the quotes for this to work correctly.
* Prior to CMake 3.1 the Makefile generators did not escape ``#``
correctly inside make variable assignments used in generated
makefiles, causing them to be treated as comments. This made
code like::
add_compile_options(-Wno-#pragma-messages)
not work in Makefile generators, but work in other generators.
Now it is escaped correctly, making the behavior consistent
across generators. However, some projects may have tried to
workaround the original bug with code like::
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-\\#pragma-messages")
This added the needed escape for Makefile generators but also
caused other generators to pass ``-Wno-\#pragma-messages`` to
the shell, which would work only in POSIX shells.
Unfortunately the escaping fix could not be made in a compatible
way so this platform- and generator-specific workaround no
longer works. Project code may test the :variable:`CMAKE_VERSION`
variable value to make the workaround version-specific too.
* Callbacks established by the :command:`variable_watch` command will no
longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when
the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is