A search-and-replace in commit 8d32d229 (make commands lower case by
default, 2007-10-10) accidentally changed the variable reference
CMAKE_INCLUDE_DIRECTORIES_BEFORE to CMAKE_include_directories_BEFORE.
Change it back.
The curses dialog (ccmake) allows variables to be specified on the
command line. If any of these variables is used during any configure
iteration or during generate we must not warn about it.
The Qt dialog (cmake-gui) allows variables to be added and removed in
the GUI interactively. If a variable is added, removed, and then added
again we must still warn if it is unused.
Set target property RUNTIME_OUTPUT_DIRECTORY explicitly on ProcessFwd9x
and EncodeExecutable so that we know exactly where the executables will
exist on disk.
At some point in the past VS 2010 failed some tests with custom commands when
relative paths were not used. It seems that those problems have been fixed.
However, the relative paths apparently are appended to the current working
directoy before vs accesses the file. So, with a long path, relative paths
cause it to create a combined path that is too long.
86cb17b Pass include directories with response files to GNU on Windows
9a0b9bc Optionally pass include directories with response files
6e8a67f Generate target-wide flags before individual build rules
d099546 Factor old-style -D flags out from -I flag generation
Some samples of things that got unnoticed by our nightly builds:
$ JAVA_HOME= mvn
Warning: JAVA_HOME environment variable is not set.
...
$ mvn
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
...
Create platform option CMAKE_<lang>_USE_RESPONSE_FILE_FOR_INCLUDES to
enable use of response files for passing the list of include directories
to compiler command lines.
This switches the internal generation order but does not affect the
results. The new order ensures that any internal state changed by
generating target-wide flags is known when the individual rules that use
those flags are generated.
Move the GetDefineFlags call from cmLocalGenerator::GetIncludeFlags to
all call sites so that the method exclusively constructs a string of
include search path flags.
Avoid GCC warning
warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
added by commit c6a8e4c7 (The link interface of MODULE libraries is
empty, 2011-03-09).