Since commit v3.3.0-rc1~62^2~5 (cmTarget: Store only cmListFileContext
for CMP0023 handling, 2015-05-18) a call to target_link_libraries on a
target that was defined in another (non-ancestor) directory crashes
because no execution context is left active. Fix this by getting the
execution context from the actual cmMakefile where the current
target_link_libraries call takes place. Test this by verifying that
such calls correctly produce an error diagnostic instead of crashing.
In commit v3.3.0-rc1~49^2~2 (cmake-gui: Add --install option to add
command-line tools on OS X, 2015-05-19) the option default was set to
/usr/bin because that is where the old command line install dialog
placed the symlinks. A better default is /usr/local/bin because it is
meant for locally installed software rather than Apple-installed tools.
Also, as of OS X El Capitan, special privileges are required even for
root to modify /usr/bin but not /usr/local/bin.
The fix in commit v3.2.3~3^2 (Fix assertion failure on unmatched foreach
in function, 2015-05-18) broke handling of unmatched non-loop blocks
because it assumed all function blockers removed during error unwinding
were for loops, essentially switching the set of mishandled cases.
The purpose of the loop block push/pop operations is to define a scope
matching the lifetime of the loop function blockers. Since our function
blockers already have the proper lifetime, simply move the push/pop
operations to their constructor/destructor.
Extend the RunCMake.Syntax test with a case covering this.
The most likely documentation page a project author will read in
response to a policy warning is the page for the policy itself.
Add to every policy documentation page a note explicitly stating
that the OLD behavior is deprecated. Also mention this in the
cmake_policy() command documentation that explains how to set a
policy to OLD.
Suggested-by: Fraser Hutchison <fraser.hutchison@gmail.com>
In ctest -S mode we load the CTestScriptMode module to give the
configuration scripts access to the host system information.
CYGWIN.cmake warns unless we explicitly tell it not to warn
since there is no chance for a cmake_minimum_required(VERSION)
to be called.
Revert commit v3.3.0-rc1~435^2 (Windows-GNU: Do not tell find_library to
treat '.dll' as linkable, 2015-02-18). MinGW tools support linking to
'.dll' files directly and many non-CMake build systems still do not
provide a separate '.dll.a' file.
In commit v3.3.0-rc1~132^2 (FindwxWidgets: Search for wx-config-3.0 in
addition to wx-config, 2015-04-29) we added a second (versioned) name to
the find_program call. Specifying multiple names requires use of the
NAMES option. Add it now. While at it, also add versioned names for
2.9 and 2.8.
When documenting in the COMMAND option how to reference an executable,
we previously only explicitly covered how to do it for argv[0] and left
it to the reader to follow the reference to the generator expressions
manual. Add explicit mention of the TARGET_FILE genex in this
documentation since it will be a commonly used generator expression in
this context.
Check for this flag explicitly in the --help output before using it. It
turns out there are some versions of the tool that support --version but
not --ignore-missing-info.
Add section headers similar to the 3.2 release notes and move each
individual bullet into an appropriate section. Revise and consolidate
some bullets covering related areas.
Move all development release notes into a new version-specific document:
tail -q -n +3 Help/release/dev/* > Help/release/3.3.rst
git rm -- Help/release/dev/*
except the sample topic:
git checkout HEAD -- Help/release/dev/0-sample-topic.rst
Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
d4fd30d8 FindPostgreSQL: Search some more common packaging locations
8bd95059 FindPostgreSQL: Add help text for PostgreSQL_LIBRARY cache entry
a68e9b7c FindPostgreSQL: Document PostgreSQL_LIBRARY_DIRS result variable
cc3aee04 FindPostgreSQL: Search for versions 9.2, 9.3, and 9.4
6a2851a1 FindPostgreSQL: Remove extra whitespace after command open parens
b7ca6f90 FindPostgreSQL: Remove unused lines
Use PATH_SUFFIXES to search more common packaging locations.
On Windows, we can use suffixes to search in the standard Program Files
locations without hard-coding the C:/ path.
On Ubuntu/Debian, starting with PostgreSQL 9.3 the header file pg_type.h
is moved to a separate package (from libpq-dev to postgresql-server-dev)
and consequently the file pg_type.h is moved to a new location:
/usr/include/postgresql/<version>/server/catalog/pg_type.h
While at it, use separate PATH_SUFFIXES variables for library, type and
include (this is merely an optimization).