CMake Nightly Date Stamp
OS X: Ask Xcode for compiler only if it is NOTFOUND

If the user explicitly sets CMAKE_<LANG>_COMPILER to an empty string
then honor it instead of asking Xcode for a compiler.
OS X: Enable command-line build without tools in PATH

Teach modules CMakeDetermineCompiler and CMakeUnixFindMake to ask Xcode
where to find the compiler or make tools, using 'xcrun --find', if none
is found in the PATH.  Teach module Platform/Darwin to add the path to
the SDK to CMAKE_SYSTEM_PREFIX_PATH so that find_* command look there.
Also add the SDK /usr/include directory to the implicit include list in
CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES to suppress explicit -I
options for it.
Merge topic 'osx-no-command-line-tools' into next

2a0241a OS X: Ask Xcode for compiler only if it is NOTFOUND
Merge topic 'osx-no-command-line-tools' into next

03ab170 OS X: Enable command-line build without tools in PATH
Merge branch 'master' into next
Merge topic 'ALIAS-targets'

370bf55 Add the ALIAS target concept for libraries and executables.
VS 6,7: Refactor local generators to avoid GetSourceFileWithOutput

Use the cmSourceFile returned by AddCustomCommandToOutput instead of
throwing out the return value and looking it up with
GetSourceFileWithOutput.
Merge topic 'vs-no-GetSourceFileWithOutput' into next

eccb39d VS 6,7: Refactor local generators to avoid GetSourceFileWithOutput
Merge topic 'dev/fix-variable-watch-crash' into next

e59d61d Remove variable_watch watches on destruction
8e93fee Check newValue for NULL
854e9ba Don't share memory for variable_watch callbacks
15da32a Allow specifying the data to match in RemoveWatch
8d3a6c0 Match client_data as well for finding duplicates
06d6fc4 Add test for watching a variable multiple times
Add test for watching a variable multiple times
Match client_data as well for finding duplicates

If a callback has the same data as another call, we don't want to delete
the old callback. This is because if the client_data is the same, it
might get deleted causing the new client_data to be bogus. Now, AddWatch
will return true if it will use the watch, false otherwise.
Allow specifying the data to match in RemoveWatch

Now that watches are dependent on their client_data when adding, it also
makes sense to allow matching the data for removal.
Don't share memory for variable_watch callbacks

Each callback is now a separate entity completely and doesn't rely on
the command which spawned it at all.
Check newValue for NULL

On read access, newValue can be NULL since there is no new value, so use
the empty string instead.
Remove variable_watch watches on destruction

This cleans out old watches. Now that watches are completely separate,
if we don't remove all of the old watches, the following happens:

    variable_watch(watched call1)
    variable_watch(watched call2)
    set(bar "${watched}")

(in ccmake):

    configure
    configure

makes the output:

    <configure>
    call1
    call2
    <configure>
    call1
    call2
    call1
    call2

since the old watches are still valid.
Merge WatchTwice into existing variable_watch test
Add RunCMake.Syntax test to cover argument parsing

Test basic unquoted and quoted argument parsing cases including failure
on an unterminated string and an unterminated command invocation.  Also
cover arguments not separated by any spaces, which is accidentally
allowed by the current parser.
cmListFileLexer: Fix line number after backslash in string

If a line inside a string ends in a backslash count the following
newline character as a line increment.  Add a test covering this case to
verify that subsequent line numbers are correct.
cmListFileLexer: Split normal and legacy unquoted arguments

Match legacy arguments separately.  Add macros to simplify and clarify
matching rules.