Help: Add 3.1 release note about '#' escaping in Makefiles (#15322)
The change in commit v3.1.0-rc1~174^2 (Makefile: Handle '#' in COMPILE_OPTIONS, 2014-08-12) was not compatible with code that tries to workaround the original bug. Unfortunately there is no good way to fix the bug in a compatible way. Add a release note to call attention to the change.
This commit is contained in:
parent
c118816d44
commit
8d70a91489
|
@ -353,6 +353,28 @@ Deprecated and Removed Features
|
||||||
|
|
||||||
CMake 3.1 again requires the quotes for this to work correctly.
|
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
|
* Callbacks established by the :command:`variable_watch` command will no
|
||||||
longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when
|
longer receive the ``ALLOWED_UNKNOWN_READ_ACCESS`` access type when
|
||||||
the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is
|
the undocumented ``CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS`` variable is
|
||||||
|
|
Loading…
Reference in New Issue