Fix indentation in the code blocks generator.
Port remaining code to GetCompileDefinitions().
Add include guard for cmGeneratorExpression.
Don't prepend a path before generator expressions in include_directories.
Convert paths in INCLUDE_DIRECTORIES property to Unix slashes.

Duplicate some of the logic from the include_directories command.
Add an AppendDefines std::string overload.

This makes it easier to use with cmGeneratorTarget::GetCompileDefinitions.
Return a std::string from GetCompileDefinitions.
Refactor GetCompileDefinitions a bit.

It is now easier to add generator expressions.
ctest_update: Tell svn not to prompt interactively (#13024)

While at it, add SVNOptions/CTEST_SVN_OPTIONS configuration settings to
add options to all svn invocations instead of just "svn update".
Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)

This enables changing the name and output folder of the debug symbol
files produced by MS compilers.

Inspired-by: Thomas Bernard <thomas.bernard@ipetronik.com>
Verify that PDB_(NAME|OUTPUT_DIRECTORY) are honored in test

Teach the PDBDirectoryAndName test to check that the .pdb files appear
where expected.
Document that PDB_(NAME|OUTPUT_DIRECTORY) are ignored for VS 6
Ninja: OBJECT_DEPENDS should set an implicit dependency

BUG 13559
find_library: Refactor internal name iteration

Teach cmFindLibraryHelper to support multiple possible names and iterate
over all of them in each CheckDirectory call.  For now we still only
ever configure one name.
find_library: Simplify framework search logic

In cmFindLibraryCommand::FindFrameworkLibrary drop use of the old
SystemTools::FindDirectory method.  Replace it with a direct
implementation of the only code path we used.
find_library: Generalize helper macro in test case

In Tests/CMakeOnly/find_library/CMakeLists.txt generalize the
test_find_library macro and move the lib64 substitution logic to a new
test_find_library_subst macro.
find_library: Optionally consider all names in each directory

When more than one value is given to the NAMES option this command by
default will consider one name at a time and search every directory for
it.  Add a NAMES_PER_DIR option to tell this command to consider one
directory at a time and search for all names in it.
FindBoost: Remove extra indentation level

A large portion of the file was still indented for historical reasons.
FindBoost: Mark Boost_DIR cache entry as advanced
FindMPI: Set correct variables for calls to FPHSA

Since FPHSA is called for multiple compiler languages with "MPI_${lang}"
rather than just "MPI", make sure variables for controlling QUIET,
REQUIRED and VERSION are propagated with names prefixed by MPI_${lang}
as well, rather than just MPI.

The find_package call sets up the values of MPI_FIND_REQUIRED and friends,
but these calls to FPHSA need MPI_${lang}_FIND_REQUIRED and friends in
order to function as intended.