summaryrefslogtreecommitdiff
path: root/share/cmake-3.22/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
blob: 6797d0e2bc0d6700d22d9ffb1ac41ff9541fbd40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Disclaimer: Most native build tools have poor support for escaping
certain values.  CMake has work-arounds for many cases but some values
may just not be possible to pass correctly.  If a value does not seem
to be escaped correctly, do not attempt to work-around the problem by
adding escape sequences to the value.  Your work-around may break in a
future version of CMake that has improved escape support.  Instead
consider defining the macro in a (configured) header file.  Then
report the limitation.  Known limitations include::

  #          - broken almost everywhere
  ;          - broken in VS IDE 7.0 and Borland Makefiles
  ,          - broken in VS IDE
  %          - broken in some cases in NMake
  & |        - broken in some cases on MinGW
  ^ < > \"   - broken in most Make tools on Windows

CMake does not reject these values outright because they do work in
some cases.  Use with caution.