Tests: Resolve TODO comment left in ObjectLibrary test

We now have a generic way to add -fPIC without explicitly modifying
CMAKE_C_FLAGS, so use it.
Tests: Fix broken dependency in ObjectLibrary test

The add_custom_command DEPENDS option needs a full path.
KWSys 2014-07-02 (c2a329ce)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ c2a329ce | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' c282e64f..c2a329ce
Chuck Atkins (3):
      e4bba930 Directory: Make sure the /* suffix uses correct slashes
      97817ce7 SystemTools: Refactor test file and directory locations
      8f991ab0 SystemTools: Use extended paths on Windows for > 256 length

Clinton Stimpson (1):
      c2a329ce Encoding: Fixes uses of stat() on Windows to work with unicode.

Change-Id: I8e3aa1ba66ce80900cb25a692287495b911dcbd0
Merge branch 'upstream-kwsys' into update-kwsys
FindSWIG: Add support for swig 3.0 application
CMakeExpandImportedTargets: Do not read property on non-target (#15008)

Avoid behavior that is disallowed by CMP0045.  Check whether a target
exists before trying to read its properties.
Merge branch 'CMakeExpandImportedTargets-CMP0045' into release
Tests: Build and test KWIML even when testing an external CMake

The CMake_TEST_EXTERNAL_CMAKE option added by commit 9608ef6f (Tests:
Optionally configure tests exclusively, 2014-03-03) is intended to allow
one to run the CMake test suite with a compiler that may not be
supported for hosting the build of CMake itself.  However, we currently
use the CMake test infrastructure to test KWIML everywhere that CMake
supports.  In order to continue testing KWIML even in places that CMake
itself does not build, include it even when testing an external CMake.
cmMakefile: Add a CreateSource method

The GetOrCreateSource searches the source file listing again, but some
callers know that it already didn't exist.
cmMakefile: Avoid excess source files

When there are no commands, a main_dependency is not required and when
there are also no dependencies, nothing is required.
cmMakefile: Defer dependency calculations
IsOff: Use the length for the string construction

No need to waste the calculation and force the string to call strlen
again.
SystemTools: Use a set in Is{On,Off}

Also check before calling toupper() umpteen million times.
CMake Nightly Date Stamp
add_library: Allow arbitrary non-linked sources in OBJECT libraries

Loosen this restriction on OBJECT libraries to allow source files of any
name to be generated by custom commands or listed for reference in IDE
projects so long as they would not affect linking of a normal library.
Update the rejection message to be more specific about the looser
restriction.

Extend the ObjectLibrary test to cover a ".cmake" file generated by a
custom command in an OBJECT library.
ctest_memcheck: Add support for ThreadSanitizer

This commit adds support for ThreadSanitizer to ctest.  ThreadSanitizer
is part of the clang compiler and also gcc 4.8 and later. You have to
compile the code with special flags. Then your code gets the the
ThreadSanitizer ability built into it. To pass options to the
ThreadSanitizer you use an environment variable. This commit teaches
ctest to parse the output from ThreadSanitizer and send it to CDash.
Help: Add notes for topic 'thread-sanitizer'
Merge topic 'update-kwsys'

5f525da0 Merge branch 'upstream-kwsys' into update-kwsys
3d127627 KWSys 2014-07-02 (c2a329ce)
Merge topic 'CMakeExpandImportedTargets-CMP0045'

49f32168 CMakeExpandImportedTargets: Do not read property on non-target (#15008)
Merge topic 'FindSWIG-swig3.0'

7400695e FindSWIG: Add support for swig 3.0 application