Commit Graph

20763 Commits

Author SHA1 Message Date
Stephen Kelly 7d736af60e Replace some 'if' with 'else if'
For consistency with the rest of the method.
2012-12-23 16:37:01 +01:00
Kitware Robot 00deb127be CMake Nightly Date Stamp 2012-12-23 00:01:21 -05:00
Brad King 81c0be4f00 Merge branch 'upstream-kwsys' into update-kwsys 2012-12-22 09:52:05 -05:00
KWSys Robot 567e7d9467 KWSys 2012-12-21 (8ce09af5)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 8ce09af5 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 933eb822..8ce09af5
Riku Voipio (1):
      8ce09af5 CPU: Add Aarch64 support

Change-Id: I4bd0a97abaa0f958e2679afe2d4ad4bcc37434a0
2012-12-22 09:52:01 -05:00
Stephen Kelly 310455cc18 Fix some warnings from -Wundef
Other warnings come from kwsys, so the flag can't be enabled.
2012-12-22 12:47:54 +01:00
Kitware Robot c95a13ecb9 CMake Nightly Date Stamp 2012-12-22 00:01:12 -05:00
Brad King 2ce327892f Merge branch 'upstream-kwiml' into update-KWIML 2012-12-21 08:32:56 -05:00
Riku Voipio 349165223d KWIML: Teach ABI.h about Aarch64
The __aarch64__ defines Aarch64, while __AARCH64EB__ defines bigendian
and __AARCH64EL__ little endian.  Only little endian tested, no big
endian toolchain exists yet.

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2012-12-21 08:27:29 -05:00
Kitware Robot 0d3b89ed76 CMake Nightly Date Stamp 2012-12-21 00:01:16 -05:00
Stephen Kelly 76ea420fb9 Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressions
The compiled generator expressions need to outlive the creating
type. For the same reason, store the input string in a std::string.
2012-12-20 12:17:37 +01:00
Kitware Robot e1d211abba CMake Nightly Date Stamp 2012-12-20 00:01:02 -05:00
Brad King 2c24ca9219 Remove references to KWSys Process Win9x support
The KWSys "EncodeExecutable" and "ProcessFwd9x" executables were dropped
from KWSys along with Win9x Process support.  Drop references from the
rest of the CMake build rules.
2012-12-19 09:07:41 -05:00
Brad King e33fa5b678 Merge branch 'upstream-kwsys' into update-kwsys 2012-12-19 08:09:36 -05:00
KWSys Robot a0f91f1daa KWSys 2012-12-19 (933eb822)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 933eb822 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 3b17de34..933eb822
Brad King (2):
      fea37696 Process: Remove support for Windows 98
      01e15c22 Remove KWSys Registry

Rolf Eike Beer (7):
      f376ec32 SystemInformation: fix typos
      bfee5174 SystemInformation: sum up all caches found in /proc/cpuinfo
      5690d711 SystemInformation: fix value extraction from /proc/cpuinfo
      36295981 SystemInformation: PA-RISC chips are from HP
      72e9d02e SystemInformation: try harder to find a useful processor name
      b39de34c SystemInformation: try harder to find the CPU family
      933eb822 SystemInformation: extract CPU stepping information from /proc/cpuinfo, too

Sean McBride (2):
      5e17bfde Process: Dereference NULL++ instead of NULL to force crash
      86a78cb7 SystemTools: Add check for empty strings to prevent integer underflow

Change-Id: Id7194f434fe67be81e6ee9e96d705010a1171a06
2012-12-19 08:08:36 -05:00
Kitware Robot 5ac16ea6e4 CMake Nightly Date Stamp 2012-12-19 00:01:09 -05:00
David Cole 12e10272b2 Merge topic 'doc-implicit-link-dirs'
017d90c Documentation: Clarify handling of implicit link directories
2012-12-18 13:55:48 -05:00
Casey Goodlett 324780697c CTest: Prevent creation of unbounded number of tests in ctest (#12904)
Note it is still possible for CTest to start more than the number of
processes specified by PARALLEL_LEVEL, but this prevents the number of
tests to start from being unbounded because of overflow.
2012-12-18 13:30:34 -05:00
Kitware Robot 8931dd6e74 CMake Nightly Date Stamp 2012-12-18 00:01:03 -05:00
Kitware Robot a3f63661e6 CMake Nightly Date Stamp 2012-12-17 00:01:05 -05:00
Kitware Robot d8dcd63910 CMake Nightly Date Stamp 2012-12-16 00:01:04 -05:00
Kitware Robot a076b256c4 CMake Nightly Date Stamp 2012-12-15 00:01:04 -05:00
Kitware Robot 34ecf7088b CMake Nightly Date Stamp 2012-12-14 00:01:02 -05:00
Kitware Robot f6a9a64f16 CMake Nightly Date Stamp 2012-12-13 00:01:03 -05:00
Kitware Robot daf17b13d5 CMake Nightly Date Stamp 2012-12-12 00:01:06 -05:00
Brad King cc676c3a08 OS X: Detect implicit linker framework search paths
Previously we hard-coded a list of implicit framework directories but
did not account for CMAKE_OSX_SYSROOT or for changes to the list across
OS X versions.  Instead we should automatically detect the framework
directories for the active toolchain.

The parent commit added the "-Wl,-v" option to ask "ld" to print its
implicit directories.  It displays a block such as:

 Framework search paths:
	/...

Parse this block to extract the list of framework directories.

Detection may fail on toolchains that do not list their framework
directories, such as older OS X linkers.  Always treat the paths

 <sdk>/Library/Frameworks
 <sdk>/System/Library/Frameworks
 <sdk>/Network/Library/Frameworks # Older OS X only
 /System/Library/Frameworks

as implicit.  Note that /System/Library/Frameworks should always be
considered implicit so that frameworks CMake finds there will not
override the SDK copies.
2012-12-11 15:15:52 -05:00
Brad King 2dd67c7ea0 OS X: Detect implicit link directories on modern toolchains
We detect the implicit link directories for the toolchain by adding a
flag to get verbose output from the compiler front-end while linking the
ABI detection binary.  Newer OS X toolchains based on Clang do not add
the implicit link directories with -L options to their internal
invocation of "ld".  Instead they use a linker that comes with the
toolchain and is already configured with the proper directories.

Add the "-Wl,-v" option to ask "ld" to print its implicit directories.
It displays them in a block such as:

 Library search paths:
	/...

Parse this block to extract the implicit link directories.

While at it, remove the checks introduced by commit efaf335b (Skip
implicit link information on Xcode, 2009-07-23) and commit 5195a664
(Skip implicit link info for multiple OS X archs, 2009-09-22).  Discard
the non-system link directories added by Xcode.  Discard all detected
implicit libraries in the multi-architecture case but keep the
directories.  The directories are still useful without the libraries
just to suppress addition of explicit -L options for them.
2012-12-11 15:15:51 -05:00
Brad King ba58d0c06f OS X: Link with all framework search paths, not just the last
Refactoring in commit 8d674e78 (Ninja: move -LIBPATH behind -link
option, 2012-09-26) accidentally added code that overwrites the
framework search path flags on each iteration instead of appending.
Change '=' to '+=' to fix it.  This affects Makefile and Ninja
generators.
2012-12-11 15:15:51 -05:00
Brad King 017d90c500 Documentation: Clarify handling of implicit link directories
Extend documentation for CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES to
explain how it is used by CMake and how it can be influenced by
environment variables.

Inspired-by: Alex Neundorf <neundorf@kde.org>
2012-12-11 14:00:23 -05:00
David Cole d0369a9888 Merge topic 'fix-13657-more-gcov47-output'
61ace1d CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)
2012-12-11 13:44:33 -05:00
David Cole bc9dcadf19 Merge topic 'xcode-framework-paths'
f0d9385 Makefile: Use modern link information for framework search paths
2bc22bd Xcode: Add frameworks search paths from link dependeny closure (#13397)
2012-12-11 13:44:25 -05:00
David Cole 7b20f893c2 Merge topic 'TheRealAutomocIncludeDirFix'
acc2240 Automoc: get include dirs without stripping implicit include dirs off
2012-12-11 13:44:17 -05:00
David Cole 28c6d32688 Merge topic 'skip-variable-re-expansion'
711b63f Add policy CMP0019 to skip include/link variable re-expansion
2012-12-11 13:44:08 -05:00
David Cole 3d0f1957d1 Merge topic 'ConfigHelperMinorCommentFix'
8039bd0 CONFIGURE_PACKAGE_CONFIG_FILE(): improve generated comments
2012-12-11 13:43:59 -05:00
David Cole b575eadcda Merge topic 'add-timestamp-subcommands'
12d87c0 CMake: Fix dashboard build errors and warnings
e28ce24 CMake: Fix dashboard test failure
354ecc1 CMake: Fix dashboard warnings
d842d90 CMake: Stylistic changes and documentation tweaks
711e2b3 CMake: Add TIMESTAMP subcommand to string and file commands
2012-12-11 13:43:50 -05:00
David Cole d73c4057ed Merge topic 'OpenBSD-patches'
f80ccac OpenBSD: Add paths for Qt3/Qt4
2012-12-11 13:43:36 -05:00
Kitware Robot ab2b1f44f8 CMake Nightly Date Stamp 2012-12-11 00:01:14 -05:00
David Cole 61ace1df26 CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)
And do not report them as errors.
2012-12-10 17:03:57 -05:00
Kitware Robot 7ecaa4047b CMake Nightly Date Stamp 2012-12-10 00:01:04 -05:00
Kitware Robot 140ed91dd2 CMake Nightly Date Stamp 2012-12-09 00:01:06 -05:00
Kitware Robot 0cbe7dd1e3 CMake Nightly Date Stamp 2012-12-08 00:01:06 -05:00
Brad King f0d938549e Makefile: Use modern link information for framework search paths
Use cmComputeLinkInformation::GetFrameworkPaths to get the list of
framework paths needed by the linker.  Drop the now unused framework
information from the old-style cmTarget link dependency analysis.
2012-12-07 15:29:21 -05:00
Alex Neundorf acc224005e Automoc: get include dirs without stripping implicit include dirs off
This should finally fix #13667 and #13762.
Instead of adding special handling to guess whether implicit include dirs
may have been removed, simply make it possible to query the include dirs
without removing the implicit ones.

Alex
2012-12-07 21:24:28 +01:00
Brad King 2bc22bdaac Xcode: Add frameworks search paths from link dependeny closure (#13397)
The Xcode generator produces FRAMEWORK_SEARCH_PATHS from:

(1) Include directories of the form /path/to/Foo.framework become
    -F/path/to so '#include <Foo/H>' can find H in the framework.

(2) Linked frameworks of the form /path/to/Foo.framework become
    -F/path/to -framework Foo so the linker can find the framework.

Originally commit 82bb6fae (add framework support to FIND_FILE,
2005-12-27) added these and used the (then current) old-style link
dependency analysis results to get the frameworks.  Later a second
setting was added by commit 2ed6191f (add initial xcode framework stuff,
2007-05-08) to transform -F/path/to linker options produced by the old
link line generation into entries appended to FRAMEWORK_SEARCH_PATHS.
Then commit 96fd5909 (Implement linking with paths to library files,
2008-01-22) updated the second setting to directly use the results of
full modern link dependency analysis, but forgot to remove the use of
old-style link results from the original setting location.

The two settings worked together for a while, with the second one
appending to the first.  Then commit f33a27ab (Generate native Xcode 3.0
and 3.1 projects, 2009-06-29) changed the internal representation format
produced by the first setting but did not update the second setting to
append to the new representation.  As a result, if the first setting
added any paths (usually via the old-style link analysis) then the
second setting containing the modern link analysis results would not be
applied at all.

Fix this by removing use of the old-style link analysis results.
Replace it using the modern link dependencies and remove the second
setting altogether.  Now all values for FRAMEWORK_SEARCH_PATHS are
collected in one place so no special append logic is needed.
2012-12-07 15:14:19 -05:00
Brad King 711b63f7e0 Add policy CMP0019 to skip include/link variable re-expansion
Historically CMake has always expanded ${} variable references in the
values given to include_directories(), link_directories(), and
link_libraries().  This has been unnecessary since general ${}
evaluation syntax was added to the language a LONG time ago, but has
remained for compatibility with VERY early CMake versions.

For a long time the re-expansion was a lightweight operation because it
was only processed once at the directory level and the fast-path of
cmMakefile::ExpandVariablesInString was usually taken because values did
not have any '$' in them.  Then commit d899eb71 (Call
ExpandVariablesInString for each target's INCLUDE_DIRECTORIES,
2012-02-22) made the operation a bit heavier because the expansion is
now needed on a per-target basis.  In the future we will support
generator expressions in INCLUDE_DIRECTORIES with $<> syntax, so the
fast-path in cmMakefile::ExpandVariablesInString will no longer be taken
and re-expansion will be very expensive.

Add policy CMP0019 to skip the re-expansion altogether in NEW behavior.
In OLD behavior perform the expansion but improve the fast-path
heuristic to match ${} but not $<>.  If the policy is not set then warn
if expansion actually does anything.  We expect this to be encountered
very rarely in practice.
2012-12-07 09:51:19 -05:00
Kitware Robot 2be87f8ff8 CMake Nightly Date Stamp 2012-12-07 00:01:10 -05:00
Alex Neundorf 8039bd0864 CONFIGURE_PACKAGE_CONFIG_FILE(): improve generated comments
CONFIGURE_PACKAGE_CONFIG_FILE() now additionally generates
"Any changes to this file will be overwritten by the next CMake run
The input file was FooConfig.cmake.in"
into the configured file.

Alex
2012-12-06 22:24:43 +01:00
David Cole 12d87c0425 CMake: Fix dashboard build errors and warnings
memset is not in std:: for VS6, and though quite silly, 0 is not a char
2012-12-06 07:20:12 -05:00
Kitware Robot 8521a9e9ca CMake Nightly Date Stamp 2012-12-06 00:01:05 -05:00
David Cole e28ce2483d CMake: Fix dashboard test failure
Eliminate the platform difference in calling stat. We call stat normally
in other places in the CMake code base just fine. Works everywhere we
work. Will hopefully also fix the Borland Continuous dashboard failure
that is occurring with respect to correctly measuring the modification
time of a freshly generated file.
2012-12-05 15:16:22 -05:00
David Cole 354ecc1e1f CMake: Fix dashboard warnings
...in the new file and string TIMESTAMP sub-commands
2012-12-05 13:19:09 -05:00